zl_diy
发表于 2023-5-26 10:45:10
建议资料中,着重讲解一下,毕竟大家用HT这类驱动较多,STC也是刚出来这种LCD驱动,很容易混淆,导致走弯路。
xxkj2010
发表于 2024-4-28 15:24:31
本帖最后由 xxkj2010 于 2024-4-28 15:25 编辑
正在学习有关段码屏的知识,请教一下,像要用1621来驱动这款段码屏
我只要S16显示,需要发送什么数据?如果需要S16 S18显示,又该发送什么数据?
梁工
发表于 2024-5-6 11:29:43
其实所有的段码驱动都是差不多的,就是找到COMn与SEGn的交叉点就是显存对应的段,写1显示,写0不显示。
对于STC的显存排列,我拷贝局部的寄存器如下图:
STC的SEGMENT是从0开始命名的, 比如C0SEGV0就是COM0与SEG0~SEG7交叉点对应的段,而S16安排在C0SEGV0的bit0,则要显示S16,只需要执行 C0SEGV0 |= 0x01;即可。要熄灭S16,则C0SEGV0 &= ~0x01;即可。
而S18安排在C2SEGV0的bit0,则要显示S18,只需要执行 C2SEGV0 |= 0x01;即可。要熄灭S18,则C2SEGV0 &= ~0x01;即可。
fsy
发表于 2024-8-2 15:16:35
梁工 发表于 2024-5-6 11:29
其实所有的段码驱动都是差不多的,就是找到COMn与SEGn的交叉点就是显存对应的段,写1显示,写0不显示。
对 ...
梁工您好!最近在用STC8H4K64TLCD48脚的芯片驱动一个段码屏,为了方便连线就没有按照正常的顺序连接(画图前也看了论坛上的相关帖子说不按顺序连也可,就是程序麻烦一点).因为STC手册上对这款具有LCD芯片的相关寄存器的文字说明基本没有,又因为连接不规范实际写代码感觉理解不深怎么写都不能正常显示。请教梁工,按下面真值表的连接(COM的连接没有问题,但注意SEG段的连接没有连续),如果要显示P8(接单片机SEG21),x(单片机SEG20), 8G(单片机SEG8), 6D(接单片机SEG1), P12(接单片机SEG0),应该向CnSEGm送什么数? 麻烦梁工,谢谢!
梁工
发表于 2024-8-2 16:45:29
fsy 发表于 2024-8-2 15:16
梁工您好!最近在用STC8H4K64TLCD48脚的芯片驱动一个段码屏,为了方便连线就没有按照正常的顺序连接(画图 ...
其实对应关系很简单的,比如P8,在COM0-SEG21,即在寄存器表中C0S21这个点就是P8,就是C0SEGV2的bit5,写1就会显示P8,其余各点一样道理。
可以参考我的例子,设置显存,操作好显存之后,再传给寄存器。
我常用很笨的方法,随便连线,然后通过串口送数据给显存,看点亮哪个段,记下来即可。
fsy
发表于 2024-8-2 17:09:50
谢谢梁工的及时回复,感谢!
fsy
发表于 2024-8-3 01:47:57
梁工 发表于 2024-8-2 16:45
其实对应关系很简单的,比如P8,在COM0-SEG21,即在寄存器表中C0S21这个点就是P8,就是C0SEGV2的bit5,写 ...
梁工,我用的是48脚芯片,论坛上好像都是用的64脚的。按照梁工所说试验了很久P8代表的字符始终不出现。我怀疑我的LCD的配置是不是有问题?麻烦梁工及使用过这个48脚芯片的坛友帮看一下,哪里存在问题?我在main里面调用了这个函数,因为有 C0SEGV2 |= 0x20;那么应该显示P8表示的字符,但实际始终不出现?硬件应该没有问题,因为用手触摸屏的管脚基本所有的字符都能出现。
梁工
发表于 2024-8-3 10:02:12
fsy 发表于 2024-8-3 01:47
梁工,我用的是48脚芯片,论坛上好像都是用的64脚的。按照梁工所说试验了很久P8代表的字符始终不出现。我 ...
MCU与LCD连接的电路贴一下,我确认一下连接是否有误。
fsy
发表于 2024-8-3 11:17:26
梁工 发表于 2024-8-3 10:02
MCU与LCD连接的电路贴一下,我确认一下连接是否有误。
谢谢梁工。单片机图上晶振未用,用的内部晶振。看手册这款芯片有A版,B版,不知实际用的是A版还是B版?
fsy
发表于 2024-8-3 11:35:54
梁工 发表于 2024-8-3 10:02
MCU与LCD连接的电路贴一下,我确认一下连接是否有误。
背光,蜂鸣器,发光二极管都能够被单片机正常控制。