标题: 如图,共阴数码管的段码A-DP链接IO口,怎么取段码表? [打印本页]

作者: 702724152    时间: 2025-4-27 18:07
标题: 如图,共阴数码管的段码A-DP链接IO口,怎么取段码表?
传统的共阴极数码管 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 (319.91 KB, 下载次数: 0)

SCH_Schematic1_1-P1_2025-04-26.jpg

作者: WL0123    时间: 2025-4-27 20:37
任意端口组合驱动数码管.rar (137.61 KB, 下载次数: 0) 内含仿真

作者: 702724152    时间: 2025-4-27 22:41
WL0123 发表于 2025-4-27 20:37
内含仿真

明白了,谢谢。还是得一位一位操作再赋值
作者: QQ1DFDB5    时间: 2025-5-28 19:03
程序设计中,赋值就可以了。
作者: zhuls    时间: 2025-5-28 22:13
因为一条指令只能对一个寄存器赋值!
而你的SEG分散到各个寄存器,(IO口也是寄存器)
所以不管你用什么方法,
最终也是各个寄存器分别赋值,
做不到一条指令/一次性完成.
不过你可以按寄存器去赋值,至少能省几条指令。
比如 P2|=0x06; 表示P21、P22同时输出高电平,
至于P21、P22是什么电平,则需根据段码表数据去提取了。

是什么原因要让Seg变的这么分散?
你这图中P0、P1、P2、P3都有,有点坑人。。
占用2个口还可以强忍,4个口就有点过了。。
有时PCB上多打个过孔就能解决代码中的一大堆指令。。
软件、硬件多多沟通吧。
作者: Hephaestus    时间: 2025-6-2 20:07
zhuls 发表于 2025-5-28 22:13
因为一条指令只能对一个寄存器赋值!
而你的SEG分散到各个寄存器,(IO口也是寄存器)
所以不管你用什么方 ...

请仔细看图,SEG绝对不可能放在一个端口上。
作者: zhuls    时间: 2025-6-2 21:44
Hephaestus 发表于 2025-6-2 20:07
请仔细看图,SEG绝对不可能放在一个端口上。

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

PCB上不能绕线还是咋地?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1