新手求助 快疯了1602搞了一天

2020-01-14 18:56发布

买了一个1602液晶屏想显示点东西玩 但是接上怎么都不现实  用的程序是 郭天祥的那个,我就把里面的   RW RS和EN改了一下
但是总是失败 一直是方块

我得 数据是接的P1  然后 RS是P3.4  RW 3.5  EN 3.6
2.jpg (167.88 KB, 下载次数: 0) 下载附件 2012-9-5 17:13 上传

线没有问题  开始用的杜邦线 后来直接焊接的  都不行  求教各位大神

  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code table[]="I LIKE MCU!";
  5. uchar code table1[]="WWW.TXMCU.COM";
  6. sbit lcden=P3^6;
  7. sbit lcdrw=P3^5;
  8. sbit lcdrs=P3^4;
  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.         lcdrw=0;
  37.         lcden=0;
  38.         write_com(0x38);
  39.         write_com(0x0e);
  40.         write_com(0x06);
  41.         write_com(0x01);
  42.         write_com(0x80+0x10);
  43. }
  44. void main()
  45. {
  46.         init();
  47.         for(num=0;num<11;num++)
  48.         {
  49.                 write_data(table[num]);
  50.                 delay(20);
  51.         }
  52. //        write_com(1);
  53.         write_com(0x80+0x53);
  54.         for(num=0;num<13;num++)
  55.         {
  56.                 write_data(table1[num]);
  57.                 delay(20);
  58.         }
  59.         for(num=0;num<16;num++)
  60.         {
  61.                 write_com(0x18);
  62.                 delay(20);
  63.         }
  64.         while(1);
  65. }


复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。