请教个430程序处理问题

[复制链接]
2024|5
 楼主| tongshaoqiang 发表于 2013-2-26 15:21 | 显示全部楼层 |阅读模式
开始学习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 | 显示全部楼层
菜鸟路过.....
 楼主| tongshaoqiang 发表于 2013-2-26 17:03 | 显示全部楼层
xxlin1984 发表于 2013-2-26 16:45
如果是4位机,倒是可以简单的偏移1个地址;可惜430不支持4bit寻址。

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

呵呵呵,看来有经验的啊
能否再劳您举个例子啊
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

粉丝
快速回复 在线客服 返回列表 返回顶部