Proteus仿真液晶显示LCM1602遇到的问题

技术分类: EDA工具与服务  | 2009-04-10
作者:tengjingshu: EDN China

  EDN博客精华文章  作者:tengjingshu

  Proteus是一个很好的单片机仿真工具,解决了很多像我这种没钱的穷学生学习51单片机,学习ARM的途径,支持众多单片机外设的仿真是它的一大特点,像用得比较多的液晶LCM1602

  今天我本来想验证一下51单片机用模拟口线方法控制LCM1602的程序,于是Proteus仿真。程序用的是网上流传很广的明浩的程序(LCM1602模拟口线)

  http://www.avrtool.com/dpj51/bzyc/rjian/200710/770.html

  Proteus电路图

Proteus电路图

  可以看到在Proteus中仿真LCM1602要选LM016L,51单片机最小系统不必都连上,像晶振、/EA、复位电路、电源VCC和地GND都默认连接好,晶振频率在仿真设置中设好,只要把LCM1602按模拟口线方式连好就行。

  |DB0-----P1.0 | DB4-----P1.4 | RW-------P2.0 |

  |DB1-----P1.1 | DB5-----P1.5 | RS-------P2.1 |

  |DB2-----P1.2 | DB6-----P1.6 | E--------P2.2 |

  |DB3-----P1.3 | DB7-----P1.7 | VLCD 接 1K 电阻到 GND|

  但编译好,在Proteus中把Hex文件设置好时,运行确没反应,1602没显示。在网上找了其他人在Proteus中对LCM1602的仿真,好像都遇到大大小小的问题。

  EDN51学习板1602显示屏在Proteus中的仿真

  http://blog.ednchina.com/yt_ferris/95207/message.aspx

  Proteus-----1602液晶显示

  http://blog.ednchina.com/zhuyjgh/90016/message.aspx

  自己再编译了一个确定是能运行的ASM汇编程序,还是没显示。就这样折腾了一下午。最后终于能正常显示了:把检查忙的语句换成延时。原来是在实际器件中能对忙信号进行反应,在Proteus中并没这方面的仿真。看来软件仿真并不是百分百能反映实际情况的,是不是能运行的程序,还是需要下载到实际片子上试试

液晶显示

  本文工程文档(包括Proteus和keil文件) http://space.ednchina.com/upload/2009/4/10/a06e0322-c887-48fa-967f-bdfac6496c76.rar

  要提醒注意的是,能在Proteus上仿真LCM1602显示的程序,在实际的1602上不一定显示成功,所以仿真时要注意。我按DataSheet上的时序实现的程序,在实物LCM1602上能显示,但在Proteus上仿真不出来。所以不要确信仿真,在程序不完善的时候,最好验证的办法是在线硬件仿真或者下载到片子上运行,而不是在仿真库有缺陷的软件上倒腾J

  参考程序:

  开发板程序之一(1602液晶C程序含注释)!

  http://blog.ednchina.com/ahai0306/93234/message.aspx

  (不知道为什么这个程序能在Proteus上仿真成功,也能在实际的1602显示成功。而有的在实际实现的,确在Proteus上仿真失败。)

6
0
免责声明:以上内容凡注明署名的,其版权属于署名者所有,转载请注明署名;所有转载的内容,EDN China发布该内容都是出于传递更多信息之目的,如果有侵犯版权事宜,请通知edneditor@gmail.com 或 010-66422242-213,我们将在第一时间删除该信息。
加载中

对文章的评论

更多评论

剩余字数:  

Google提供的广告

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组