搜索
bottom↓
回复: 1

一个FPGA驱动LCD1602的实际实验,并使用LWLA1016逻辑分析观测

[复制链接]

出0入0汤圆

发表于 2013-3-16 18:58:58 | 显示全部楼层 |阅读模式
本帖最后由 mcupro 于 2013-3-16 23:43 编辑

手头有块LCD1602,随便在这个神奇的AMOBBS论坛里面搜索了一下 FPGA LCD1602 搜到了一片帖子,地址如下:
http://www.amobbs.com/forum.php? ... ghlight=FPGA%2B1602
我就想动手链接了自己的FPGA开发板和LCD1602,为了观测和调试时序,我接上LWLA1016逻辑分析仪 。



我将原帖的附件直接下载下来,从HDL目录得到了全部的VERILOG源代码,在移植到自己的FPGA板子时候修改了RESET信号:原来的RESET信号是低电平有效,我的板子是高电平有效(即按下板子上的RESET键时,对应的FPGA引脚是高电平,松开按钮时是低电平),我设置了一个RESETIN信号,之后用wire RESET=~RESETIN ;这句转换成原来代码的复位方式。

使用TCL文件锁定管脚之后。设置代码与实际板子引脚的对应关系:


之后编译运行,一切正常.

以下是实现的效果。




为了观测时序,我接上了LWLA1016逻辑分析仪。设置好总线格式,设置好颜色,开始抓到这些:可以点击查看原图细节。

上图可以看到LCD—EN 高电平是持续时间是750NS。逻辑分析仪的分辨率是10NS。


没有将数据归整成组,总线数据没有法看。其他的图片都已经设置LCD——DATA的8根数据线为一组,并都以HEX形式显示。


LCD在复位时,LCD——RS为高,发送了多个配置命令,具体是X038,0X06,0X01。





上两图,图形任意缩放,查看脉宽。



另外把项目代码也上传上来。







在试验中有发现 :
1,LCD1602 模块使用3。3V完全可以,并且背光也完全可以直接接3。3V  。只是亮度明显不如5V供电。
2,LCD1602数据手册上给出的读写的时序是说单独的字节读或者写,连续写多个数据时,要注意每次写之间有足够长的时间间隔!
3,这个代码实现的是一个秒表,当时秒表部分逻辑有错误,没有实现好,单纯说LCD1602的驱动部分还是很优秀,并且也可以修改成很通用的。
4,LCD1602的控制部分用到了两个有限状态机嵌套,并且各自采用了一个COUNTER延时,可以灵活参数化,代码作者水平比较高。
5,LWLA1016逻辑分析仪可以将任意通路的数据位设置在一个组里组成一个字节,字,等方便查看,并且组内的权位任意调换,灵活之至。








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2013-3-16 21:12:54 | 显示全部楼层
很好经验分享!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 07:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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