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

STC8H4K64TL用不了T11定时器

[复制链接]

1

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2024-2-22 14:22:34 | 显示全部楼层 |阅读模式
因STC8H4K64T的4个定时器不够使用,我看到STC8H手册有T11定时器,根据本论坛给的例子试过不可以,用中断方式不行,测试时钟输出到P15管脚也不可以,难道这个芯片不支持?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6845

积分

论坛元老

积分
6845
发表于 2024-2-22 14:33:05 | 显示全部楼层
STC8H4K64Txx系列没有T11
截图202402221432223936.jpg
回复 支持 反对

使用道具 举报 送花

1

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2024-2-22 14:42:43 | 显示全部楼层
了解,多谢
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:32
  • 最近打卡:2025-04-30 10:59:33

25

主题

1154

回帖

2391

积分

超级版主

积分
2391
发表于 2024-2-22 15:19:11 | 显示全部楼层
STC8H2K08U-45MHz-TSSOP20/SOP16
低功耗,24位定时器 T11 应用, 可以省电模式唤醒


参数定义:
  • #define MAIN_Fosc        11059200UL
  • #define T11MS12T         (65536 - MAIN_Fosc / 12 / 1000)
  • #define T11MS1T          (65536 - MAIN_Fosc / 1000)

复制代码

中断函数:
  • void tm11isr() interrupt 13 //借用13号中断向量地址,在isr.asm进行中断映射
  • {
  • //    T11CR &= ~0x01;     //清中断标志T11IF,进中断时硬件自动清除
  •     P10 = ~P10;
  • }

复制代码

定时器(12T)模式:
  •     //定时器(12T)
  •     T11CR = 0x00;       //做定时器,关闭时钟输出,12T模式,系统时钟做时钟源
  •     T11PS = 0;          //分频系数:(T11PS+1)分频
  •     T11L = T11MS12T;
  •     T11H = T11MS12T >> 8;
  •     T11CR |= 0x82;      //定时器11开始计数,允许中断
  •     EA = 1;

复制代码

定时器(1T)模式:
  •     //定时器(1T)
  •     T11CR = 0x10;       //做定时器,关闭时钟输出,1T模式,系统时钟做时钟源
  •     T11PS = 0;          //分频系数:(T11PS+1)分频
  •     T11L = T11MS1T;
  •     T11H = T11MS1T >> 8;
  •     T11CR |= 0x82;      //定时器11开始计数,允许中断
  •     EA = 1;

复制代码

计数器模式:
  •     //计数模式 - T11脚(P14)输入脉冲计数
  •     T11CR = 0x50;       //做计数器,关闭时钟输出,1T模式,系统时钟做时钟源
  •     T11PS = 0;          //分频系数:(T11PS+1)分频
  •     T11L = 0xff;
  •     T11H = 0xff;
  •     T11CR |= 0x82;      //定时器11开始计数,允许中断
  •     EA = 1;

复制代码

选择时钟源:
  •     //选择时钟源
  • //    T11CR = 0x10;       //做定时器,关闭时钟输出,1T模式,系统时钟做时钟源
  •     T11CR = 0x1c;       //做定时器,关闭时钟输出,1T模式,内部低速IRC做时钟源(自动启动内部低速IRC)
  • //    T11CR = 0x18;       //做定时器,关闭时钟输出,1T模式,外部32K晶振做时钟源
  •     T11PS = 0;          //分频系数:(T11PS+1)分频
  •     T11L = T11MS1T;
  •     T11H = T11MS1T >> 8;
  •     T11CR |= 0x82;      //定时器11开始计数,允许中断
  •     EA = 1;


复制代码

如果使用外部32K晶振做时钟源需要提前启动外部32K晶振:
  •     X32KCR = 0x80 + 0x40;   //启动外部32K晶振, 低增益+0x00, 高增益+0x40.
  •     while (!(X32KCR & 1));  //等待时钟稳定




定时器T11.zip

13.72 KB, 下载次数: 56

点评

优秀!  发表于 2024-2-22 15:21
STC官网:https://www.stcai.com/
QQ:2593903262
微信号:18106296598
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-2-22 15:22:24 | 显示全部楼层
剩下的可以考虑用PWM定时器
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-4 20:04 , Processed in 0.160757 second(s), 82 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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