高级会员
主题
回帖0
积分1487
阅读权限30
注册时间2011-4-11
最后登录1970-1-1
在线时间 小时
|
本帖最后由 sailing8 于 2013-4-3 01:12 编辑
首先感谢“文句子”大侠为这个1元液晶所做的大量工作!
“文句子”大侠原帖在此: 面对三无的液晶模块,我来图文介绍一下自己方法(以三无1602为例)
下图是该液晶卖家实物照片和参照“文句子”大侠提供的程序将该液晶点亮后的效果
该液晶采用KS0074主控,除初始化部分外,与标准1602基本兼容,还是很有性价比的。
最上面比标准1602多出来的一行天线、电池电量、信号强度、MENU等图标,也很适合Diy LCR表等手持仪表使用。
可惜的是“文句子”大侠日理万机,没有更多的空闲时间给出如何控制这行图标的具体代码,实际使用中总觉得这行随机的图标不受控而不够完美。偶然在隔壁论坛看到了“文句子”大侠的留言: | 文句子 | M币 | +5 | 03-09 | 你可以抽空把ICON寄存器和图标的对应关系找出来,我记得在RE=1的情况下访问的。 |
既然受益于大侠的成果,咱也做点实际工作,回报大侠的指教和辛劳。经过不懈努力,现将这个淘宝最便宜的1602液晶最后的达芬奇密码公布出来,方便手里有这个字符液晶屏的坛友完美使用它。
此液晶屏共有图标7个,分别是:1-天线与信号强度 2-电池与电量 3-MENU 4-警铃 5-书本 6-信封 7-电话,采用的是段驱动的方式,在RE=1的情况下(再次敬仰大侠)对应的段SEGRAM AC3 AC2 AC1 AC0地址是:00 ~ 15。其中,‘天线与信号强度’因显示细节多,占2个地址字节,其余均占用一个地址字节。具体地址分配如下:
00 01 (02 03) 04 05 (06 07 08) 09 10 11 12 13 14 15
天线+4格信号 1格信号 空 电池与3格电量 MENU 空 警铃 空 书本 空 信封 空 电话
这个对应关系非常混乱,如果不是为了PCB布线方便,可以说基本就是一个典型的脑残型设计,给控制软件的编制制造了很大的麻烦。
下面是我使用的C语言验证程序段和验证效果:
#define LCD_ICON_BLINK 0x80
#define lcd_iconAddr(adr) lcd_command(0x2c); lcd_command(0x40+adr);
#define lcd_backScreen() lcd_command(0x28); lcd_command(0x80); //返回字符显示区
void lcd_Icon(unsigned char addr,unsigned char mark)
{
lcd_iconAddr(addr);
lcd_data(mark);
lcd_backScreen();
}
void demoIcon()
{
lcd_Icon(0,0+0x3f);lcd_Icon(1,0+0x3f); //显示左边‘天线与5格信号强度’
lcd_Icon(15,0+0x3f); //显示右边‘电话’
lcd_Icon(9,0x3f); //显示警铃5秒
DelaySec(5);
lcd_Icon(9,0x00); //消除它
}
新人首次发帖,不足之处敬请见谅。
|
评分
-
查看全部评分
|