找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1475|回复: 3
打印 上一主题 下一主题
收起左侧

为什么液晶不显示内容?是代码出了问题还是电路有问题?

[复制链接]
跳转到指定楼层
楼主
这是我的代码。大家看看是代码出了问题还是电路有问题?



  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. sbit lcden=P3^4;
  4. sbit lcdrs=P3^5;
  5. uchar num;
  6. uchar  code table[]="I LOVE MCU";
  7. uchar  code table1[]="WWW*TXMCU*COM";

  8. void delay(uchar z)
  9. {          int x,y;
  10.              for(x=z;x>0;x--)
  11.            for(y=110;y>0;y--);
  12. }

  13. void write_com(uchar com)
  14. {
  15.         lcdrs=0;
  16.         lcden=0;
  17.         P0=com;
  18.         delay(5);
  19.         lcden=1;
  20.         delay(5);
  21.         lcden=0;
  22. }

  23. void write_data(uchar date)
  24. {
  25.            lcdrs=1;
  26.            lcden=0;
  27.            P0=date;
  28.            delay(5);
  29.            lcden=1;
  30.            delay(5);
  31.            lcden=0;
  32. }

  33. void iint()
  34. {
  35.     lcden=0;
  36.     write_com(0x38);
  37.     write_com(0x0c);
  38.     write_com(0x06);
  39.     write_com(0x01);
  40. }

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



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:111634 发表于 2017-12-6 20:49 | 只看该作者
本帖最后由 zl2168 于 2017-12-6 20:52 编辑

先学理论,打基础,否则,问题多多,事倍功半。
给你介绍一个正确有效的案例,自己对照查错吧!
实例67  LCD1602显示屏显示
⒈ LCD1602显示屏简介
⑴ 引脚功能    …
⑵ 内部寄存器    …
⑶ 控制指令    …
⑷ 操作时序    …
⒉ 电路设计    …
⒊ 程序设计    …
⒋ Keil调试    …
⒌ Proteus仿真    …
实例61 LCD1602显示屏显示.rar (49.26 KB, 下载次数: 6)

Proteus仿真一下,确认有效。
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1。书中电路和程序设计有详细说明,程序语句条条有注解。仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。

评分

参与人数 1黑币 +8 收起 理由
周鑫鑫鑫666 + 8 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:213173 发表于 2017-12-6 21:07 | 只看该作者
代码没有大问题,可以正常显示所设内容,只是for(num=0;num<11;num++)应该是for(num=0;num<10;num++),如果P0同时接有其它设备必须关闭,否则影响LCD显示。

评分

参与人数 1黑币 +5 收起 理由
周鑫鑫鑫666 + 5 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:96682 发表于 2017-12-7 02:12 | 只看该作者
没毛病,画蛇添足了不是
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表