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

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

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:186
  • 最近打卡:2025-06-14 09:52:20
已绑定手机

95

主题

976

回帖

2473

积分

超级版主

积分
2473
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, 下载次数: 204)
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);
}
  • 打卡等级:常住居民III
  • 打卡总天数:186
  • 最近打卡:2025-06-14 09:52:20
已绑定手机

95

主题

976

回帖

2473

积分

超级版主

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

1.png


热线19952583534
www.STCAI.com
  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-06-17 08:13:13

733

主题

1万

回帖

1万

积分

管理员

积分
16655
发表于 2022-12-21 11:27:25 | 显示全部楼层
jzy_*** 发表于 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, 2025-6-17 08:19 , Processed in 0.129265 second(s), 83 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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