这个LED的寄存器被手册搞迷糊了
范例程序中,这个寄存器并没有H和L之分呀,但是实际上这个寄存器有H和L之分,不明白是什么意思,也不明白什么作用wnagming 发表于 2024-9-7 05:44
寄存器是8位的,高字节是H,低字节是L,如果使用16位的变量或者指针操作,只需要一个变量或指针就行,所以 ...
但是不对啊,数码管的段码肯定是8位的啊,哪有16位的段码 是不是共阴共阳用的,手册没有介绍的话可以对应着看看例程,应该能看明白 有的例程是从其他系列的手册上复制过来的,可能有的不太那么准确 我用这个头文件 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
看数据手册,会有寄存器说明的 例程 参考这个。
跳线选择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 直接写寄存器就行
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=6404
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7591 数码管有16位的段码的。 有8个COM,16个SEG,要分两个字节,可以驱动共阴16个、共阳16个一共32个数码管。
页:
[1]
2