历史上的今天
今天是:2024年08月23日(星期五)
2021年08月23日 | 51单片机-定时器工作模式
2021-08-23 来源:eefocus
1.两种“试管”
这种“试管”有65535个刻度的型号,也有255个刻度的型号,不过我们的导管水流流速是永远不变的。
如果我们用的是大试管(65535个刻度),那么溢出时间我们可以控制的长一些,也就是定时时间可以多一点。我们要是想定时36个单位刻度的时间,那就先往试管装好65500个刻度的水量先,这样等到水位到达65535那个刻度时,再加一个刻度就溢出了,这时溢出的就是36个单位刻度的时间。
“试管”每次水溢出,试管里的水就会消失不见(归0),如果我们还想定时36个单位刻度的时间,还需要重新把65500个刻度的水量再次装好给“试管”。
如果我们用的是小试管(255个刻度),虽然它的定时时间远远没有大试管的定时时间长,但是只要我们第一次装好水量,每次它溢出之后,不会马上归0,而是试管里的水重新归为我们第一次那个时候装好的水量,所以只要在第一次确定了水量,也就确定了以后的所有定时时长。
这种叫做“试管”的东西就是我们单片机内部的另一个寄存器,51单片机有两个定时器,分别叫做定时器0和定时器1,跟外部中断有 0和1的两个硬件资源一样。这里我们先拿定时器0来讲解,定时器1大体原理都一样。
2.“试管”的选择
而我们想选用哪个“试管”作为定时时长,首先需要初始化寄存器TMOD相对应的位的值。先看到下面这张图

可以看到圈出来的左右两个紫色框,4~7位是管定时器1的,0~3位是管定时器0的。
第2和第3位我们还没学到,此时不需要理会,主要看第0和第1位,这两个位决定的是我们该选用哪个“试管”。
如果M1=0,M0=1,选用的是“大试管定时模式”。
如果M1=1,M0=0,选用的是“小试管定时模式”。
因为我们暂时没有使用到定时器1,所以4~7位(俗称高4位)可以全置为0,2~3位用不到,也是置为0,我们先选择大试管作为定时时间先,所以TMOD这个寄存器初始化就是“TMOD=0x01;”
这里要注意,因为“M1”和“M0”在“#include 我们把使用“大试管”称为定时器的工作模式1,使用“小试管”称为定时器的工作模式2。
上一篇:51单片机-定时器概念
下一篇:51单片机-定时时长的作法
史海拾趣
|
采用通用电路分析软件 J8J7K5,在保证模拟电路精度的情况下,建立实时电路仿真模型,进而对开关电源系统进行计算机实时仿真分析,对开关电源闭环控制系统动态响应过程及稳态过程的仿真分析表明,该方法可优化系统的设计方案,验证理论设计的可行性… 查看全部问答> |
|
车用电机控制器近年来的发展速度之快,使人难以想象,操作上越来越“傻瓜”化,而显示则越来越复杂化。比如,车速的控制已经发展到“巡航锁定”;驱动方面,有的同时具有电动性能和助力功能,如果转换到助力状态,借助链条张力测力器,或中轴扭力传 ...… 查看全部问答> |
|
VHDL 编写的2M 波特率串口接收模块,在串口接收信号时,正常工作后,只要串口接收争取后,程序运行没问题。但重复复位或多次上电,经常有串口不能正常工作的现象?我是通过对串口接收的正确的标识信号进行翻转驱动LED灯来指示的。结果经常出现上面 ...… 查看全部问答> |
|
请单片机高手帮忙看看这个控制电路怎么用C语言来写程序?急急急!!!在线等~~ 信号灯控制电路如下图(在附件中)所示,其功能是当按下不同的键时发光二极管有不同的亮灭规律。按1号键LED从左到右依次亮,按2号键从右到左依次亮,按3号键闪烁,按4号键呈流水追逐效果。 解:电路图中P1口分别接了4个开关,每个开关都有相对应的 ...… 查看全部问答> |
|
如题!现成方案不是指smartphone 我是新手,刚接触wince,不是很熟 如果要做phone功能,需要做些什么工作,难度大不大? 有哪些现成方案可以选择或者参考的… 查看全部问答> |




