12232液晶的列地址不能按位寻址显示,怎么回事?

2020-02-08 09:11发布

问题就如标题,我用proteus仿真的,情况是这样:我先设置地知道0页0列处,然后显示一道竖线,它正常显示到那了。我接着设置一下地址到0页第4个列地址位,继续显示一条竖线,但是它却挨着第一条竖线,显示到了第2个列地址位处,就是不能直接显示到第4个列地址位处。类似的试了很多次,都是这种情况。不知道为啥啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
longfeixue
1楼-- · 2020-02-08 14:50
想读显示数据也读不出来
hameyou
2楼-- · 2020-02-08 16:58
Proteus 中的12232模型有点问题,列地址不能按位寻址,准备自己做一个符合实际情况的模型
longfeixue
3楼-- · 2020-02-08 22:02
奥,谢谢LS的,原来是这样吗,我试了好长时间都不行。后来想到通过 读-修改-写 命令的方式 ,利用其在此命令方式下,读显示数据时列地址不变的性质,达到列地址的寻址到某一位的功能。看手册上讲,“设置完列地址后,首次读显示数据前必须执行一次空的“读显示数据”。这是因为设置完列地址后,第一次读数据时,出现在数据总线上的数据是列地址而不是所要读出的数据。”现在第一次读操作时,这个地址可以正常读出来了,但是接着第二次读显示的数据,就读不出来了,一直是0。不知道怎么回事,唉
longfeixue
4楼-- · 2020-02-09 00:27
 精彩回答 2  元偷偷看……
hameyou
5楼-- · 2020-02-09 05:18
实际情况也不可以进行列地址的位寻址,只能是字节寻址
longfeixue
6楼-- · 2020-02-09 08:06
奥,那不是和分上下半屏、按行扫描的2864的的情况一样吗,而且我的用的那个12864在进行水平列地址寻址时,只能寻址的16的倍数,就是一行的8个汉字的开头位置,要想寻址到字节地址位,即8的倍数,只能通过控制器内部的列地址自动加1功能才能实现。它的DDRAM和CGRM是每一行从左到右一个字节一个字节排列的。而12232的这个SED1520的驱动器是分左右半屏、按列扫描的,它的DDRAM是每一列从上到下一个字节一个字节排列的,本想着它总该可以实现水平列地址的按位寻址呢,谁知还是不行。这个从道理上讲也是说不通的。而且我知道KS0108驱动器控制的一个液晶,就可以进行列地址的位寻址的,它的控制方式和SED1520是相同的。我之所以这么看重这一点,是因为水平方向可以按位寻址,对控制字符在液晶上的显示位置是很方便的。相反如果不能就很不方便。

一周热门 更多>