新手求助 快疯了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. }


复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
43条回答
little_Monkey
1楼-- · 2020-01-17 01:55
楼上各位,对比度没调好第一行的方块是看不见的
如果硬件没问题楼主看看软件吧,另外液晶的IO口不要接其他的器件
maxims
2楼-- · 2020-01-17 06:47
关注,学习一下。。。。
chengzepeng
3楼-- · 2020-01-17 09:23
 精彩回答 2  元偷偷看……
codefish
4楼-- · 2020-01-17 10:49
我用stm32搞1602的4位总线模式驱动,花了3天。
走了一些弯路,主要是因为不小心使用了stm32的PB4管脚,
这个PB4管脚比较特殊一点,要把它的Jtag功能屏蔽掉才能当普通IO口用
summarize
5楼-- · 2020-01-17 13:27
调时序还是有示波器好啊
cocom
6楼-- · 2020-01-17 13:43
上电复位后,延时几十毫秒到一百多毫秒后再初始化LCD

一周热门 更多>