找回密码
 立即注册
楼主: zl_diy

8H4K64TLCD驱动段码LCD的寄存器咨询

[复制链接]

1

主题

5

回帖

31

积分

新手上路

积分
31
发表于 2023-5-26 10:45:10 | 显示全部楼层
建议资料中,着重讲解一下,毕竟大家用HT这类驱动较多,STC也是刚出来这种LCD驱动,很容易混淆,导致走弯路。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:521
  • 最近打卡:2025-05-02 09:38:13

109

主题

1900

回帖

5214

积分

论坛元老

积分
5214
发表于 2024-4-28 15:24:31 | 显示全部楼层
本帖最后由 xxkj2010 于 2024-4-28 15:25 编辑

正在学习有关段码屏的知识,请教一下,像要用1621来驱动这款段码屏

截图202404281523014470.jpg

我只要S16显示,需要发送什么数据?如果需要S16 S18显示,又该发送什么数据?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 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;即可。

截图202405061031595259.jpg

截图202405061037046865.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-01-25 01:38:04

1

主题

17

回帖

143

积分

注册会员

积分
143
发表于 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送什么数? 麻烦梁工,谢谢!
STC8H4K64TLCD_48脚连线图.png



点评

其实对应关系很简单的,比如P8,在COM0-SEG21,即在寄存器表中C0S21这个点就是P8,就是C0SEGV2的bit5,写1就会显示P8,其余各点一样道理。 可以参考我的例子,设置显存,操作好显存之后,再传给寄存器。 [attachi  详情 回复 发表于 2024-8-2 16:45
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-8-2 16:45:29 | 显示全部楼层
fs*** 发表于 2024-8-2 15:16
梁工您好!最近在用STC8H4K64TLCD48脚的芯片驱动一个段码屏,为了方便连线就没有按照正常的顺序连接(画图 ...

其实对应关系很简单的,比如P8,在COM0-SEG21,即在寄存器表中C0S21这个点就是P8,就是C0SEGV2的bit5,写1就会显示P8,其余各点一样道理。
可以参考我的例子,设置显存,操作好显存之后,再传给寄存器。



截图202408021641018379.jpg


我常用很笨的方法,随便连线,然后通过串口送数据给显存,看点亮哪个段,记下来即可。

截图202408021645137942.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-01-25 01:38:04

1

主题

17

回帖

143

积分

注册会员

积分
143
发表于 2024-8-2 17:09:50 | 显示全部楼层
谢谢梁工的及时回复,感谢!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-01-25 01:38:04

1

主题

17

回帖

143

积分

注册会员

积分
143
发表于 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表示的字符,但实际始终不出现?硬件应该没有问题,因为用手触摸屏的管脚基本所有的字符都能出现。

配置程序1.png

配置程序2.png

点评

MCU与LCD连接的电路贴一下,我确认一下连接是否有误。  详情 回复 发表于 2024-8-3 10:02
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12079
发表于 2024-8-3 10:02:12 | 显示全部楼层
fs*** 发表于 2024-8-3 01:47
梁工,我用的是48脚芯片,论坛上好像都是用的64脚的。按照梁工所说试验了很久P8代表的字符始终不出现。我 ...

MCU与LCD连接的电路贴一下,我确认一下连接是否有误。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-01-25 01:38:04

1

主题

17

回帖

143

积分

注册会员

积分
143
发表于 2024-8-3 11:17:26 | 显示全部楼层
梁*** 发表于 2024-8-3 10:02
MCU与LCD连接的电路贴一下,我确认一下连接是否有误。

谢谢梁工。单片机图上晶振未用,用的内部晶振。看手册这款芯片有A版,B版,不知实际用的是A版还是B版?
STC8H4K64TLCD_48脚.png 段码屏23脚.png



点评

液晶屏电路不全,看不出来。  详情 回复 发表于 2024-8-3 12:32
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:24
  • 最近打卡:2025-01-25 01:38:04

1

主题

17

回帖

143

积分

注册会员

积分
143
发表于 2024-8-3 11:35:54 | 显示全部楼层
梁*** 发表于 2024-8-3 10:02
MCU与LCD连接的电路贴一下,我确认一下连接是否有误。

背光,蜂鸣器,发光二极管都能够被单片机正常控制。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 13:14 , Processed in 0.209051 second(s), 107 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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