这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 头文字D的CPLD_DIY进程帖

共13条 2/2 1 2 跳转至
助工
2013-06-27 21:38:44     打赏
11楼

LCD1602篇

    1602的时序还是比较简单的,因为它是并口传输,然后在en为1的时候发送要写入1602的数据就行啦,至于还有rs,rw两个脚,那只是规定要读/写数据还是命令,是读还是写,无关时序啥事。

    首先:分频!因为1602的“反应”速度比较慢,我分频至500Hz,2ms写一次指令或数据,en就是这个时钟,写指令或显示数据时,让en以500Hz工作,不写指令时使en为0。

    然后就是送各种命令,我送的是:0x01->0x38->0x0c->0x06,具体的意思呢,可以参考一下1602手册1602液晶说明.pdf

    接着呢,写你想要显示的数据的地址,我写的是0x81,然后就是一个一个写数据:“A”,“B”“C”,“D”.......注意哦,地址只要写一次就行了,就是写首地址,因为指令0x06会自动加指令指针。

    1602显示有个好处,你不需要定期去刷新,除非你想更新它的显示


助工
2013-06-27 22:06:55     打赏
12楼

LM75+1602显示

    这个实验涉及到1602显示更新的问题,原本是想显示“T=30℃”,但是却显示成“T==30”,思前想后,不得要领,最后发现了症结:不写入显示字符时,en仍在以500Hz的频率工作着,而一旦en为高电平时,就将[7:0]data并口上的数据写入1602RAM中,并使RAM指针加1,所以在不写显示字符时,一定要让en置0。

    不知道使我的代码冗余太多了,编译后用了239逻辑门,总共才240逻辑门(单位不太清楚),通过这个程序知道了PCLD资源确实有点少。

    视频观看:


视频地址:http://union.bokecc.com/flash/single/290666218ACBA694_7D483A59D1F8DA0B9C33DC5901307461_false_EEA982EE6B20F4D1_1/player.swf


助工
2013-06-27 22:29:47     打赏
13楼

共13条 2/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]