TA的每日心情 | 开心 2024-4-15 21:02 |
---|
签到天数: 1 天 [LV.1]初来乍到
注册会员
- 积分
- 154
|
楼主 |
发表于 2023-5-20 22:22:57
|
显示全部楼层
第十一集 定时器的使用
在确定时间内对某些功能操作,更精确的时间,并且不会被其他功能影响,这样就用到了定时器。
定时器有定时功能和计数功能。
定时器中断,每个一段时间打断主函数的程序,把定时器内容运行完后,再回到主程序运行。
-----------------
T0,设置为定时器。
看STC32G数据手册,定时器章节。
T0设置的寄存器在TMOD中T0_C/T设置定时器0是定时器功能 数据手册14.2.2
分频,不分频时,每来一个时钟定时器计数一次,12分频,每来12个时钟定时器计数一次。
分频的设置在T0x12来设置,在14章开始就有介绍。
T0_M1 T0_M0 两个寄存器确定定时器是16位和8位,是自动重载和不重载。
TF0 定时器T0溢出中断,定时达到设定值后,自动置一。
TR0 开启定时器,置一后定时器开始工作。
EA 总中断开启。
---------------------------
定时器时间计算看数据手册14.2.3
T0 工作在 1T 模式(AUXR7/T0x12=1) 时的输出时钟频率 =(SYSck)/(TM0PS+1)/(65536-[RL_THO, RL_TLO])/2
T0 工作在 12T 模式(AUXR7/T0x12=1) 时的输出时钟频率 =(SYSck)/(TM0PS+1)/12/(65536-[RL_THO, RL_TLO])/2
输出的时间=1/输出的时钟频率 单位S
------------------
用STC-ISP 生成定时器初始化函数 |
|