你好,想咨询下用HT1622驱动断码屏的驱动程序

你好,想咨询下用HT1622驱动断码屏的驱动程序,第1张

HT1622驱动程序有的提供的,VK1622兼容替代HT1622,有专门的液晶驱动程序提供,跟工程师技术解答,可以参考一下,总共有5个封装:LQFP64 QFP64 LQFP52 LQFP48 LQFP44,非常实用,封装很多可以选择的。

需要

TM1623程序调试过程中出现个别RAM段码显示异常,缺段(段比较暗),影响TM1623其他ROM未写入数据的段也有比较暗的显示。

这个问题现在想来应该比较好笑,只是当时调试的时候一时没有缓过来,记录下来用以提醒一下自己。

在出现这个问题时,第1反应,可能是我的1623配置没有设置好,对照TM1623的数据手册,增加了NORMAL命令,命令格式如下:在这里插入图片描述在这里插入图片描述

这个命令1623上电复位后是缺省默认的,可以不写入,事实证明写入这边命令之后依然没有用。

再次怀疑时序延时不够,1623手册延时,如下:5V写模式下,时间改未5us,情况依然如此。在这里插入图片描述

后逐个对1622的RAM写数据,找到出问题的RAM,才怀疑芯片坏了,这才想到硬件问题,检查RAM地址对应的SEG引脚,因为1622使用的LQFP6封装,引脚脚距比较密,手工焊接此芯片时,将芯片的引脚连焊了。重新焊接问题解决,但此时已经耗费我好长时间,记录下来以此提醒自己。正常显示如下:

在这里插入图片描述

程序设计说明记录:

段码显示屏,没有使用RD脚,使用STC8A8K64S4芯片,RAM空间大,采用两个64字节RAM数据来对应1622的0-63个地址,其中每个字节高4位对应D0,D1,D2,D3;

uchar Ht1622Tab[64];

uchar Ht1622TabB[64];

将Ht1622TabB做为LCD前窗RAM,Ht1622Tab数组做为后置RAM,两个数组数据单元一一进行与&运算,并将结果定时写入到1622的RAM中进行显示;

全部显示后置RAM时:将Ht1622TabB全部数组高四位置1;

局部显示后置RAM时:将Ht1622TabB需要屏蔽的数组数据某个位写0;

闪烁显示某个段时:定时将将Ht1622TabB对应数组数据某个位写0即可。

2021.3.21

你好,请注意。把源代码看仔细了。

LCD_RW = 1是读

LCD_RW = 0才是写

lcd_busy()函数里的RW是1,那是读状态。

读的时候我只要读最高位,后面是什么对我们来说不重要。

原理,很简单。单片机是处理速度很快的,纳秒级别。LCD相对于单片机来讲很慢,毫秒级别。所以,LCD再处理数据时, 把最高的一位至于高电平,表示数据处理中,等数据处理完毕,把高位拉低电平。单片机跑的快,它先读高位,如果读出来是1,单片机做别的事,一直到读到LCD高位为0时,再对LCD进行 *** 作。所以LCD这样定义:STA7为读写 *** 作使能位,1代表禁止,0代表允许。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11125935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存