Thông báo

Collapse
No announcement yet.

dùng hàm gì để xuất con số ra LCD

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • dùng hàm gì để xuất con số ra LCD

    chả là em đang đo tốc độ động cơ.cái chữ vòng /phút hiện nên rồi mà con số không làm sao dc.các bác xem giúp em tí
    code
    #include <reg52.h>
    #include <stdio.h>
    #include <string.h>
    #include <math.h>

    sbit rs=P1^0;
    sbit rw=P1^1;
    sbit en=P1^2;
    sbit db7=P2^7;
    const int n=750;
    int num,a;


    void tre(unsigned long int v)
    {
    unsigned long int i;
    for(i=0;i<v;i++);
    }
    int chophep(void)
    {
    int ra;
    en=1; tre(n); en=0;
    return ra=1;
    }
    void kt_lcd(void)
    {

    while(db7==1&&chophep()&&rw==1&&rs==0);
    }
    void lenh(unsigned char malenh)
    {
    kt_lcd(); chophep();
    rs=0; rw=0; P2=malenh;
    }
    void in(char *s)
    {
    int i;
    for(i=0;i<strlen(s);i++)
    {
    kt_lcd(); chophep();
    rs=1; rw=0;
    P2=s[i]; tre(n);
    }
    }
    void khoi_tao(void)
    {
    lenh(0x01);
    lenh(0x02);
    lenh(0x38);
    lenh(0x06);
    lenh(0x0e);
    }
    void hienthi(void)
    {
    khoi_tao();
    while(1)
    {
    lenh(0x80); //cho chay o dong 1
    in("so vong/phut:");
    lenh(0xC0); // cho chay o dong 2
    a=num;
    in(&a); // chết nhất chỗ này đây các bác ạ.nó không hiển thị ra cái gì cả
    }
    }
    void main(void)
    {
    IE=84;
    IT1=1;
    num=0;
    while(1)
    {
    hienthi();
    }
    }
    void ngatngoai_1(void) interrupt 2
    {
    num++;
    }

  • #2
    (con số + 0x30) hoặc (con số + 48)

    Comment


    • #3
      Dear Bienhaui!
      Bạn muốn hiển thị con số lên LCD thì đầu tiên bạn phải tách lấy các chữ số của nó ra để gửi lần lượt. Ví dụ muốn hiển thị số 123 thì bạn tách lấy riêng 3 chữ số 1,2,3 vào 3 biến hoặc chuyển số 123 thành mảng kí tự sau đó gửi từng chữ số ra hiển thị.
      Để hiển thị chữ số thì giống như anh Multi System nói bạn gửi (chữ số + 0x30). Nguyên nhân là mã ascii của các con số là từ 0x30-->0x39 nên (chữ số + 0x30) sẽ ra đúng mã ascii của chữ số đó.

      Thân!
      For a better world

      Comment


      • #4
        cảm ơn các bác nhiều
        nhưng em viết nó vẫn báo lỗi.nó báo thế này ạ.nghe các bác em viết :
        in(num + 48);
        thì báo lỗi chỗ đó là:
        HIENTHI.C(61): error C214: illegal pointer conversion
        Last edited by bienhaui; 10-11-2009, 08:33.

        Comment


        • #5
          cảm ơn các bác nhiều
          nhưng em viết nó vẫn báo lỗi.nó báo thế này ạ.nghe các bác em viết :
          in(num + 48);
          thì báo lỗi chỗ đó là:
          HIENTHI.C(61): error C214: illegal pointer conversion

          Comment


          • #6
            nhân tiện cho mình hỏi.mình lập trình con LCD 16x2 4bit không dùng chân R/W được không.có nghĩa là nối nó xuống đất luôn đó và không chờ cờ bận mà delay khoảng 1 ms giữa các lệnh.

            Comment


            • #7
              Nguyên văn bởi fet01 Xem bài viết
              nhân tiện cho mình hỏi.mình lập trình con LCD 16x2 4bit không dùng chân R/W được không.có nghĩa là nối nó xuống đất luôn đó và không chờ cờ bận mà delay khoảng 1 ms giữa các lệnh.
              Lập trình OK !

              Comment


              • #8
                Nguyên văn bởi bienhaui Xem bài viết
                cảm ơn các bác nhiều
                nhưng em viết nó vẫn báo lỗi.nó báo thế này ạ.nghe các bác em viết :
                in(num + 48);
                thì báo lỗi chỗ đó là:
                HIENTHI.C(61): error C214: illegal pointer conversion
                Lệnh (con số + 48) hay (con số + 0x30) chỉ áp dụng được khi sử dụng lệnh xuất kí tự lên LCD, không áp dụng trong lệnh xuất chuỗi kí tự được.

                Comment

                Về tác giả

                Collapse

                bienhaui Tìm hiểu thêm về bienhaui

                Bài viết mới nhất

                Collapse

                • mèomướp
                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                  bởi mèomướp
                  Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                  Hôm qua, 13:11
                • tuyennhan
                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                  bởi tuyennhan
                  Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                  Hôm qua, 09:25
                • tuyennhan
                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                  bởi tuyennhan
                  Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                  Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                  Hôm qua, 09:10
                • Ng.Phuong.5
                  Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                  bởi Ng.Phuong.5
                  Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                  Mấy con...
                  09-01-2025, 19:44
                • viettinh
                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                  bởi viettinh
                  Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                  Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                  09-01-2025, 18:12
                • nguyendinhvan
                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                  bởi nguyendinhvan
                  Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                  Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                  Cách đơn giản...
                  09-01-2025, 00:04
                • mèomướp
                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                  bởi mèomướp
                  Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                  08-01-2025, 19:02
                • tuyennhan
                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                  bởi tuyennhan
                  Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                  08-01-2025, 15:43
                • tuyennhan
                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                  bởi tuyennhan
                  Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                  08-01-2025, 15:28
                • mèomướp
                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                  bởi mèomướp
                  Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                  08-01-2025, 11:44
                Đang tải...
                X