Thông báo

Collapse
No announcement yet.

Help giao tiếp 8051 với LCD

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

  • Help giao tiếp 8051 với LCD

    mình viết code giao tiếp 8051 với LCD 16x2 nhưng chỉ viết dk hiện thị lên màn hình thui, bạn nào biết cách hiện thị LCD chử chạy trên xuống và từ phải qua trái thì giúp mình với. thank nhìu.
    file: LCD 16x2.rar
    ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

  • #2
    C thì mình có thể giúp bạn còn ASM thì mình chịu,hihi
    vanduc0211@gmail.com

    Comment


    • #3
      Nguyên văn bởi thuongdtqb Xem bài viết
      mình viết code giao tiếp 8051 với LCD 16x2 nhưng chỉ viết dk hiện thị lên màn hình thui, bạn nào biết cách hiện thị LCD chử chạy trên xuống và từ phải qua trái thì giúp mình với. thank nhìu.
      file: LCD 16x2.rar
      từ phải qua trái có mã lệnh 1CH còn từ trên xuống thì không hiểu bạn muốn dịch từ dòng trên xuống dòng dưới hay sao

      Comment


      • #4
        LCD nó có nhứ matrix quét đâu mà trên xuống vs trái sang, có dịch chỉ là dịch từng byte cả ký tự chứ ko thể dịch từng cột từng cột dc
        Website chính thức đổi địa chỉ website thành
        Mời các bạn ghé thăm !!!

        Comment


        • #5
          ok. mình biết dịch phải qua trái rùi.thank mấy bạn nhìu. học vdk mà thầy dạy toàn lệnh thui không hỉu mấy về thuật toán giao tiếp ah
          ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

          Comment


          • #6
            ban co code chi minh voi.Cam on ban nhieu

            Comment


            • #7
              Nguyên văn bởi viboyth.haui Xem bài viết
              C thì mình có thể giúp bạn còn ASM thì mình chịu,hihi
              ban co code chi minh xin voi .cam onm ban nhieu

              Comment


              • #8
                bạn cho ký tự cần hiển thị vào 1 buffer sau đó dịch cái buffer đó là oke thôi bạn
                Nguyễn Huy Biên - 01649 802 694
                gmail :

                Comment


                • #9
                  lcd_puts(Buff);
                  // Cho chu dich chuyen trong Buff
                  j=Buff[0];
                  for(i=0;i<15;i++)
                  {
                  Buff[i]=Buff[i+1];
                  }
                  Buff[15]=j;
                  delay_ms(500);
                  Nguyễn Huy Biên - 01649 802 694
                  gmail :

                  Comment


                  • #10
                    Nguyên văn bởi bienhou Xem bài viết
                    lcd_puts(Buff);
                    // Cho chu dich chuyen trong Buff
                    j=Buff[0];
                    for(i=0;i<15;i++)
                    {
                    Buff[i]=Buff[i+1];
                    }
                    Buff[15]=j;
                    delay_ms(500);
                    #include <REGX51.H>
                    #include <string.h>
                    #define RS P2_5
                    #define RW P2_6
                    #define EN P2_7
                    #define lcd P3
                    #define lcdbusy P3_7
                    void delay(unsigned int x)
                    {unsigned int y;
                    for (y=0;y<x;y++)
                    {}
                    }
                    void ghilenh (char x) //x: la ma lenh dua vao
                    {
                    lcdbusy=1;
                    while (lcdbusy==0)//neu lcd=0 ko lam j
                    {};
                    RS=0; //chon thanh ghi lenh
                    RW=0; //ghi vao LCD
                    lcd= x; ///////doc thanh ghi lenh
                    EN=1; //////// suon sau cho phep LCD nhan du lieu data
                    EN=0;
                    delay(2000);
                    }
                    void hamghidulieulcd(char x)//x:la gia tri du kieu can ghi
                    {
                    lcdbusy=1;
                    while (lcdbusy==0)
                    {};
                    RS = 1;///// chon du lieu hoac lenh
                    RW = 0; //// ghi vao LCD
                    lcd = x; // doc du lieu data
                    EN = 1; ////suon sau cho phep LCD nhan du lieu data
                    EN = 0;
                    delay(2000);
                    }
                    void ghichuoi(char *str)
                    {
                    while (*str)
                    {
                    hamghidulieulcd(*str);
                    str++;
                    }
                    }
                    void lcd_gotoxy(char x,char y)
                    {
                    //hamghilenhlcd((0x80+x+64*y)+x);
                    //delay(100);
                    }
                    void main (void)
                    { int x,y;
                    {

                    ghilenh(0x30);
                    ghilenh(0x0E);
                    ghilenh(0x80);
                    ghilenh(0x38);
                    ghilenh(0x0c);

                    }


                    //for (y=0;y<5;y++)
                    //{
                    while(1)
                    {
                    ghilenh(0x01);
                    ghichuoi(" NGUYEN VAN K");
                    ghilenh(0xC0);
                    ghichuoi(" LOP TU DONG HOA");

                    for(x=0;x<17;x++)
                    {
                    ghilenh(0x1C);
                    delay(1000);
                    }
                    ghilenh(0x01);
                    ghichuoi(" DH_PHUONGDONG");
                    ghilenh(0xC0);
                    ghichuoi(" LOP TU DONG HOA");

                    for(x=0;x<17;x++)
                    {
                    ghilenh(0x18);
                    delay(1000);
                    }
                    }
                    }
                    ban sua giup minh voi
                    minh lam cho con 8051

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X