51单片机——定时器理解

发布于 2019-04-23  20 次阅读


前言:这算是自己的一份执念吧,去年的事情拖到了现在了,我问在用单片机做东西的那些同学,好像对这个不重视,或许这个在比赛中不重要吧,但是,一份执念吧,内心深处不知道为什么觉得这个蛮有意思,趁这几天闲着,就搞一搞!

定时器

时钟周期:单片机时序中的最小单位,具体计算方法就是时钟源分之一(根据你的单片机的晶振源)。
机器周期:我们单片机完成一个操作的最短时间,12/时钟周期。
定时器:经过一个机器周期自动+1,也就是说定时器就是在计数,在计机器周期次数。
大概了解一下逻辑电路图。后面看电路图会用到。
2019-04-23_1.png

第一部分: TMOD--定时器模式寄存器M1/M0工作模式

2019-04-26_2.png
(说明:工作模式0、工作模式3实际应用很少,就不讲了)

模式1讲解

2019-04-26_1.png
osc:单片机的时钟源,我用的单片机时钟源是11.0592M
d:分频值,1个机器周期等于12个时钟周期,所以d就是12。
如图,那个双刀开关,往上打就是定时器功能,往下打就是计数器功能。
然后看下半部分的逻辑门,我们从右向左看,对照上边的逻辑电路图表,可以看到门分别是 与门,或门,非门。
然后我们要控制电路,与门-->那么TRn和下面支路来必须都为一。然后或门-->

GAET位我们可以从图中看出来,GATE位为一时,则经过非门,它的支路是0,inTn脚必须为1才可以启动定时器。
当GATE位为0是,则经过非门,它的支路是1,INTn脚,则没有什么要求。

定时器的使用方法

  1. 设置好特殊功能寄存器TMOD,配置好工作模式。
  2. 设置计数寄存器TH0和TL0的初值。
  3. 设置TCON,通过TR0置1来让定时器开始计数。
  4. 判断TCON寄存器TF0位,监测定时器溢出情况。

在软工的道路上越走越远。。。