定时器0 在工作方式2 下,跟其在工作方式 1 下的工作方式类似,主要区别是在这种工
作方式下,定时器/计数器是八位的定时器/计数器,只有低 8 位参与计数,而高 8 位不参与
计数,只是用作预置数的存放,计数范围是0-255,当计数溢出时,系统会自动将预置数装
入低八位的计数器,这些都是硬件自动完成的,不需要在程序中进行操作。这种工作方式的
好处是在进入中断的时候就可以直接进行计数,不需要对定时器进行赋初值。
使用定时器0 的工作方式2 步骤如下:
1) 设置定时器的工作状态时定时器还是计数器;
2) 设置定时器的工作方式;
3) 为定时器设置初值,这个决定了定时器的溢出间隔,即定时时间;
4) 使能定时器中断;
5) 开启定时器/计数器的运行控制位;
6) 使能全局中断;
7) 编写中断函数;
其中,这些步骤的使用方法同在工作方式 1 下都是一样的,只是在 TMOD 寄存器中需
要将M0M1 分别设置为01 以使其工作在方式2,另外TH0,TL0 两个寄存器的赋值也是不一 样
的,在工作方式 1 下,计数范围是65536,在 11.0592MHZ 的情况下,单计数周期最长定
时范围是71.11 毫秒,而在工作方式 2 下,计数范围是256,在 11.0592MHZ 的情况下,单
计数周期最长定时范围是0.277 毫秒。
其他的使用同工作方式 1。
打赏帖 | |
---|---|
汽车+汽车地线之间连接处理被打赏20分 | |
【Zephyr】使用Zephyr外设初始化过程解析被打赏30分 | |
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
赚取电动螺丝刀+电源电路理论知识分享1被打赏5分 | |
我想要一部加热台+分享常见运算放大器电路的应用被打赏5分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
我想要一部加热台+常见的MOS管驱动电路被打赏5分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下串口调试printf输出记录被打赏29分 |