[其它应用] 如何通过C语言来写LCD RAM寄存器啊?

[复制链接]
74|11
| 2019-1-16 18:15 | 显示全部楼层
还有,对应的LCD RAM写1,是不是就意味着,SEG为高,相应的COM为低?
| 2019-1-16 18:18 | 显示全部楼层
LCD RAM属于外部RAM,需要使用xdata关键词
| 2019-1-16 18:20 | 显示全部楼层

不是很明白。。。
| 2019-1-23 09:35 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
| 2019-1-23 09:38 | 显示全部楼层


用指针去操作就OK了
| 2019-1-23 09:41 | 显示全部楼层

unsigned int xdata dis_ram[] at 0x1e0
用AT这个关键字就不是把数据放在你led显存的RAM上了,以后写数据元素就是向0x1e0以上的地址写数据了
| 2019-1-23 09:45 | 显示全部楼层

也可以用指针去操作,也是让数组放在哪个地址上

unsigned int xdata dis_ram[] =  (*unsigned int)0x1e0;
| 2019-1-23 09:48 | 显示全部楼层
应该这样写,没有调试,如果不对,帮忙修改下哈!
| 2019-1-23 09:50 | 显示全部楼层

void LCD_Write( unsigned  int address, unsigned char dat)
{
      unsigned char *ptr;
      ptr = (unsigned char *)(address+0x01e0);
     *ptr = dat;
}

你试一试吧!
LCD RAM每一位都是COM与SEG的交叉点,具体研究一下DATASHEET。
写1的话,意味着交叉点点亮!
| 2019-1-23 09:54 | 显示全部楼层
用指针操作当然没什么问题了,关键是不好写代码啊。。。
 楼主 | 2019-1-23 09:58 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表