单片机定时器详解_第1页
单片机定时器详解_第2页
单片机定时器详解_第3页
单片机定时器详解_第4页
单片机定时器详解_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Soufiles文档搜索引擎一、MCS-51单片机的定时器/计数器概念

单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机的只有1MHZ的稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒;

MCS-51单片机外接的是12MHZ的晶振(实际上是11.0592MHZ),所以,MCS-51单片机内部的工作频率(时钟脉冲频率)是12MHZ/12=1MHZ=1000000次/秒=1000000条指令/秒=1000000次/1000000微秒=1次/微秒=1条指令/微秒;也就是说,晶振振荡一次,就会给单片机提供一个时钟脉冲,花费的时间是1微秒,此时,CPU会执行一条指令,经历一个机器周期;即:1个时钟脉冲=1个机器周期=1微秒=1条指令;

注:个人PC机上的CPU主频是晶振经过倍频之后的频率,这一点恰好与MCS-51单片机的相反,MCS-51单片机的主频是晶振经过分频之后的频率;

总之:MCS-51单片机中的时间概念就是通过计数脉冲的个数来测量出来的;1个脉冲=1微秒=1条指令=1个机器周期;

MCS-51单片机定时器/计数器的简单结构图:

8051系列单片机有两个定时器:T0和T1,分别称为定时器和定时器T1,这两个定时器都是16位的定时器/计数器;8052系列单片机增加了第三个定时器/计数器T2;它们都有定时或事件计数功能,常用于时间控制、延时、对外部时间计数和检测等场合;

二、定时器/计数器的结构

8051单片机的两个定时器T0和T1分别都由两个特殊功能寄存器组成;T0由特殊功能寄存器TH0和TL0构成,而T1则是由TH1和TL1构成;

作为定时器使用时,定时器计数8051单片机片内振荡器输出经过12分频后的脉冲个数,即:每个机器周期使定时器T0/T1的寄存器值自动累加1,直到溢出,溢出后继续从0开始循环计数;所以,定时器的分辨率是时钟振荡频率的1/12;

作为计数器使用时,通过引脚T0(P3.4)或T1(P3.5)对外部脉冲信号进行计数,当输入的外部脉冲信号发生从1到0的负跳变时,计数器的值就自动加1;计数器的最高频率一般是时钟振荡频率的1/24;

由此可知,不论是定时器还是计数器工作方式,定时器T0和T1均不占用CPU的时间,除非定时器/计数器T0和T1溢出,才可能引起CPU中断,转而去执行中断处理程序;所以说,定时器/计数器是单片机中效率高而工作灵活的部件;

三、定时器/计数器的工作模式

除了可选择定时器和计数器的这两种工作方式外,每个定时器/计数器都有4种工作模式;

在模式0、1和2时,T0和T1的工作模式相同;在模式3时,两个定时器/计数器的工作模式不同;

工作模式0:

由TL0的低5位和TH0的全部8位共同构成一个13位的定时器/计数器;定时器/计数器启动后,定时或计数脉冲个数加到TL0上,从预先设置的初值(时间常数)开始累加,不断递增1;当TL0计满后,向TH0进位,直到13位寄存器计满溢出;溢出时,定时器/计数器硬件会自动地把13位的寄存器值清0,中断标记TF0置1;如果需要进一步定时/计数,需要使用相关指令重置时间常数,并把定时器/计数器的中断标记TF0置0;工作模式0的结构如下图:

四、定时器/计数器的定时/计数范围

工作方式0——13位定时器/计数器工作模式,最多可计数2的13次方次,即:8192次,[0,8191];

工作方式1——16位定时器/计数器工作模式,最多可计数2的16次方次,即:65536次,[0,65535];

工作方式2——8位定时器/计数器工作模式,计算次数最多为2^8,即256,,[0,255];

工作方式3——8位定时器/计数器工作模式,计算次数最多为2^8,即256,,[0,255];

预置数的计算公式:预置数=最大值-需要计数的次数;

五、定时器/计数器的控制寄存器

8051单片机设计了两个8位的特殊功能寄存器来控制定时器/计数器的工作状态;这两个特殊功能寄存器分别是TMOD和TCON;它俩都在特殊功能寄存器区;

1、工作模式控制寄存器TMOD(89h):

‍2、工作状态控制寄存器TCON(88H):

‍六、定时器/计数器的初始化

注:由于8051单片机的定时器/计数器使用的时钟脉冲是外部晶振(12MHZ)经过12分频(12MHZ/12=1MHZ)之后的频率,所以,一个时钟脉冲就是1微秒;所以,8192个脉冲=8192微秒=8.192毫秒;65536个脉冲=65536微秒=65.536毫秒;256个脉冲=256微秒=0.256毫秒;

1、设置定时器/计数器的工作模式TMOD(常用的是模式1:TMOD=0x01);

2、装入预置数到THx和TL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论