刚才在鸿哥那里盖楼回复,好像写的有点儿多了,一直没审核通过,好桑心呀,在此再开一贴,请教下大家关于笔段式LCD驱动的问题,谢谢!
小弟,第一次接触笔段式LCD,用的是带LCD驱动的51内核IC,驱动上没什么问题,就是在处理过程中,感觉很复杂,没有找到好的方法,现把我的拙劣的做法,发出来,请大家提提建议,指点一下,flash有限,有些功能还没做进去,就因为LCD操作没处理好,来回调用,占用了大量内存,几经精简,也没找到合适的办法。在此先行谢过大家了,还望走过路过的不吝赐教,谢谢!!
先上一张LCD_RAM结构图:
这个LCD我没看出任何排列规律,所以建表这一块儿很是头疼,我只建了一个表,用于查询数字0~9,其余的LCD段,我竟然是,每一个bit我都安置一个标志位(是不是很拙劣的做法...),然后通过对标志位的操作,来决定是否点亮这一段。具体如下:
(这个函数 我都不忍直视..... 太低级了....)
对于数字的刷新,我是这样做的:比如显示时间23:59,显示的内容是四个数字2.3.5.9和中间的秒指示部分,其中秒指示是对应T1 T2两个段
数字就分解后查表,其余段只能通过标志位的操作,来决定点亮还是熄灭
对于这里的秒闪烁,我是通过对标志位每隔0.5s做异或操作来实现
无疑这种笨方法,是可以实现功能的,但是操作起来,很麻烦,想请教大家,有没有更合适的处理方法。
请大家赐教,谢谢!!