欢迎来到天天文库
浏览记录
ID:44962768
大小:97.00 KB
页数:15页
时间:2019-11-06
《第8章定时器计数器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.软件定时软件定时是让计算机执行一段程序来进行时间延时。2.硬件定时硬件定时是指由硬件电路来实现定时的功能。3.可编程定时/计数器由于纯软件定时要占用CPU,而纯硬件定时又欠灵活。8.1、定时/计数器的结构及工作原理第8章定时器/计数器定时/计数器的结构1、定时/计数器的模式寄存器(一)定时/计数器模式寄存器TMODTMOD寄存器用来设定定时/计数器的工作模式,低4位用于T0,高4位用于T1。TMODD7D6D5D4D3D2D1D0B8HGATEM1M0GATEM1M0GATE:门控位。GAT
2、E=0,定时/计数器的运行只受定时/计数器控制寄存器TCON中运行控制位TR的控制;GATE=1,定时/计数器的运行受TR和外部中断输入信号或的双重控制。计数/定时器工作方式选择位。=1,为计数工作方式,定时器对外部脉冲信号进行计数;=0,为定时工作方式,定时/计数器对内部机器周期进行计数。M1M0模式功能说明00模式013位定时/计数器01模式116位定时/计数器10模式2初值自动装入的8位定时/计数器11模式32个8位定时/计数器,仅适用于T0TF1:定时/计数器T1的溢出标志位。T1溢出时
3、由硬件置“1”,向CPU申请中断,CPU响应中断后,由硬件自动清“0”。TF1也可由软件置“1”或清“0”。TR1:定时/计数器T1的运行控制位。由软件置“1”或清“0”来控制T1的启动或停止运行。TF0:定时/计数器T0的溢出标志位。含义与TF1类同。TR0:定时/计数器T0的运行控制位。含义与TR1类同。TCOND7D6D5D4D3D2D1D088HTF1TR1TF0TR0IE1IT1IE0IT02、控制寄存器MCS-51单片机的定时/计数器T0有模式0、模式1、模式2和模式3四种工作模式,
4、定时/计数器T1有模式0、模式1和模式2三种工作模式,由模式寄存器TMOD中的M1、M0两个选择位设定。8.2、定时/计数器的工作模式8.3定时/计数器的初始化1、初始化编程初始化编程主要包括以下几部分:(1)根据确定的定时/计数器的工作模式,对模式寄存器TMOD赋值。(2)设置定时或计数初值。即把定时或计数初值写入TH0、TL0或TH1、TL1。(3)系统需要中断方式时,要对寄存器IE赋值,开放相应的中断。(4)对寄存器TCON中的TR0或TR1置位,启动定时/计数器进行定时或计数。2、计数器
5、初值的计算定时器/计数器可用软件随时随地起动和关闭,起动时它就自动加“1”记数,一直记到满,即全为“1”,若不停止,计数值从全“1”变为全“0”,同时将计数溢出位置“1”并向CPU发出定时器溢出中断申请。对于各种不同的工作方式最大的定时时间和计数数不同。这里在使用中就会出现两个问题:一是要产生比定时器最大的定时时间还要小的时间和计数器最大计数次数还要小的计数次数怎么办?二是要产生比定时器最大的定时时间还要大的时间和计数器最大计数次数还要大的计数次数怎么办?解决以上第一个问题只要给定时器/计数器一
6、个非零初值,开定时器/计数器时,定时器/计数器不从0开始,而是从初值开始,这样就可得到比定时器/计数器最大的定时时间和计数次数还要小的时间和计数次数,解决第二个问题就要用到循环程序了,循环几次就相当于乘几。设计数器从初值开始作加1计数到计满为全1所需要的计数值设定为C和计数初值设定为D,由此便可得到如下的计算通式:D=M-C(1)式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M为216;在方式2和方式3时M为28。3、定时器初值的计算在定时器模式下,计数器由单片
7、机脉冲经12分频后计数。因此,定时器定时时间T的计算公式为:T=(TM—TC)12/fOSC(µs)(2)式中TM为计数器从初值开始作加1计数到计满为全1所需要的时间,TM为模值,和定时器的工作方式有关;fOSC是单片机晶体振荡器的频率,TC为定时器的定时初值。在式(2)中,若设TC=0,则定时器定时时间为最大(初值为0,计数从全0到全1,溢出后又为全0)。由于M的值和定时器工作方式有关,因此不同工作方式下定时器的最大定时时间也不一样。例如:若设单片机主脉冲晶体振荡器频率fOSC为12MHz,则
8、最大定时时间为:方式0时TMmax=213×1µS=8.192ms方式1时TMmax=216×1µs=65.536ms方式2和3时TMmax=28×1µs=0.256ms定时/计数器应用举例用定时/计数器T0模式0进行定时,在P1.0引脚上输出周期为1ms的方波。设单片机晶振频率fOSC=12MHZ。1.确定定时器T0的模式控制字TMOD由于定时时间不长,取模式0,M1M0=00;T0工作于定时器方式,=0;T0用软件控制运行,GATE=0TMOD的高4位用于设置T1,因T1不用,可为任意值,通
此文档下载收益归作者所有