如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
定时/计数器原理及应用1.定时/计数器的结构和工作原理2.定时/计数器工作原理3.定时/计数器的工作方式4.定时/计数器的编程和应用1定时/计数器的结构和工作原理1.1单片机定时/计数器的结构8051单片机内部有两个16位的可编程定时/计数器,称为定时器0(用T0表示)和定时器1(用T1表示)。T0和T1可以作为定时器用或作为计数器用。T0和T1的工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定。8051定时/计数器由四个部件组成:定时器0定时器1定时器方式寄存器TMOD定时器控制寄存器TCONTMOD用于设置定时器的工作方式TCON用于控制定时器的启动与停止。T0和T1是16位加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成;定时器1由TH1和TL1组成。TL0、TL1、TH0、TH1的访问地址依次为8AH8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;定时器0或定时器1用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。1.2定时/计数器工作原理1.定时工作方式计数器对内部机器周期计数,每过一个机器周期,计数器增1,直至计满溢出。机器周期与系统的振荡频率紧密相关,因MCS-51单片机的一个机器周期由12个振荡脉冲组成,所以,计数器的计数频率为振荡器频率的1/12。如果单片机系统采12MHz晶振(fosc=12MHz),则计数器的计数频率fcont=fosc×1/12=1MHz。周期为:Tcont=1/fcont2.计数工作方式计数器对来自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲的下降沿将触发计数。检测一个由1到0的负跳变需要两个机器周期,所以,最高检测频率为振荡频率的1/24。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。当设置了定时器的工作方式并启动定时器工作后,定时器就按被设定的工作方式独立工作,不再占用CPU的操作时间,只有在计数器计满溢出时才可能中断CPU当前的操作。2定时器/计数器的控制2.1定时/计数器方式寄存器TMODTMOD为定时器0、定时器1的工作方式寄存器,其格式如下:(1) M1和M0:方式选择位。2位可形成4种编码,对应于4种操作方式。MlM0(2)C/T功能选择位。当C/T=0时,定时器/计数器被设置为定时器工作方式;当C/T=1时,定时器/计数器设置为计数器工作方式.(3)GATE:门控位。用来控制定时器/计数器的启动操作方式。当GATE=0时,只能利用TR0或TR1来控制定时器/计数器的启停。TRi位置1时,启动;TRi位为0时,停止。当GATE=1时,定时器/计数器的启动要由外部中断引脚和TRi位共同控制。只有当外部中断引脚或为高时,软件控制位TR0或TR1置1才允许外中断启动对应的定时器工作。(3)TMOD不能位寻址只能用字节指令设置。系统复位时TMOD所有位均置0。TCON的作用是控制定时器的启动、停止,标志定时器的溢出和中断情况。定时器控制字TCON的格式如下:各位含义如下:(1)TFx:定时器x溢出标志位。当定时器x计满数产生溢出时,由硬件自动置TFx=1。在中断允许时,向CPU发出定时器1的中断请求,进入中断服务程序后,由硬件自动清0。在中断屏蔽时,TFx可作查询测试用,此时只能由软件清0。(2)TRx:定时器x运行控制位。由软件置1或清0来启动或关闭定时器1。当由软件将TRx清0时,则停止定时器/计数器1的工作。定时器/计数器1启动时该位应置“1”。(5)TCON.3IE1:外部中断1请求标志位。(6)TCON.2IT1:外部中断1触发方式选择位。(7)TCON.1IE0:外部中断0请求标志位。(8)TCON.0IT0:外部中断0触发方式选择位。TCON中的低4位用于控制外部中断,与定时/计数器无关。定时器/计数器的启动与门控位(GATE)、外部中断引脚上的电平有关。当GATE=0时,定时器/计数器的启动仅由TRi=1控制;当GATE=1时,除要求TRi=1外,还要求外部中断引脚=1。当系统复位时,TCON的所有位均清0。TCON可以位寻址,清溢出标志位或启动定时器都可以用位操作指令。2.3定时/计数器的初始化由于定时/计数器的功能是由软件编程确定的,所以,一般在使用定时器/计数前都要对其进行初始化,初始化程序应放在主程序的开始处。初始化骤如下:(1)确定工作方式——对TMOD,TCON赋值。(2)预置定时器/计数