首页 > 其他 > 详细

51单片机的定时器

时间:2019-01-22 21:15:33      阅读:197      评论:0      收藏:0      [点我收藏+]

今天想尝试使用串口通信来控制舵机旋转的时候,由于同时用到了定时器T0和T1(用来设定波特率)。程序有点问题,运行不畅,所以现在想通过写篇文章重新来梳理对51单片机这两个定时器的理解。

 

STC89C51系列单片机有两个定时器:定时器T0、定时器T1

一、首先了解到51单片机的常用晶振是12MHz的,内部一般是12分频的,也就是12T。所以每计数一次需要1us的时间

二、定时器的工作模式有四种,模式0,1,2的工作模式对T0 、T1都是相同的,但是模式3只有T0才有:

模式0:13位计时器,有TL0的低5位和TH0的全8位构成一个13位的计时器。13位计时器计数溢出后会自动清零,同时把中断标记TF0置1。如果需要重新使用,需要重新去更新时间常数,并定时器的的中断标志位置0.

 

模式1: 16位计时器,和模式0几乎完全相同,但是因为是16位(TL0有8位 、TH0有8位),所以计时范围大大增加(0~65535),一共是2的16次方。

 

模式2: 8位自动重载模式。TL0计时结束后,单片机会自动把TH0的重载到TL0中,不需要像前两种模式那样手动重载。

 

模式3:只有计时器T0才有模式3,计时器T1是没有模式3的。模式3的主要方式是把定时器T0的TL0和TH0分开看作是两个独立的8位定时器。两个定时器需要手动重载


三、定时器的控制寄存器

8051单片机有两个8位的特殊功能寄存器来控制定时器的工作状态;分别是TMOD、TCON

1、工作模式控制寄存器TMOD

 技术分享图片

这个是一个8位的寄存器,0-3位控制的是定时器T0; 4-7位控制的是定时器T1。

GATE是门控位,用来设定P3^2或P3^3的电压对定时器的计数是够影响的。GATE=0时,表示计数器计数与否与两端口电压状态无关;GATA=1时,计数器是否计数要参考引脚的状态,即P3.2为高时T0才计数,P3.3为高时T1才计数。一般都是设置为0的。

C/T位:计数/计时的选择位。C/T = 0时,定时模式; C/T = 1时,计数模式。

M1M0两位决定了定时器的工作模式:

技术分享图片

2、工作状态控制寄存器TCON

技术分享图片

 

51单片机的定时器

原文:https://www.cnblogs.com/xing-ting/p/10305958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!