国学芯用 发表于 2022-11-17 14:31:52

STC8H4K64TL演示方案讨论稿,请大家多提建议

本帖最后由 国学芯用 于 2022-11-19 11:12 编辑

STC8H4K64TL-45I-LQFP48: 16个 触摸按键,RTC,可驱动32个 8-LED数码管,16个 Segment8个 COM 大电流驱动到80mA,可分时共阴、共阳,当16个 COM使用
演示方案讨论稿,大家多提建议


jzy_uan 发表于 2022-12-21 11:06:33

STC8H4K64TL,这个芯片自带的LED驱动器,按资料提供的程序,无法编译通过,自己重新书写程序,程序编译通过,但LED驱动器没有反应,请问下楼主是什么问题

jzy_uan 发表于 2022-12-21 11:08:32

芯片肯定没有问题,我单纯用IO端口驱动数码管动态显示,完全正常,只是亮度太暗了,没法用,就想用它自带的80mA的LED驱动器

jzy_uan 发表于 2022-12-21 11:13:20

以下是资料上提供的程序,原文复制后,编译有错,某工程师说,原文复制,原文复制,原文复制肯定能行。强调了好几次
但是摆明了,有几个寄存器未定义,不知道他们是怎么通过的,

#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);
}

国学芯用 发表于 2022-12-21 11:25:20

记得添加STC8H系列的头文件
可以从 STC-ISP V6.91C以上版本的 ISP烧录/辅助开发工具包一体化软件的 //资料下载// 专栏 中下载 开源的 C语言代码, 开源的原理图



神农鼎 发表于 2022-12-21 11:27:25

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]
查看完整版本: STC8H4K64TL演示方案讨论稿,请大家多提建议