Thông báo

Collapse
No announcement yet.

Cần giúp gấp về LCD...................

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

  • Cần giúp gấp về LCD...................

    Các bác cho e hỏi em đang học môn VĐK phải lắp về hiển thị chữ trên LCD.E thiết kế mạch và chạy trên mô phỏng oke hết rồi nhưng khi lắp mạch thực tế thì LCD chỉ hiện mỗi dòng dưới là các ô vuông,lắp thêm 1 con biến trở vào LCD(chân 1,2,3)thì màn hình sáng hẳn không hiển thị j.đây là mô phỏng và sơ đồ mạch của e http://www.mediafire.com/?95bvj6ge7uz1g4g bác xem giúp em cái.Gấp lắm rồi t7 này phải nộp bài rồi

  • #2
    lap the nay mach ngoai sao chay duoc ? ban phai lap 1 con bien tro 10k vao 3 chan 1, 2,3 de dieu khien do tuong phan cua LCD chu ?

    Comment


    • #3
      Nguyên văn bởi letunglam Xem bài viết
      Các bác cho e hỏi em đang học môn VĐK phải lắp về hiển thị chữ trên LCD.E thiết kế mạch và chạy trên mô phỏng oke hết rồi nhưng khi lắp mạch thực tế thì LCD chỉ hiện mỗi dòng dưới là các ô vuông,lắp thêm 1 con biến trở vào LCD(chân 1,2,3)thì màn hình sáng hẳn không hiển thị j.đây là mô phỏng và sơ đồ mạch của e LCD BAN IN NGOAI. sua r.rar bác xem giúp em cái.Gấp lắm rồi t7 này phải nộp bài rồi
      chân 3 mà chú nối GND thế thì có gắn biến trở cũng như ko, vặn bậy bạ là ngắn mạch GND với Vcc.
      cắt cái đường nối chân 3 với GND ra, biến trở chân giữa nối với chân 3, 2 chân bìa 1 chân nối GND 1 chân nối Vcc

      Comment


      • #4
        mình có lắp biến trở rồi bạn ak nhưng khi xoay nó chỉ ra 2 hàng ô vuông thôi.ko hiểu sai chỗ nào bạn có sơ đồ mạch ko chỉ mình với

        Comment


        • #5
          bạn xem lại mạch reset cho vi điều khiển, chẳng có ai làm mạch reset như bạn cả
          bạn phải làm như mạch này chứ
          Click image for larger version

Name:	hoc lap trinh 8051.4.jpg
Views:	1
Size:	17.2 KB
ID:	1369989

          Comment


          • #6
            Nguyên văn bởi letunglam Xem bài viết
            mình có lắp biến trở rồi bạn ak nhưng khi xoay nó chỉ ra 2 hàng ô vuông thôi.ko hiểu sai chỗ nào bạn có sơ đồ mạch ko chỉ mình với
            đã nói chân số 3 chú vẽ đường GND vào cho nó là sai.
            Nguyên văn bởi vietlamdt Xem bài viết
            bạn xem lại mạch reset cho vi điều khiển, chẳng có ai làm mạch reset như bạn cả
            bạn phải làm như mạch này chứ
            [ATTACH=CONFIG]55155[/ATTACH]
            mạch SP200 dùng kiểu reset này đấy

            Comment


            • #7
              Nếu hàm khởi tạo cho lcd không đúng,thì có chạy được không?
              Có ai có thể cho em hàm khởi tạo của LCD 1602a không ạ,mạch hàn của e cung hiện lên 2 dòng toàn ô vuông....
              và có thể thì cho em xin code hiện chữ bất kỳ mà chạy được trên LCD đã chạy đựoc trên mạch thât rồi (port dữ liệu là p0. rs,rw,e lần lượt là p2.5 2.6 2.7,mail của em là nguyensontungyb@gmail.com,mong mọi người giúp đỡ.

              Comment


              • #8
                ai co code chay hcu tren lcd cho minh voi.Code bang c cho 8051 y

                Comment


                • #9
                  Code:
                  #include <REGX51.H>
                  #include <string.h>
                  #define LCDdata P2
                  sbit rs=P1^0;
                  sbit rw=P1^1;
                  sbit en=P1^2;
                  sbit BF=0xA7;
                  void delay(long time)
                  {long n;
                  for(n=0;n<time;n++)
                  {
                  ;
                  }
                  }
                  void lcd_wait()
                  {long n=0;
                  en=1;
                  rs=0;							 //ghi lenh
                  rw=1;							// doc dl
                  LCDdata=0xff;
                  while(BF)					   // bit ban
                  {n++;if(n>100)break;
                  }
                  en=0;
                  rw=0;
                  }
                  void lcd_control(unsigned char x)
                  {en=1;
                  rs=0;
                  rw=0;
                  LCDdata=x;
                  en=0;
                  lcd_wait();
                  }
                  void lcd_init()
                  {
                  lcd_control(0x30);
                  lcd_control(0x30);
                  lcd_control(0x30);
                  lcd_control(0x38);
                  lcd_control(0x0c);
                  lcd_control(0x06);
                  lcd_control(0x01);
                  }
                  void lcd_writedata(unsigned char c)
                  {
                   rs=1;
                   rw=0;
                   LCDdata=c;
                   en=1;
                   en=0;
                   delay(1000);
                  }
                  void lcd_write()
                  {unsigned char i;
                  en=1;
                  rs=1;
                  rw=0;
                  LCDdata=i;
                  en=0;
                  lcd_wait();
                  }
                  void lcd_puts(unsigned char *s)
                  {
                   while (*s)
                   {
                    lcd_writedata(*s);
                    s++;
                   }
                   }
                  Nguyễn Huy Biên - 01649 802 694
                  gmail :

                  Comment


                  • #10
                    Nguyên văn bởi bienhou Xem bài viết
                    Code:
                    #include <REGX51.H>
                    #include <string.h>
                    #define LCDdata P2
                    sbit rs=P1^0;
                    sbit rw=P1^1;
                    sbit en=P1^2;
                    sbit BF=0xA7;
                    void delay(long time)
                    {long n;
                    for(n=0;n<time;n++)
                    {
                    ;
                    }
                    }
                    void lcd_wait()
                    {long n=0;
                    en=1;
                    rs=0;							 //ghi lenh
                    rw=1;							// doc dl
                    LCDdata=0xff;
                    while(BF)					   // bit ban
                    {n++;if(n>100)break;
                    }
                    en=0;
                    rw=0;
                    }
                    void lcd_control(unsigned char x)
                    {en=1;
                    rs=0;
                    rw=0;
                    LCDdata=x;
                    en=0;
                    lcd_wait();
                    }
                    void lcd_init()
                    {
                    lcd_control(0x30);
                    lcd_control(0x30);
                    lcd_control(0x30);
                    lcd_control(0x38);
                    lcd_control(0x0c);
                    lcd_control(0x06);
                    lcd_control(0x01);
                    }
                    void lcd_writedata(unsigned char c)
                    {
                     rs=1;
                     rw=0;
                     LCDdata=c;
                     en=1;
                     en=0;
                     delay(1000);
                    }
                    void lcd_write()
                    {unsigned char i;
                    en=1;
                    rs=1;
                    rw=0;
                    LCDdata=i;
                    en=0;
                    lcd_wait();
                    }
                    void lcd_puts(unsigned char *s)
                    {
                     while (*s)
                     {
                      lcd_writedata(*s);
                      s++;
                     }
                     }
                    cho minh xin code chay chu y.Cam on nhieu

                    Comment


                    • #11
                      minh viết trên ngôn ngư hỗn hợp chạy ok rùi là lcd đó.

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...
                      X