关于1602液晶屏的问题!求高人指点

2019-07-15 18:44发布

哪位高手请帮我看看,我这个是针对自己单片机,P2^6口接RS, P2^5
口接WR,P2^7口接E,但是程序编译没错误,下载到单片机后液晶屏没有显示是为什么呢?
#include <reg52.h>
          #define uchar unsigned char
          #define uint unsigned int
          uchar code table[]="I LOVE MCU!";
          uchar code table1[]="WWW.TXMCU.COM";
          sbit lcdrs=P2^6;
          sbit lcden=P2^7;
          sbit lcdrw=P2^5;
           uchar num;
           void delay(uint z)
                 {
                 
                   uint x,y;
                   for (x=z;x>0;x--)
                   for(y=110;y>0;y--);
                 
                 
                 }
                 void  write_com(uchar com)
                 {
                         lcdrs=0; lcdrw=0;lcden=0;
                         P0=com;
                        delay(5);
                        lcden=1;                                       
                         delay(5);
                          lcden=0;
                }
       void write_data(uchar date)
           {
                   lcdrs=1;         
                   lcdrw=0;
                   lcden=0;
               P0=date;
                delay(5);
                lcden=1;
              delay(5);
              lcden=0;

             }       

void init()
  {

          lcden=0;
  write_com(0x38);
  delay(1);
  write_com(0xc0);
  delay(1);
  write_com(0x06); delay(1);
  write_com(0x01);delay(1);
   }

  void main()
   {
         init();
        write_com(0x80);
        for (num=0;num<11;num++)
            {
          write_data(table[num]);
           delay(5) ;
          }
     write_com(0x80+0x40);
      for (num=0;num<13;num++)
         { write_data(table1[num]);
           delay(5);
          }
        while(1);
      }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zy2014
1楼-- · 2019-07-15 23:44
本帖最后由 zy2014 于 2014-8-22 12:55 编辑
  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code table[]="I LOVE MCU!";
  5. uchar code table1[]="WWW.TXMCU.COM";
  6. sbit lcdrs=P2^6;
  7. sbit lcden=P2^7;
  8. sbit lcdrw=P2^5;
  9. uchar num;
  10. void delay(uint z)
  11. {
  12.   uint x,y;
  13.   for (x=z;x>0;x--)
  14.   for(y=110;y>0;y--);
  15. }
  16. void write_com(uchar com)
  17. {
  18.   lcdrs=0;
  19.   P0=com;
  20.   delay(5);
  21.   lcden=1;
  22.   delay(5);
  23.   lcden=0;
  24. }
  25. void write_data(uchar date)
  26. {
  27.   lcdrs=1;
  28.   P0=date;
  29.   delay(5);
  30.   lcden=1;
  31.   delay(5);
  32.   lcden=0;
  33. }

  34. void init()
  35. {
  36.   lcden=0;
  37.   lcdrw=0;
  38.   write_com(0x38);delay(1);
  39.   write_com(0x0e);delay(1);
  40.   write_com(0x06);delay(1);
  41.   write_com(0x01);delay(1);
  42. }

  43. void main()
  44. {
  45.   init();
  46.   write_com(0x80);
  47.   for (num=0;num<11;num++)
  48.   {
  49.     write_data(table[num]);
  50.     delay(20) ;
  51.   }
  52.   write_com(0x80+0x40);
  53.   for (num=0;num<13;num++)
  54.   { write_data(table1[num]);
  55.   delay(5);
  56.   }
  57.   while(1);
  58. }
复制代码


参考郭天祥的那个代码改的,看看能不能运行吧
1602液晶中文资料.pdf (663.24 KB, 下载次数: 1095)
zy2014
2楼-- · 2019-07-16 04:11
lcdrw=P2^5;  // H : Read mode, L : Write mode
beth
3楼-- · 2019-07-16 05:49
zy2014 发表于 2014-8-22 12:29
参考郭天祥的那个代码改的,看看能不能运行吧

谢谢指点非常感谢!

一周热门 更多>