STC8H4K64TL演示方案讨论稿,请大家多提建议
本帖最后由 国学芯用 于 2022-11-19 11:12 编辑STC8H4K64TL-45I-LQFP48: 16个 触摸按键,RTC,可驱动32个 8-LED数码管,16个 Segment8个 COM 大电流驱动到80mA,可分时共阴、共阳,当16个 COM使用
演示方案讨论稿,大家多提建议
STC8H4K64TL,这个芯片自带的LED驱动器,按资料提供的程序,无法编译通过,自己重新书写程序,程序编译通过,但LED驱动器没有反应,请问下楼主是什么问题 芯片肯定没有问题,我单纯用IO端口驱动数码管动态显示,完全正常,只是亮度太暗了,没法用,就想用它自带的80mA的LED驱动器 以下是资料上提供的程序,原文复制后,编译有错,某工程师说,原文复制,原文复制,原文复制肯定能行。强调了好几次
但是摆明了,有几个寄存器未定义,不知道他们是怎么通过的,
#include "reg51.h"
#include "intrins.h"
sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xc9;
sfr P5M0 = 0xca;
#define COMEN (*(unsigned char volatile xdata *)0xfb00)
#define SEGENL (*(unsigned char volatile xdata *)0xfb01)
#define LEDCTR (*(unsigned char volatile xdata *)0xfb03)
#define LEDCKS (*(unsigned char volatile xdata *)0xfb04)
#define COM0_DA (*(unsigned char volatile xdata *)0xfb10)
#define COM1_DA (*(unsigned char volatile xdata *)0xfb11)
#define COM2_DA (*(unsigned char volatile xdata *)0xfb12)
#define COM3_DA (*(unsigned char volatile xdata *)0xfb13)
#define COM4_DA (*(unsigned char volatile xdata *)0xfb14)
#define COM5_DA (*(unsigned char volatile xdata *)0xfb15)
#define COM6_DA (*(unsigned char volatile xdata *)0xfb16)
#define COM7_DA (*(unsigned char volatile xdata *)0xfb17)
#define COM0_DC (*(unsigned char volatile xdata *)0xfb20)
#define COM1_DC (*(unsigned char volatile xdata *)0xfb21)
#define COM2_DC (*(unsigned char volatile xdata *)0xfb22)
#define COM3_DC (*(unsigned char volatile xdata *)0xfb23)
#define COM4_DC (*(unsigned char volatile xdata *)0xfb24)
#define COM5_DC (*(unsigned char volatile xdata *)0xfb25)
#define COM6_DC (*(unsigned char volatile xdata *)0xfb26)
#define COM7_DC (*(unsigned char volatile xdata *)0xfb27)
char code PATTERN=
{
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,
};
void main()
{
P1M0 = 0xff;//ÉèÖö˿ÚÎªÍÆÍìÊä³ö
P1M1 = 0x00;//ÉèÖö˿ÚP14Ϊ¸ß×èÊäÈ룬ÆäÓà¶Ë¿ÚΪ׼˫ÏòIO¿Ú
P3M0 = 0xff;//ÉèÖö˿ÚÎªÍÆÍìÊä³ö
P3M1 = 0x00;//ÉèÖö˿ÚΪ׼˫ÏòIO¿Ú
P5M0 = 0x10;
P5M1 = 0x00;
P_SW2 = 0x80;
COMEN = 0xff;//ʹÄÜCOM0~COM3
SEGENL = 0xff;//ʹÄÜSEG0~SEG7
LEDCTRL = 0x20;//LEDÇý¶¯Ê¹ÄÜ£¬¹²Ñôģʽ£¬»Ò¶ÈΪ100%
LEDCKS = 0x07;//ÉèÖÃLEDË¢ÐÂÆµÂÊΪ7
COM0_DA = PATTERN;
COM1_DA = PATTERN;
COM2_DA = PATTERN;
COM3_DA = PATTERN;
COM4_DA = PATTERN;
COM5_DA = PATTERN;
COM6_DA = PATTERN;
COM7_DA = PATTERN;
COM0_DC = PATTERN;
COM1_DC = PATTERN;
COM2_DC = PATTERN;
COM3_DC = PATTERN;
COM4_DC = PATTERN;
COM5_DC = PATTERN;
COM6_DC = PATTERN;
COM7_DC = PATTERN;
LEDCTRL|=0x80;
P_SW2 &= ~0x80;
while(1);
}
记得添加STC8H系列的头文件
可以从 STC-ISP V6.91C以上版本的 ISP烧录/辅助开发工具包一体化软件的 //资料下载// 专栏 中下载 开源的 C语言代码, 开源的原理图
jzy_uan 发表于 2022-12-21 11:06
STC8H4K64TL,这个芯片自带的LED驱动器,按资料提供的程序,无法编译通过,自己重新书写程序,程序编译通过 ...
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=337&extra=page%3D1
32组8段数码管,亮度有些低:1,改用高亮数码管;2,实际产品不用这么多组数码管,如4组/8组8段数码管就够了
页:
[1]