《单片机原理、接口与C51应用程序设计》课件第6章_第1页
《单片机原理、接口与C51应用程序设计》课件第6章_第2页
《单片机原理、接口与C51应用程序设计》课件第6章_第3页
《单片机原理、接口与C51应用程序设计》课件第6章_第4页
《单片机原理、接口与C51应用程序设计》课件第6章_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第6章MCS-51的定时器/计数器6.1概述6.2定时器/计数器T0、T1的寄存器6.3定时器/计数器T0、T1的工作方式6.4定时器/计数器T2

6.5定时器/计数器的初始化编程及应用 6.1概述

1.定时方式

(1)硬件法:完全由硬件电路完成,譬如555定时电路,这种方式不占用CPU时间。但当要求改变定时时间时,只能通过改变电路中的元件参数来实现,很不灵活。

(2)软件法:通过执行一段循环程序来进行时间延时,优点是无额外的硬件开销,定时比较精确,但牺牲了CPU的时间。

(3)可编程定时器/计数器:硬件电路完成定时,软件完成定时参数的设置,所以这种方式综合了硬件定时和软件定时的优点。

MCS-51系列单片机内部提供2个可编程的定时器/计数器T0和T1,52子系列还增加了一个16位定时器T2。它们都有定时和计数的功能,可用于定时控制、延时、对外部事件计数等场合,还可以作为串口的波特率发生器。定时器达到预定定时时间或者计数器计数满时,给出溢出标志,还可以发出内部中断。

2.定时器/计数器的结构

MCS-51单片机定时器/计数器的结构框图如图6.1所示。图6.1定时器/计数器结构框图

3.定时器/计数器的工作原理

定时器/计数器的逻辑框图可以简化成图6.2。其核心器件是一个加1计数器,它对振荡器12分频后的脉冲Tm或外部脉冲源的脉冲Tx计数,每来一个脉冲计数器加1,当计数器计到全1时,再来一次脉冲,计数器各位全部清0,同时计数器最高位产生溢出,使得定时控制寄存器TCON的TF0或TF1置1(TF0或TF1是计数器的溢出中断标志位),向CPU申请中断。图6.2定时器/计数器的逻辑框图

6.2定时器/计数器T0、T1的寄存器

1.工作方式控制寄存器TMOD

工作方式控制寄存器TMOD用于设置定时器/计数器T0、T1的工作模式和工作方式,它的字节地址是89H,没有位地址,不能进行位寻址。其各位定义如图6.3所示。高4位用于选择T1的工作方式,低4位用于选择T0的工作方式。图6.3TMOD各位定义

M1、M0:定时器/计时器工作方式选择位,对应的工作方式如表6.1所示。T0有4种工作方式,T1有3种工作方式。表6.1定时器/计数器的工作方式

2.定时器控制寄存器TCON

定时器控制寄存器TCON用于控制定时器/计数器的启停、溢出标志和外部中断触发方式,其字节地址为88H,有位地址,可以进行位寻址。各位的格式定义如表6.2所示。表6.2定时器控制寄存器TCON

6.3定时器/计数器T0、T1的工作方式

1.方式0

M1M0 = 00时,定时器/计数器工作于方式0。方式0的等效框图如图6.4所示。方式0下,由THx的8位和TLx的低5位组成13位加1计数器,TLx的高3位没用。当TLx的低5位产生溢出时,向THx进位,若THx溢出,则将相应的定时器/计数器溢出标志位TF0或TF1置1,形成定时器/计数器溢出标志。如果允许中断,则提出中断请求。也可以通过查询TF0或TF1的状态判断是否产生溢出。图6.4T0、T1方式0的结构

3.方式2

M1M0 = 10时,定时器/计数器工作于方式2。这时定时器/计数器的等效框图如图6.5所示。图6.5T0、T1工作方式2的结构

4.方式3

只有定时器/计数器T0才有方式3,T1没有这种工作方式。当M1M0 = 11时,定时器/计数器T0工作在方式3。方式3时定时器/计数器T0的等效结构框图如图6.6所示。图6.6T0方式3的结构

6.4定时器/计数器T2

6.4.1T2的寄存器

1.控制寄存器T2CON

控制寄存器T2CON的字节地址为0C8H,有位地址,能够进行位寻址。各位的格式如表6.3所示。表6.3控制寄存器T2CON

2.工作方式寄存器T2MOD

工作方式寄存器T2MOD对定时器/计数器T2的加1还是减1计数方式进行设置,选择T2是否工作于可编程时钟输出方式,其字节地址为0C9H,没有位地址,不能进行位寻址,复位后的值为××××××00B。T2MOD的格式如图6.7所示。图6.7工作方式寄存器T2MODE6.4.2T2的工作方式

定时器/计数器T2是一个16位定时器/计数器,它既可以作定时器,又可以作计数器。T2有4种工作方式:16位自动重载方式、捕获方式、波特率发生器方式和可编程时钟输出方式,如表6.4所示。表6.4T2的工作方式图6.816位自动重装方式的等效框图

DCEN = 0时,T2默认自动加1计数。当T2计数满溢出时,TF2置1,向CPU申请中断,同时将RCAP2H和RCAP2L的内容自动重新装入到TH2和TL2中。EXEN2 = 1且T2EX(P1.1)引脚上信号有负跳变时,EXF2置1,向CPU申请中断,同时将RCAP2H和RCAP2L的内容自动重新装入到TH2和TL2中。

当DCEN = 1时,定时器/计数器T2既可加1计数,又可减1计数。T2EX引脚的电平控制计数方向。

(1)当T2EX引脚为高电平1时,T2为加1计数器。计数满溢出时,一方面置位TF2,向CPU请求中断,另一方面将存放在寄存器RCAP2L和RCAP2H中的16位计数初值自动重装TL2和TH2,进行新一轮加1计数。加1计数以65536为模。对计数次数求补可得到计数初值,即计数初值等于65536减去计数次数,此初值用于初始化TL2、TH2和RCAP2L、RCAP2H。

(2) T2EX引脚为低电平时,T2为减1计数器。用FFFFH减去计数次数即可得到计数下限值,通常将计数下限值存放在RCAP2L、RCAP2H中。T2减1计数,直到计数器TH2、TL2中的值与寄存器RCAP2H、RCAP2L中预置的值相等时,计数器溢出,重新将计数初值FFFFH装入TH2和TL2,进行新一轮减1计数。图6.9T2捕获方式的等效框图

3.波特率发生器方式

RCLK = 1或TCLK = 1,TR2 = 1,T2OE = 0时,定时器/计数器T2工作于波特率发生器方式,其等效结构框图如图6.10所示。图6.10T2波特率发生器等效框图

4.可编程时钟输出方式

RCLK和TCLK均为0,TR2

=

1,T2OE

=

1时,定时器/计数器T2工作于时钟输出方式,可以通过编程在T2(P1.0)引脚输出一个占空比为50%的时钟信号,所以P1.0引脚除了常规用于I/O口外,还可以通过编程作为定时器/计数器T2的外部时钟输入或占空比为50%的时钟输出引脚。其等效结构框图如图6.11所示。图6.11T2可编程时钟输出方式等效框图

6.5定时器/计数器的初始化编程及应用

1.初始化编程的步骤

在使用MCS-51单片机的定时器/计数器之前,应对它进行初始化编程,主要是对TCON、T2CON、TMOD、T2MOD编程,计算并装载计数初值THx和TLx。一般需要完成下列几个步骤:

(3)定时器/计数器工作在中断方式时,必须对IE寄存器编程开中断。

(4)通过编程TCON、T2CON中的TRx位来启动定时器/计数器。

2.定时常数的计算

工作于计数方式时,假设计数器所需要的计数值为N,计数初值设定为X,由此便可得到如下的计算公式:X=M-N。其中:M为计数器模值,该值和计数器工作方式有关。在方式0时,M为213=8192;在方式1时,M为216=65 536;在方式2和方式3时,M为28 = 256。分析:P1.0输出周期为500μs的方波,只需P1.0口每250μs取反一次,即T0的定时时间为250μs。单片机时钟为12MHz,机器周期为1μs,则需要的计数次数为

温馨提示

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

评论

0/150

提交评论