第六章单片微机的定时器/计数器原理及应用
在单片微机应用系统中,常常会需要定时或计数,通常采用以下三种方法来实现:
硬件定时功能完全由硬件电路完成,不占用CPU时间。但当要求改变定时时间时,只能通过改变电路中的元件参数来实现,很不灵活。
软件定时是执行一段循环程序来进行时间延时,优点是无额外的硬件开销,时间比较精确。但牺牲了CPU的时间,所以软件延时时间不宜长,而在实时控制等对响应时间敏感的场合也不能使用。。
6-1 概述
可编程定时器/计数器最大特点是可以通过软件编程来实现定时时间的改变,通过中断或查询方法来完成定时功能或计数功能。有专门的可编程定时器/计数器芯片可供选用,比如Intel 8253。还有一些日历时钟芯片,如菲利浦公司的PCF8583等。
80C51包含有两个16位的定时器/计数器:T0和T1;80C52包含有三个16位的定时器/计数器:T0、T1和T2;在80C51系列的部分产品(如Philips公司的80C552)中,还包含有一个用做看门狗的8位定时器(T3)。
定时器/。
若是对单片微机的T0、T1 或T2引脚上输入的一个1到0的跳变进行计数增l,即是计数功能。
若是对单片微机内部的机器周期进行计数,从而得到定时,这就是定时功能。
定时功能和计数功能的设定和控制都是通过软件来设定的。
80C51的定时器/计数器除了可用作定时器或计数器之外,还可用作串行接口的波特率发生器。
T0、T1 的内部结构简图示于图6-1中。从图中可以看出,T0、T1由以下几部分组成:
计数器TH0、TL0和TH1、TL1;
特殊功能寄存器TMOD、TCON;
时钟分频器;
输入引脚T0、T1。
定时器/计数器T0、T1
⒈ T0、T1 的方式寄存器——TMOD
字节地址为89H。
TMOD的格式如下:低4位用来定义T0,高4位用来定义T1
与定时器/计数器T0、T1有关的特殊功能寄存器
D7 D6 D5 D4 D3 D2 D1 D0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
T1
T0
各位的意义如下:
GATE——门控位
GATE=1时,由外部中断引脚、和TR0、TR1共同来启动定时器。当 引脚为高电平时,TR0置位启动定时器T0;当引脚为高电平时,TR1置位,启动定时器T1。
GATE=0时,仅由TR0和TR1置位来启动定时器T0和T1。
C/T——功能选择位
C/T=1时,选择计数功能;C/T=0时,选择定时功能。
T0、T1 的计数、定时功能是通过TMOD中的C/T位来选择的。
①定时器,设置C/T=0
计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值增1。每个机器周期等于12个振荡周期,故计数速率为振荡周期的1/12。当采用12MHz的晶体时,计数速率为1MHz。定时器的定时时间,与系统的振荡频率fosc、计数器的长度和初始值等有关。
②计数器,设置C/T=1
通过引脚T0()和T1()对外部信号进行计数。在每个机器周期的S5P2期间,CPU采样引脚的输入电平。若前一机器周期采样值为1,下一机器周期采样值为0,则计数器增1,此后的机器周期S3P1期间,新的计数值装入计数器。
所以检测一个1到0的跳变需要两个机器周期,故计数脉冲频率不能高于振荡脉冲频率的1/24。
M1、M0——工作方式选择位。
由于有M1和M0两位,可以有四种工作方式,如表6-1所示。
⒉定时器/计数器T0、T1 的控制寄存器——TCON
控制寄存器TCON是一个逐位定义的8位寄存器,字节地址为88H,位寻址的地址为88H~8FH。其格式如下:
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
位功能
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
其中各位的意义如下:
TF1()——定时器/计数器T1的溢出标志。
T1溢出时,该位由内部硬件置位。若中断开放,即响应中断,进入中断服务程序后,由硬件自动清0;若中断禁止,可用于判跳,用软件清0。
TR1()——T1的运行控制位。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0()——T0的溢出标志。
第六章单片微机定时器 来自淘豆网m.daumloan.com转载请标明出处.