找回密码
 立即注册
查看: 2192|回复: 5

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

[复制链接]
  • TA的每日心情
    开心
    昨天 15:39
  • 签到天数: 94 天

    [LV.6]常住居民II

    69

    主题

    609

    回帖

    1895

    积分

    超级版主

    积分
    1895
    QQ
    发表于 2022-11-17 14:31:52 | 显示全部楼层 |阅读模式
    本帖最后由 国学芯用 于 2022-11-19 11:12 编辑

    STC8H4K64TL-45I-LQFP48:
    16个 触摸按键,RTC,
    可驱动32个 8-LED数码管,16个 Segment
    8个 COM 大电流驱动到80mA,可分时共阴、共阳,当16个 COM使用

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

    STC8H4K64TL主要功能演示板(4)-20221119.PDF (293.25 KB, 下载次数: 115)
    STC8H4K64TL演示方案讨论稿.jpg
    热线19952583534
    www.STCAI.com
    回复 送花

    使用道具 举报

    该用户从未签到

    1

    主题

    6

    回帖

    27

    积分

    新手上路

    积分
    27
    发表于 2022-12-21 11:06:33 | 显示全部楼层
    STC8H4K64TL,这个芯片自带的LED驱动器,按资料提供的程序,无法编译通过,自己重新书写程序,程序编译通过,但LED驱动器没有反应,请问下楼主是什么问题

    点评

    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=337&extra=page%3D1 32组8段数码管,亮度有些低:1,改用高亮数码管;2,实际产品不用这么多组数码管,如4组/8组8段数码管就够了  详情 回复 发表于 2022-12-21 11:27

    该用户从未签到

    1

    主题

    6

    回帖

    27

    积分

    新手上路

    积分
    27
    发表于 2022-12-21 11:08:32 | 显示全部楼层
    芯片肯定没有问题,我单纯用IO端口驱动数码管动态显示,完全正常,只是亮度太暗了,没法用,就想用它自带的80mA的LED驱动器

    该用户从未签到

    1

    主题

    6

    回帖

    27

    积分

    新手上路

    积分
    27
    发表于 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[16]=
    {
            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[0];
            COM1_DA = PATTERN[1];
            COM2_DA = PATTERN[2];
            COM3_DA = PATTERN[3];
            COM4_DA = PATTERN[4];
            COM5_DA = PATTERN[5];
            COM6_DA = PATTERN[6];
            COM7_DA = PATTERN[7];       
           
            COM0_DC = PATTERN[0];
            COM1_DC = PATTERN[1];
            COM2_DC = PATTERN[2];
            COM3_DC = PATTERN[3];
            COM4_DC = PATTERN[4];
            COM5_DC = PATTERN[5];
            COM6_DC = PATTERN[6];
            COM7_DC = PATTERN[7];               
           
            LEDCTRL|=0x80;
           
            P_SW2 &= ~0x80;
           
            while(1);
    }
  • TA的每日心情
    开心
    昨天 15:39
  • 签到天数: 94 天

    [LV.6]常住居民II

    69

    主题

    609

    回帖

    1895

    积分

    超级版主

    积分
    1895
    QQ
     楼主| 发表于 2022-12-21 11:25:20 | 显示全部楼层
    记得添加STC8H系列的头文件
    可以从 STC-ISP V6.91C以上版本的 ISP烧录/辅助开发工具包一体化软件的
    //资料下载// 专栏 中下载 开源的 C语言代码, 开源的原理图

    1.png


    热线19952583534
    www.STCAI.com

    该用户从未签到

    551

    主题

    9456

    回帖

    1万

    积分

    管理员

    积分
    13993
    发表于 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


    1.png

    32组8段数码管,亮度有些低:1,改用高亮数码管;2,实际产品不用这么多组数码管,如4组/8组8段数码管就够了
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-16 21:02 , Processed in 0.079895 second(s), 53 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表