单片机定时计数工作原理讲诉

上传人:最**** 文档编号:117176542 上传时间:2019-11-18 格式:PPT 页数:79 大小:2.07MB
返回 下载 相关 举报
单片机定时计数工作原理讲诉_第1页
第1页 / 共79页
单片机定时计数工作原理讲诉_第2页
第2页 / 共79页
单片机定时计数工作原理讲诉_第3页
第3页 / 共79页
单片机定时计数工作原理讲诉_第4页
第4页 / 共79页
单片机定时计数工作原理讲诉_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《单片机定时计数工作原理讲诉》由会员分享,可在线阅读,更多相关《单片机定时计数工作原理讲诉(79页珍藏版)》请在金锄头文库上搜索。

1、第六章 单片微机的定时器/计数器 原理及应用 通常采用以下三种方法来实现定时或计数: 1硬件法 硬件定时功能完全由硬件电路完成,不占用CPU时间。 但当要求改变定时时间时,只能通过改变电路中的元件参数来 实现,很不灵活。 2软件法 软件定时是执行一段循环程序来进行时间延时,优点是 无额外的硬件开销,时间比较精确。但牺牲了CPU的时间。 3可编程定时器计数器 6.1 概述 可编程定时器计数器最大特点是可以通过软件编程来 实现定时时间的改变,通过中断或查询方法来完成定时功能或 计数功能。有专门的可编程定时器计数器芯片可供选用,比 如Intel 8253。还有一些日历时钟芯片,如菲利浦公司的 PCF

2、8583等。 目前单片微机中往往已配备了定时器计数器(timer counter)。 80C51芯片内包含有两个16位的定时器计数器:T0和 T1;而80C52包含有三个16位的定时器计数器:T0、T1和T2 ;在80C51系列的部分产品(如Philips公司的80C552)中,还包 含有一个用做看门狗的8位定时器(T3)。 定时器计数器的核心是一个加1计数器其基本功能是 计数加1。 若是对单片微机的T0、T1 或T2引脚上输入的一个1到0 的跳变进行计数增l,即是计数功能。 若是对单片微机内部的机器周期进行计数,从而得到定 时,这就是定时功能。 定时功能和计数功能的设定和控制都是通过软件来设

3、定 的。 80C51的定时器/计数器除了可用作定时器或计数器之外 ,还可用作串行接口的波特率发生器。 定时器计数器T0、T1 的内部结构简图示于图61中。 从图中可以看出,定时器计数器T0、T1由以下几部分组成: 计数器TH0、TL0和TH1、TL1; 特殊功能寄存器TMOD、TCON; 时钟分频器; 输入引脚T0、T1。 6.2 定时器计数器T0、T1 定时器计数器T0、T1 的方式寄存器TMOD 字节地址为89H。 TMOD的格式如下:低4位用来定义T0,高4位用来定义T1 6.2.1 与定时器计数器T0、T1有关的特殊功能寄存器 D7 D6 D5 D4 D3 D2 D1 D0 GATE

4、C/TM1M0GATE C/TM1M0 T1T0 各位的意义如下: GATE门控位。 GATE1时,由外部中断引脚、和TR0、TR1共同来启动 定时器。当引脚为高电平时,TR0置位启动定时器T0;当引 脚为高电平时,TR1置位,启动定时器T1。 GATE0时,仅由TR0和TR1置位来启动定时器T0和T1。 CT功能选择位。 C/T1时,选择计数功能;C/T0时,选择定时功能。 T0、T1 的计数、定时功能是通过TMOD中的位来选择的。 定时器,设置C/T0 计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值增1 。每个机器周期等于12个振荡周期,故计数速率为振荡周期的1 12。当采用12MH

5、z的晶体时,计数速率为1MHz。定时器的定 时时间,与系统的振荡频率fosc、计数器的长度和初始值等有关 。 计数器,设置C/T1 这时,通过引脚T0(P3.4)和T1(P3.5)对外部信号进行计 数。在每个机器周期的S5P2期间,CPU采样引脚的输入电平。若 前一机器周期采样值为1,下一机器周期采样值为0,则计数器增 1,此后的机器周期S3P1期间,新的计数值装入计数器。 所以检测一个1到0的跳变 需要两个机器周期,故计数脉冲频率 不能高于振荡脉冲频率的124。 M1、M0工作方式选择位。 由于有M1和M0两位,可以有四种工作方式,如表61所示 。 定时器计数器T0、T1 的控制寄存器TCO

6、N 控制寄存器TCON是一个逐位定义的8位寄存器,字节地址为 88H,位寻址的地址为88H8FH。其格式如下: 位地址 8FH 8EH8DH8CH8BH8AH89H88H 位功能 TF1TR1TF0TR0IE1IT1IE0IT0 其中各位的意义如下: TF1(TCON7)定时器计数器T1的溢出标志。 T1溢出时,该位由内部硬件置位。若中断开放,即响应 中断,进入中断服务程序后,由硬件自动清0;若中断禁止, 可用于判跳,用软件清0。 TR1(TCON6)T1的运行控制位。 用软件控制,置 l时,启动 T1;清0时,停止 T1。 TF0(TCON5)T0的溢出标志。 T0溢出时,该位由内部硬件置位

7、。若中断开放,即响应 中断,进入中断服务程序后,由硬件自动清0;若中断禁止, 可用于判跳,用软件清0。 TR0(TCON4)T0的运行控制位。 用软件控制,置1时,启动T0;清 0时,停止 T0。 IE1(TCON3)外部中断1下降沿触发标志位。 IE0(TCONI)外部中断0下降沿触发标志位。 IT1(TCON0)外部中断1触发类型选择位。 IT0(TCON0)外部中断0触发类型选择位。 TCON的低4位与中断有关,已在第五章“中断系统”中讨论过。 复位后,TCON的所有位均清0。T0和T1均是关断的。 定时器计数器T0、T1 的数据寄存器 由TH1(地址为8DH)、TL1(地址为8BH)和

8、TH0(地址为 8CH)、TL0(地址为8AH)寄存器所组成。复位后,所有这四个寄 存器全部清零。 定时器/计数器中断 中断允许寄存器IE EA位-中断允许总控制位 ET0位、ET1位、ET2位-T0、T1和T2的中断允许控制位。 某位=0,则禁止对应定时器/计数器的中断。 某位=1,则允许对应定时器/计数器的中断。 中断矢量 定时器T0:000BH 定时器T1:001BH 定时器T2:002BH 中断优先级寄存器IP PT0位、PT1位、PT2位-T0、T1和T2中断优先级控制位。 某位为0,则相应的定时器/计数器的中断为低优先级; 某位为1,则相应的定时器/计数器的中断为高优先级。 从图6

9、2中可看到: C/T位的电平为“0”或“1”,用来设定是作定时器或计数器。 门控位GATE可用作对INTx引脚上的高电平时间进行计量。 由图62上可看出,当GATE0时,A点为高电平,定时器计数 器的启动停止由 TRx决定。TRx1,定时器计数器启动; TRx0,定时器计数器停止。 当GATE1时A点的电位由INTx决定,因而B点的电位就由 TRx和INTx决定,即定时器计数器的启动停止由TRx和INTx两 个条件决定。 计数溢出时,TFx置位。如果中断允许,CPU响应中断并转入中 断服务程序,由内部硬件清TFx。TFx也可以由程序查询和清零。 方式1:16位定时器/计数器 当TMOD中的M1

10、0、M0l时,选定方式1工作。 方式1时,T0、T1的逻辑结构如图63所示。这种方式下,计 数寄存器由16位组成,THx高八位和TLx的低8位。 计数时,TLx溢出后向THx进位,THx溢出后将TFx置 位,如果中断允许,CPU响应中断并转入中断服务程序,由内 部硬件清TFx。TFx也可以由程序查询和清零。 方式2:定时常数自动重装载的8位定时器/计数器 当TMOD中的M11、M00时,选定方式2工作。这种方式 是将16位计数寄存器分为两个8位寄存器,组成一个可重载的8 位计数寄存器。方式2时定时器/计数器T0、T1的逻辑结构如图 64所示。 在方式2中,TLx作为8位计数寄存器,THx作为8

11、位计数常数 寄存器。 当TLx计数溢出时,一方面将TFx置位,并向CPU申请中断 ;另一方面将THx的内容重新装入TLx中,继续计数。 根据对TMOD寄存器中M1和M0的设定,T0可选择四种 不同的工作方式,而T1只具有三种工作方式(即方式0、方式1 和方式2)。 方式0:13位定时器/计数器 当TMOD中的M10、M00时,选定方式0工作。方式 0时的结构如图62所示。这种方式下,计数寄存器由13位组成 ,即THx高八位(作计数器)和TLx的低5位(32分频的定标器)构成 。TLx的高3位未用。 计数时,TLx的低5位溢出后向THx进位,THx溢出后将TFx置 位,并向CPU申请中断。 6.

12、2.2 定时器计数器T0、T1 的工作方式 重新装入不影响THx的内容。 方式2适合于作为串行口波特率发生器使用。 方式3 当TMOD中的M1l、M01时,选定方式3工作。这种方式是是将 T0分为一个8位定时器计数器和一个 8位定时器,TL0用于 8位定 时器计数器,TH0用于8位定时器。方式3时定时器计数器T0、 T1逻辑结构分别如图65、图66所示。 工作方式3下的定时器/计数器T0 方式3时,T0的结构见图65 所示。其工作与方式0时相同,只是此 时的计数器为8位计数器TL0,它占用了T0的GATE、INT0、启动 停止控制位TR0、T0引脚 (P3.4) 以及 计数溢出标志位TF 0和

13、 T0的中断矢量(地址为000BH)等。 TH0所构成的定时器只能作为定时器用,因为此时的外部引 脚T0已为定时器计数器TL0所占用。这时它占用了T1的启动 停止控制位TR1、计数溢出标志位TF1及T1中断矢量(地址为 001BH) 。 T0方式3时,T1的结构如图66所示,T1只可选方式0、1或2。 由于此时计数溢出标志位TF1及T1中断矢量(地址为001BH)已被 TH0所占用,所以T1仅能作为波特率发生器或其它不用中断的 地方。作串行口波特率发生器时,T1的计数输出直接去串行口 ,只需设置好工作方式,串行口波特率发生器自动开始运行, 如要停止工作,只需向T1送一个设为工作方式3的控制字即

14、可 。 80C52中的T2是一个16位的、具有自动重装载和捕获能 力的定时器计数器。在T2的内部,除了两个8位计数器TL2、 TH2和控制寄存器T2CON及T2MOD之外,还设置有捕获寄存 器RCAP2L(低字节)和RCAP2H(高字节)。T2的计数脉冲 源可以有两个:一个是内部机器周期,另一个是由T2(P10 )端输入的外部计数脉冲。T2象T0、T1一样,既可用做定时器 ,也可用做计数器,由T2CON中的C/T位的电平所决定。T2有 3种工作方式自动重装载、俘获和波特率发生器方式,由 T2CON中有关位决定。 输入引脚T2(P10)是外部计数脉冲输入端;输入引 脚T2EX(P11)是外部控制

15、信号输入端。 6.3 定时器计数器T2 控制寄存器 T2CON T2控制寄存器T2CON是一个逐位定义的特殊功能寄存器 ,其字节地址为C8H,位地址为C8HCFH。其格式如下: 位地址 CFHCEHCDHCCHCBHCAHC9HC8H 位功能 TF2EXF2RCLKTCLKEXEN 2 TR2/T2CP/RL 2 TF2(T2CON7)T2 溢出标志。 定时器T2溢出时置位,并申请中断。只能靠软件清除。但在波 特率发生器方式下,也即RCLK1或TCLK1时,定时器溢出不 对TF2置位。 EXF2(T2CON6)T2外部标志。 当EXEN21,且T2EX引脚上出现负跳变而造成捕获或重装载时, 6.3.1 定时器计数器T2中的特殊功能寄存器 EXF2置位,申请中断。这时若已允许T2中断,CPU将响应中 断,转向中断服务程序。EXF2要靠软件来清除。 RCLK(T2CON5)接收时钟标志。 靠软件置位或清除,用以选择T2或T1作串行口接收波特率 发生器。RCLK1时,用T2溢出脉冲作为串行口的接收时钟 ;RCLK0时,用T1的溢出脉冲作接收时钟。 TCLK(T2CON4)发送时钟标志。 靠软件置位或清除,用以选择T2或T1作串行口发送波特率发 生器。TCLKl时,用T

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号