打印

请教个430程序处理问题

[复制链接]
1625|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
开始学习430,遇到一个难题,麻烦大家给看看,如下图

遇到的难题是:我想用个数组来控制数码字符变化,可是液晶断码段的分布不在一个液晶控制寄存器内,正好跨着了,请问高人该如何处理才能达到我想要的效果呢?

相关帖子

沙发
dirtwillfly| | 2013-2-26 15:51 | 只看该作者
你可以用个结构体数组或结构体指针,每个元素是一个结构体

使用特权

评论回复
板凳
xxlin1984| | 2013-2-26 16:45 | 只看该作者
如果是4位机,倒是可以简单的偏移1个地址;可惜430不支持4bit寻址。

只能用个缓冲数组做中转,数组1字节对应1个八段码;
最后,缓冲数组拷贝到LCDMEM[]时,要错开半字节。

使用特权

评论回复
地板
qingx| | 2013-2-26 16:53 | 只看该作者
菜鸟路过.....

使用特权

评论回复
5
tongshaoqiang|  楼主 | 2013-2-26 17:03 | 只看该作者
xxlin1984 发表于 2013-2-26 16:45
如果是4位机,倒是可以简单的偏移1个地址;可惜430不支持4bit寻址。

只能用个缓冲数组做中转,数组1字节对 ...

呵呵呵,看来有经验的啊
能否再劳您举个例子啊

使用特权

评论回复
6
xxlin1984| | 2013-2-27 09:33 | 只看该作者
没什么,就是加个中间变量,方便写程序。
1. 设个数组如 lcd_ram[]: 让lcd_ram[10]对应2A~2G、Z2,即LCDMEM[9]的高4bitLCDMEM[10]的低4bit
2. 这样 lcd_ram[10] 就对应一个八段码,程序中对lcd_ram[]操作。
3. 需要刷新显示时,把 lcd_ram[] 错开半个字节 拷贝到LCDMEM[] (这里就是线没对齐要做的额外工作)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

155

主题

993

帖子

5

粉丝