HT1621写命令的低位为什么是8位?

2019-03-25 18:45发布

没写过HT1621的程序,最近看了一些资料,说写命令是101+6位地址+4位数据组成。6位地址是SEG位,4位数据是什么位组成?是不是COM?
还有,数据位是4位,为什么别人写的程序都是8位呢?是什么意思呢?
下面是我看到的一段程序:
/////////////////////////////////////////////////////
void WriteByte_1621(INT8U addr,INT8U data)
{
     addr<<=2;
     cs=0;
     Nop();
     Nop();
     Nop();
     Nop();
     SendBit_1621(0xa0,3);                //写入标志码"101"
     SendBit_1621(addr,6);                //写入addr的高6位
     SendDataBit_1621(data,8);                //写入data的低8位
     cs=1;
}
//////////////////////////////////////////////////////////////////////////////
我试过将data写成0x0f(因为数据是低4位)LCD显示不全,而改成0xf0(这不是高4位了么?)就可以全笔段显示了,这是为什么?

哪位大哥帮帮手,感激! 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
DavidZH
1楼-- · 2019-03-26 00:44
用TM1621直接找原厂技术支持,
dingzy_2002
2楼-- · 2019-03-26 03:27
HT1621的数据显示,与LCD段位表息息相关,首先要看段位表对应的数据,其实发送8位已经是两个段位的数据了
yealien
3楼-- · 2019-03-26 09:27
dingzy_2002 发表于 2018-6-13 15:28
HT1621的数据显示,与LCD段位表息息相关,首先要看段位表对应的数据,其实发送8位已经是两个段位的数据了

不管LCD的真值表如何,但1621发送写命令的指令始终是“101+6位地址+4位数据”格式,如果后面是8位的数据,不是有4位不能发出吗?这样写个8位还有什么意义呢?
dingzy_2002
4楼-- · 2019-03-26 13:58
yealien 发表于 2018-6-14 09:44
不管LCD的真值表如何,但1621发送写命令的指令始终是“101+6位地址+4位数据”格式,如果后面是8位的数据 ...

TIM截图20180614120308.png
这个是HT1621的写命令时序图
发4位是单地址显示,如果发8位数据,将是连续写模式,包含两个地址的数据.
yealien
5楼-- · 2019-03-26 18:49
dingzy_2002 发表于 2018-6-14 12:05
这个是HT1621的写命令时序图
发4位是单地址显示,如果发8位数据,将是连续写模式,包含两个地址的数据.

我也看到这个的,但连续写模式,也是先6位地址,后面跟的4位数据的,只不过这4位数据是连续的,就不知道这个4位与发数据的8位有什么联系。
当然你也会说一个8位等于两个4位,但是万一我想写入5个数据呢?不是要发两个8位数据加一个半位?
chenbingjy
6楼-- · 2019-03-26 19:55
 精彩回答 2  元偷偷看……

一周热门 更多>