新闻  |   论坛  |   博客  |   在线研讨会
Proteus仿真液晶显示LCM1602遇到的问题
0750long | 2009-04-11 09:18:14    阅读:5776   发布文章

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

 

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

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

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

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

 

   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中并没这方面的仿真。看来软件仿真并不是百分百能反映实际情况的,是不是能运行的程序,还是需要下载到实际片子上试试J

 

本文工程文档(包括Proteus和keil文件) rar

   

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

 

参考程序:

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

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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客