找回密码
 立即注册
楼主: i_zw

T11定时器,新增24位低功耗定时器 T11

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-4-25 23:24:35 | 显示全部楼层
i_*** 发表于 2024-4-25 22:37
T11 只能用来内部IRC唤醒吗,是不是能也可以用系统时钟做普通定时器。文档例子代码注释的有用系统时钟的 ...

T11的时钟源灵活,除了低功耗唤醒,还支持普通定时器计数器的功能,是支持外部晶振和内部高低速IRC提供时基的,支持12T模式和8位预分频,我测试了没什么问题,下面的代码参考一下。

main.c

  1. #include "stc8h.h"
  2. #include "intrins.h"
  3. void Timer11_Isr(void) interrupt USER_VECTOR
  4. {
  5.         P16 = !P16;
  6.         P17 = !P16;                       
  7. }
  8. void Timer11_Init(void)                //1秒@11.0592MHz
  9. {
  10.         T11CR &= 0xf3;
  11.         T11CR |= 0x04;                        //选择时钟源 (内部高速IRC)
  12.         T11PS = 0x0E;                        //设置定时器时钟预分频 ( 注意:并非所有系列都有此寄存器,详情请查看数据手册 )
  13.         T11CR &= 0xEF;                        //定时器时钟12T模式
  14.         T11L = 0x00;                        //设置定时初始值
  15.         T11H = 0x10;                        //设置定时初始值
  16.         T11CR |= 0x80;                        //定时器11开始计时
  17.         T11CR |= 0x02;                        //使能定时器11中断
  18. }
  19. void main()
  20. {
  21.     EAXSFR();   //
  22.         P0M0 = 0x00;P0M1 = 0x00;
  23.     P1M0 = 0xc0;P1M1 = 0x00;
  24.     P2M0 = 0x00;P2M1 = 0x00;
  25.     P3M0 = 0x00;P3M1 = 0x00;
  26.     P4M0 = 0x00;P4M1 = 0x00;
  27.     P5M0 = 0x00;P5M1 = 0x00;
  28.     Timer11_Init();
  29.         EA = 1;
  30.     while (1);
  31. }
复制代码


irs.A51

  1.     CSEG    AT  021BH
  2.     JMP     006BH
  3.     END
复制代码








睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:338
  • 最近打卡:2025-04-25 16:31:21
已绑定手机

14

主题

600

回帖

2199

积分

荣誉版主

积分
2199
发表于 2024-4-26 01:33:29 | 显示全部楼层
我是遇到问题才去翻手册,,,,没成想STC居然隐藏了个T11.....
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:520
  • 最近打卡:2025-05-01 08:06:21

109

主题

1897

回帖

5204

积分

论坛元老

积分
5204
发表于 2024-4-26 08:00:55 | 显示全部楼层
楼主的板子用导线暂连,可以测试多款芯片,应该是通用型的吧?
回复 支持 反对

使用道具 举报 送花

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

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-4-26 08:54:16 | 显示全部楼层
xiangz*** 发表于 2024-4-26 01:33
我是遇到问题才去翻手册,,,,没成想STC居然隐藏了个T11.....

挺好的一个设计,,据说是为了搞类似systick定时器功能。。宣发也是这么宣发的。。

点评

搞systick的话,中断号太大还是个不大不小的坑,而且中断优先级固定为 0 级(最低级),也就是说这个中断是优先级最低的里面最靠后的,做systick定时器的话,体验应该会受到影响。  详情 回复 发表于 2024-4-26 17:01
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:338
  • 最近打卡:2025-04-25 16:31:21
已绑定手机

14

主题

600

回帖

2199

积分

荣誉版主

积分
2199
发表于 2024-4-26 09:07:51 | 显示全部楼层
_奶*** 发表于 2024-4-26 08:54
挺好的一个设计,,据说是为了搞类似systick定时器功能。。宣发也是这么宣发的。。 ...

看来还是要学习下看手册,起码看看目录,万一哪个功能能节省不少代码呢?
回复 支持 反对

使用道具 举报 送花

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

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-4-26 17:01:08 | 显示全部楼层
_奶*** 发表于 2024-4-26 08:54
挺好的一个设计,,据说是为了搞类似systick定时器功能。。宣发也是这么宣发的。。 ...

搞systick的话,中断号太大还是个不大不小的坑,而且中断优先级固定为 0 级(最低级),也就是说这个中断是优先级最低的里面最靠后的,做systick定时器的话,体验应该会受到影响。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

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

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-4-26 17:13:04 | 显示全部楼层
晓*** 发表于 2024-4-26 17:01
搞systick的话,中断号太大还是个不大不小的坑,而且中断优先级固定为 0 级(最低级),也就是说这个中断 ...

中断号这个确实在不想换编译器的情况下 确实有点蛋疼,,中断优先级这个 我看CM3里面 好像也是最低优先级来着?好像也没听说有吐槽优先级这个的,,,也可能是我用的少,关注的少吧

点评

systick定时器中断优先级最低的话,意味着如果在其它中断里面调用基于systick的delay函数就会阻塞,如果能避免调用的话,那就无所谓了。  详情 回复 发表于 2024-4-26 21:44
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

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

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-4-26 21:44:53 | 显示全部楼层
_奶*** 发表于 2024-4-26 17:13
中断号这个确实在不想换编译器的情况下 确实有点蛋疼,,中断优先级这个 我看CM3里面 好像也是最低优先级 ...

systick定时器中断优先级最低的话,意味着如果在其它中断里面调用基于systick的delay函数就会阻塞,如果能避免调用的话,那就无所谓了。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

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

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-4-28 08:50:41 | 显示全部楼层
晓*** 发表于 2024-4-26 21:44
systick定时器中断优先级最低的话,意味着如果在其它中断里面调用基于systick的delay函数就会阻塞,如果 ...

啊 这个意思啊,,,那确实是这么安排都会有的问题

点评

CM3的systick定时器中断优先级是可以配置的,不是固定最低,可以了解一下。  详情 回复 发表于 2024-4-28 14:05
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

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

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-4-28 14:05:52 来自手机 | 显示全部楼层
_奶咖君_ 发表于 2024-4-28 08:50
啊 这个意思啊,,,那确实是这么安排都会有的问题

CM3的systick定时器中断优先级是可以配置的,不是固定最低,可以了解一下。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 04:27 , Processed in 0.507100 second(s), 104 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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