Welcome & Happy Holidays!
Kết quả 1 đến 7 của 7
  1. #1
    Ngày tham gia
    Jan 2016
    Bài viết
    0

    cần giúp về lập trình vi điều khiển. mong mọi người giúp đỡ!

    e đang làm bài tập lớn về mạch đếm sản phẩm bằng cảm biến hồng ngoại hiển thị trên LCD. mong mọi người kiểm tra hộ e xem sai ở đâu ạ đây là chương trình ạ


    Mã:
    #include<REGX51.h>
    #include<stdio.h>
    sbit RS=P3^0;
    sbit RW=P3^1;
    sbit EN=P3^2;
    char x;
    void delay30ms(void)
        {
        TMOD= 0x10;
        TH1 = 35535/256;
        TL1 = 35535%256;
        TR1 = 1;
        while(!TF1);
        TR1 =TF1 =0;
        }
    void delay (unsigned long int t)
        {
        unsigned long int i;
        for (i=0;i<t;++i);
        }
    void busy_flag (void)            // kiem tra co ban LCD
        {
        P2 = 0xff;
        RS =0;
        RW =1;
        do
            {
            EN=1;
            delay(10);
            EN=0;
            x=P2;
            x=x&0x80;
            }
        while (x==0x80);
        }
    void write_command (unsigned char LCD_command)        // ghi lenh ra LCD
        {
        busy_flag();
        P2 =LCD_command;
        RS =0;
        RW =0;
        EN =1;
        delay(1000);
        EN =0;
        delay(1000);
        }
    void write_data (unsigned char LCD_data)            // ghi du lieu can hien thi LCD
        {
        busy_flag();
        P2=LCD_data;
        RS =1;
        RW =0;
        EN =1;
        delay(1000);
        EN=0;
        delay(1000);
        }
    void write_string(char*s)
        {
        while(*s)
            {
            write_data(*s);
            s++;                                     //ghi 1 chuoi ki tu ra LCD
            }
        }
    void init (void)                                // khoi tao LCD
        {
        write_command(0x02);
        write_command(0x38);
        write_command(0x06);
        write_command(0x0e);
        } 
    void ngIT1 (void) interrupt 2
    {
    unsigned char nghin,tram,chuc,donvi;
    long int d;
    nghin=d/1000;
    tram=(d%1000)/100;
    chuc=((d%1000)%100)/10;
    donvi=((d%1000)%100)%10;
    d++;
    }
    void main (void)
        {
        unsigned char nghin,tram,chuc,donvi;
        long int d;
        IE= 0x84;                                         //Ngat bang muc IT1==0   
        d=0;                     
        delay30ms();
        init();           
        while(1)
             {
             write_command(0x01);
             write_command(0x80);
             write_string(" SO SP DEM DUOC LA:");
             write_command(0xC0);
             write_command(0x06);
             write_data(0x30+nghin);                     // hien thi ki tu trong bang ascii
             write_data(0x30+tram);
             write_data(0x30+chuc);
             write_data(0x30+donvi);
             }
        }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    1
    em pót tất cả lên

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi huunho
    em pót tất cả lên
    đây ạ

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mạch này dã chạy chưa ?

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi ga_cong
    mạch này dã chạy chưa ?
    có chạy nhưng ko đếm

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mach mô phongr đếm tốt đấy còn gì nữa bạn

  7. #7
    Ngày tham gia
    May 2016
    Bài viết
    0
    Trích dẫn Gửi bởi huunho
    mach mô phongr đếm tốt đấy còn gì nữa bạn
    e gửi nhầm. bài đó chưa có cảm biến hồng ngoại thì chạy đc nhưng lắp cảm biến vào thì ko đếm đc ạ. là bài này cơ

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 03:48 AM. Diễn đàn sử dụng vBulletin® Phiên bản 4.2.5.
Bản quyền của 2025 vBulletin Solutions, Inc. Tất cả quyền được bảo lưu.
Ban quản trị không chịu trách nhiệm về nội dung do thành viên đăng.