sky999 发表于 2024-9-7 02:30:22

这个LED的寄存器被手册搞迷糊了

范例程序中,这个寄存器并没有H和L之分呀,但是实际上这个寄存器有H和L之分,不明白是什么意思,也不明白什么作用




sky999 发表于 2024-9-7 05:45:56

wnagming 发表于 2024-9-7 05:44
寄存器是8位的,高字节是H,低字节是L,如果使用16位的变量或者指针操作,只需要一个变量或指针就行,所以 ...

但是不对啊,数码管的段码肯定是8位的啊,哪有16位的段码

小飞侠 发表于 2024-9-7 07:11:52

是不是共阴共阳用的,手册没有介绍的话可以对应着看看例程,应该能看明白

mengjun 发表于 2024-9-7 08:36:51

有的例程是从其他系列的手册上复制过来的,可能有的不太那么准确

angmall 发表于 2024-9-7 09:00:14

我用这个头文件 STC8Hxxx.h。

#define COM0_DAL(*(unsigned char volatile xdata *)0xfb10)        /* 共阳模式显示数据 */
#define COM1_DAL(*(unsigned char volatile xdata *)0xfb11)        /* 共阳模式显示数据 */
#define COM2_DAL(*(unsigned char volatile xdata *)0xfb12)        /* 共阳模式显示数据 */
#define COM3_DAL(*(unsigned char volatile xdata *)0xfb13)        /* 共阳模式显示数据 */
#define COM4_DAL(*(unsigned char volatile xdata *)0xfb14)        /* 共阳模式显示数据 */
#define COM5_DAL(*(unsigned char volatile xdata *)0xfb15)        /* 共阳模式显示数据 */
#define COM6_DAL(*(unsigned char volatile xdata *)0xfb16)        /* 共阳模式显示数据 */
#define COM7_DAL(*(unsigned char volatile xdata *)0xfb17)        /* 共阳模式显示数据 */
#define COM0_DAH(*(unsigned char volatile xdata *)0xfb18)        /* 共阳模式显示数据 */
#define COM1_DAH(*(unsigned char volatile xdata *)0xfb19)        /* 共阳模式显示数据 */
#define COM2_DAH(*(unsigned char volatile xdata *)0xfb1a)        /* 共阳模式显示数据 */
#define COM3_DAH(*(unsigned char volatile xdata *)0xfb1b)        /* 共阳模式显示数据 */
#define COM4_DAH(*(unsigned char volatile xdata *)0xfb1c)        /* 共阳模式显示数据 */
#define COM5_DAH(*(unsigned char volatile xdata *)0xfb1d)        /* 共阳模式显示数据 */
#define COM6_DAH(*(unsigned char volatile xdata *)0xfb1e)        /* 共阳模式显示数据 */
#define COM7_DAH(*(unsigned char volatile xdata *)0xfb1f)        /* 共阳模式显示数据 */

#define COM0_DCL(*(unsigned char volatile xdata *)0xfb20)        /* 共阴模式显示数据 */
#define COM1_DCL(*(unsigned char volatile xdata *)0xfb21)        /* 共阴模式显示数据 */
#define COM2_DCL(*(unsigned char volatile xdata *)0xfb22)        /* 共阴模式显示数据 */
#define COM3_DCL(*(unsigned char volatile xdata *)0xfb23)        /* 共阴模式显示数据 */
#define COM4_DCL(*(unsigned char volatile xdata *)0xfb24)        /* 共阴模式显示数据 */
#define COM5_DCL(*(unsigned char volatile xdata *)0xfb25)        /* 共阴模式显示数据 */
#define COM6_DCL(*(unsigned char volatile xdata *)0xfb26)        /* 共阴模式显示数据 */
#define COM7_DCL(*(unsigned char volatile xdata *)0xfb27)        /* 共阴模式显示数据 */
#define COM0_DCH(*(unsigned char volatile xdata *)0xfb28)        /* 共阴模式显示数据 */
#define COM1_DCH(*(unsigned char volatile xdata *)0xfb29)        /* 共阴模式显示数据 */
#define COM2_DCH(*(unsigned char volatile xdata *)0xfb2a)        /* 共阴模式显示数据 */
#define COM3_DCH(*(unsigned char volatile xdata *)0xfb2b)        /* 共阴模式显示数据 */
#define COM4_DCH(*(unsigned char volatile xdata *)0xfb2c)        /* 共阴模式显示数据 */
#define COM5_DCH(*(unsigned char volatile xdata *)0xfb2d)        /* 共阴模式显示数据 */
#define COM6_DCH(*(unsigned char volatile xdata *)0xfb2e)        /* 共阴模式显示数据 */
#define COM7_DCH(*(unsigned char volatile xdata *)0xfb2f)        /* 共阴模式显示数据 */


STC8Hxxx.h

soma 发表于 2024-9-7 09:09:33

看数据手册,会有寄存器说明的

angmall 发表于 2024-9-7 09:15:21

例程 参考这个。

跳线选择16个触摸按键,32个8段LED数码管大电流自动刷新
===32个8段LED 数码管大电流自动刷新, 本电路是成功的

STC8H4K64TL-45I-LQFP48, 核心功能演示板

1,32个 8段LED 数码管大电流自动刷新演示
2,16个触摸按键

https://www.stcaimcu.com/data/attachment/forum/202212/14/140619incumd1ck17wkkyd.png

DebugLab 发表于 2024-9-7 09:32:22

直接写寄存器就行
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=6404
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7591

stcmcu_xy 发表于 2024-9-7 09:58:23

数码管有16位的段码的。

梁工 发表于 2024-9-7 12:12:54

有8个COM,16个SEG,要分两个字节,可以驱动共阴16个、共阳16个一共32个数码管。
页: [1] 2
查看完整版本: 这个LED的寄存器被手册搞迷糊了