找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 601|回复: 6
收起左侧

如图,共阴数码管的段码A-DP链接IO口,怎么取段码表?

[复制链接]
ID:1045601 发表于 2025-4-27 18:07 来自触屏版 | 显示全部楼层 |阅读模式
传统的共阴极数码管 0 到 F 的段码值为:{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}。而图的段码链接不规则,怎么取段码表。只能一位一位操作段码吗?
SCH_Schematic1_1-P1_2025-04-26.jpg
回复

使用道具 举报

ID:1133081 发表于 2025-4-27 20:37 | 显示全部楼层
任意端口组合驱动数码管.rar (137.61 KB, 下载次数: 0) 内含仿真
回复

使用道具 举报

ID:1045601 发表于 2025-4-27 22:41 来自触屏版 | 显示全部楼层
WL0123 发表于 2025-4-27 20:37
内含仿真

明白了,谢谢。还是得一位一位操作再赋值
回复

使用道具 举报

ID:1152021 发表于 2025-5-28 19:03 来自触屏版 | 显示全部楼层
程序设计中,赋值就可以了。
回复

使用道具 举报

ID:69038 发表于 2025-5-28 22:13 | 显示全部楼层
因为一条指令只能对一个寄存器赋值!
而你的SEG分散到各个寄存器,(IO口也是寄存器)
所以不管你用什么方法,
最终也是各个寄存器分别赋值,
做不到一条指令/一次性完成.
不过你可以按寄存器去赋值,至少能省几条指令。
比如 P2|=0x06; 表示P21、P22同时输出高电平,
至于P21、P22是什么电平,则需根据段码表数据去提取了。

是什么原因要让Seg变的这么分散?
你这图中P0、P1、P2、P3都有,有点坑人。。
占用2个口还可以强忍,4个口就有点过了。。
有时PCB上多打个过孔就能解决代码中的一大堆指令。。
软件、硬件多多沟通吧。
回复

使用道具 举报

ID:883242 发表于 2025-6-2 20:07 | 显示全部楼层
zhuls 发表于 2025-5-28 22:13
因为一条指令只能对一个寄存器赋值!
而你的SEG分散到各个寄存器,(IO口也是寄存器)
所以不管你用什么方 ...

请仔细看图,SEG绝对不可能放在一个端口上。
回复

使用道具 举报

ID:69038 发表于 2025-6-2 21:44 | 显示全部楼层
Hephaestus 发表于 2025-6-2 20:07
请仔细看图,SEG绝对不可能放在一个端口上。

"有时PCB上多打个过孔就能解决代码中的一大堆指令。。"

PCB上不能绕线还是咋地?
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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