您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > MCS-51单片机定时器计数器
单片机原理及其接口技术主目录上一页下一页结束第6章MCS-51单片机定时器/计数器教学目标第一节MCS51定时/计数器的结构第二节定时/计数器的方式和控制寄存器第三节定时/计数器的工作方式第四节定时/计数器应用第五节定时/计数量程的扩展本章小结思考题与习题(P288)§7.6MCS-51内部定时器/计数器单片机原理及其接口技术主目录上一页下一页结束教学目标通过本章教学,要求达到以下目标:1.了解定时/计数器内部结构及工作原理。2.熟悉定时/计数器控制寄存器TCON、工作方式寄存器TMOD的结构、控制作用和设置方法。3.理解定时/计数器4种工作方式,重点掌握方式1、方式2的应用。4.学会定时/计数器初值的计算方法。5.掌握定时/计数器应用程序的编制方法。单片机原理及其接口技术主目录上一页下一页结束在实际的控制系统中常要求有外部实时时钟,以实现定时或延时控制;还要求有外部计数器,以实现对外界事件进行计数。例如:在单片机控制的电力拖动系统中,控制的对象为电动机,为了实现闭环控制,就需要定时地对转速进行采样。若采用光电脉冲发生器作为检测元件,则先应对每个采样周期中光电脉冲发生器发出的脉冲进行计数,然后再通过实时计算求得对应的转速。单片机原理及其接口技术主目录上一页下一页结束对于定时/计数器来说,不管是独立的定时器芯片还是单片机内的定时器,大都有以下特点:(1)定时/计数器有多种工作方式,可以是计数方式也可以是定时方式,其实是一个东西。(2)定时/计数器的计数值是可变的,当然对计数的最大值有一定限制,这取决于计数器的位数。计数的最大值也就限制了定时的最大值。(3)可以按照规定的定时或计数值,在定时时间到或者计数终止时,发出中断申请,以便实现定时控制。单片机原理及其接口技术主目录上一页下一页结束6.1定时/计数器的结构及工作原理MCS-51单片机的定时/计数器简称T/CT/C的结构图加1计数器P3.5P3.3&EAET1&1中断申请启停控制计数/定时脉冲源单片机原理及其接口技术主目录上一页下一页结束T/C的核心是1个16位加1计数器;它由两个8位的特殊功能寄存器构成:低八位:TL,计满向高八位进位高八位:TH说明:加1计数器&EAET1&1单片机原理及其接口技术主目录上一页下一页结束加1计数器16位的加1计数器由两个8位的特殊功能寄存器THx或TLx组成(X=0、1)。它们可被程序设置为不同的组合状态。(13位、16位、两个分开的8位等),从而形成不同的4种工作方式,这只要用指令改变TMOD(工作方式控制寄存器)的相应位即可实现。&EAET1&1单片机原理及其接口技术主目录上一页下一页结束加1计数器加1计数器计满后(13位为213、16位为216、8位为28),向CPU申请中断,标志位TF1自动置位,若中断是开放的,则CPU响应定时器中断。当CPU响应中断转向中断服务程序时,由硬件自动将该位清0。&EAET1&1中断申请单片机原理及其接口技术主目录上一页下一页结束输入脉冲有两个来源:⑴外部脉冲源,对应单片机P3.4、P3.5引脚。⑵系统时钟(振荡器)经12分频以后的脉冲信号。说明:加1计数器&EAET1&1P3.5单片机原理及其接口技术主目录上一页下一页结束加1计数器模拟位开关决定了T/C的工作状态:当开关处于上方时为定时状态,处于下方时为计数状态。工作状态的选择由特殊功能寄存器TMOD的C/T位来决定。&EAET1&P3.51计数/定时脉冲源单片机原理及其接口技术主目录上一页下一页结束加1计数器当T/C处于计数模式时,对P3.4(计数器T0)、P3.5(计数器T1)、输入脉冲进行统计。由特殊功能寄存器TMOD的C/T位来决定。P3.51单片机原理及其接口技术主目录上一页下一页结束加1计数器当T/C处于定时方式时,由于一个机器周期包含12个振荡周期所以它的计数速率是振荡频率的1/12。加1计数器在每个机器周期加1。因此,也可以把它看作在累计机器周期。1单片机原理及其接口技术主目录上一页下一页结束加1计数器TR1、GATE、/INT1共同控制定时器的启动。1P3.3单片机原理及其接口技术主目录上一页下一页结束6.2定时/计数器的控制和方式寄存器MCS-51单片机有2个特殊功能寄存器TCON和TMOD:TCON:用于控制定时器的启动与停止,中断标志。TMOD:用于设置T/C的工作方式。单片机原理及其接口技术主目录上一页下一页结束1.定时器控制寄存器TCOND7D6D5D4D3D2D1D0TCON88HTF1TR1TF0TR0IE1IT1IE0IT08F8E8D8C8B8A8988位地址外部中断标志和触发方式0:无Tx中断(硬件复位)1:有Tx溢出中断0:停Tx计数1:启Tx计数TFx:TRx:定时器启停和标志单片机原理及其接口技术主目录上一页下一页结束TF0(TF1):为T0(T1)定时器溢出中断标志位。当T0(T1)计数溢出时,由硬件置位,并在允许中断的情况下发出中断请求信号。当CPU响应中断转向中断服务程序时,由硬件自动将该位清0。&EAET1&1单片机原理及其接口技术主目录上一页下一页结束TR0(TR1):为T0(T1)运行控制位。该位由软件进行设置。当TR0(TR1)=1时启动T0(T1);TR0(TR1)=0时关闭T0(T1)。&EAET1&1单片机原理及其接口技术主目录上一页下一页结束2.定时器工作方式寄存器TMOD定时器工作方式寄存器TMOD用于选择定时器的工作方式。GATEM1M0M0M1GATETC/TC/C/T0C/T1M1M0:T/C工作方式定义位。TC/=1时为计数方式=0时为定时方式89HGATA:定时/计数器启动控制位。TMOD单片机原理及其接口技术主目录上一页下一页结束•GATE:门控制位,用于控制定时器的启动是否受外部中断源信号的影响(或称外部引脚信号的控制)。•GATE=0时,与外部中断无关,由TCON寄存器中的TRx位控制启动。•GATE=1时,由控制位TRx和引脚共同控制启动。INTx&EAET1&1单片机原理及其接口技术主目录上一页下一页结束M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器102可自动重装入的8位定时/计数器113T0分为2个8定时器,T1无此方式•6.3定时/计数器的工作方式GATEM1M0M0M1GATETC/TC/TMOD单片机原理及其接口技术主目录上一页下一页结束T/C构成一个13位的计数器,由THx的8位和TLx的低5位组成,TLx的高3位未用,满计数值为213。T/C启动后立即加1计数,当TLx的低5位计数溢出时向THx进位,THx计数溢出则对相应的溢出标志位TFx自动置位,以此作为定时器溢出中断标志。当单片机进入中断服务程序时,由内部硬件自动清除该标志。1、方式0M1M0=00单片机原理及其接口技术主目录上一页下一页结束T/C方式0的逻辑结构图T13T12T11T10T9T8T7T6×××T5T4T3T2T1TH1/TH0TL1/TL0TL1(5位)1计数单片机原理及其接口技术主目录上一页下一页结束构成16位定时/计数器。其中THx作为高8位,TLx作为低8位,满计数值为216,其余同方式0类似。2、方式1M1M0=01单片机原理及其接口技术主目录上一页下一页结束T/C方式1的逻辑结构图T16T15T14T13T12T11T10T9T8T7T6T5T4T3T2T1TH1/TH0TL1/TL01计数单片机原理及其接口技术主目录上一页下一页结束构成1个8位自动重装载的T/C,满计数值为28。在方式0和方式1中,当计数满后,若要进行下一次定时/计数,需用软件向THx和TLx重新予置计数初值。在方式2中THx和TLx被当作两个8位计数器,计数过程中THx寄存8位初值并保持不变,由TLx进行8位计数。计数溢出时,除产生溢出中断请求外,还自动将THx中的初值重新装到TLx中去,即重装载。除此之外,方式2也同方式0类似。3、方式2M1M0=10单片机原理及其接口技术主目录上一页下一页结束T/C方式2的逻辑结构图T8T7T6T5T4T3T2T1TH1/TH0T8T7T6T5T4T3T2T1TL1/TL0计数寄存器1单片机原理及其接口技术主目录上一页下一页结束TH0和TL0被拆成2个独立的8位计数器。TL0既可作为定时器使用,也可作为计数器使用,它占用了定时器T0所使用的控制位(C/T、GATE、TR0、TF0),其功能和操作与方式0或方式1完全相同。TH0只能作定时器用,并且占据了定时器T1的两个控制信号TR1和TF1。T0和T1有不同的工作方式C/T0:定时器T1只能按不需要中断的方式2工作。C/T1:4、方式3M1M0=11单片机原理及其接口技术主目录上一页下一页结束T/C方式3的逻辑结构图T8T7T6T5T4T3T2T1TH1T8T7T6T5T4T3T2T1TL1计数T8T7T6T5T4T3T2T1TH0T8T7T6T5T4T3T2T1TL0计数计数1寄存器单片机原理及其接口技术主目录上一页下一页结束(1)确定工作方式,即对TMOD寄存器进行赋值。(2)计算计数初值,并写入寄存器TH0、TL0或TH1、TL1中。(3)根据需要,置位ETx允许T/C中断。(4)置位EA使CPU开中断(需要时)。(5)置位TRx启动计数。6.4定时/计数器应用可编程器件在使用之前需要进行初始化。对定时/计数器而言需:第一要能正确写入控制字;第二能进行计数初值的计算。一般步骤定时/计数器的初始化单片机原理及其接口技术主目录上一页下一页结束定时/计数初值的计算方法计数方式的初值计算定时方式的初值计算单片机原理及其接口技术主目录上一页下一页结束定时/计数初值的计算方法计数方式的初值计算:计数器是在计数初值的基础上进行加1计数,并能在计数器从全“1”变为全“0”时自动产生定时溢出中断请求。假设需要的计数值为N,则应装入的计数初值为:X=M-N(M:模数,为216、213、28、N:需要的计数值)单片机原理及其接口技术主目录上一页下一页结束定时/计数初值的计算方法定时方式的初值计算:在定时方式下,计数脉冲由单片机主脉冲经12分频后得到,因此定时器定时时间为:M:模数,为216、213、28TC:定时计数初值T计数:计数脉冲周期T:需要的定时时间fs:晶振频率tcp:机器周期计数初值:计数TTCMT)(cpStfT/12计数计数TTMTC/其中:单片机原理及其接口技术主目录上一页下一页结束计数TTMTC/设:fs=12MHz,初值TC=0,则:方式0时:Tmax=213×1μS=8.192mS方式1时:Tmax=216×1μS=65.536mS方式2、3时:Tmax=28×1μS=0.256mS计数TTCMT)(最大定时时间计算思考:fs=6MHz定时最大时间为多少?8MHz呢?单片机原理及其接口技术主目录上一页下一页结束计数TTMTC/设:fs=6MHz,初值TC=0,则:方式0时:Tmax=213×2μS=16.384mS方式1时:Tmax=216×2μS=131.072mS方式2、3时:Tmax=28×2μS=0.512mS计数TTCMT)(最大定时时间计算单片机原理及其接口技术主目录上一页下一页结束例1若晶振频率为6MHz,试计算MCS-51单片机定时/计数器的最小定时时间和最大定时时间。解:先确定机器周期:TCP=12/6=2μS①计算最小定时时间:对于定时器的几种工作方式来说,最小定时时间都是一样的,即仅计一个脉冲便产生溢出,所以Tmin=1×Tcp=1×2μs=2μs②计算最大定时时间:当T/C工作在方式1下的定时时间最长,则最大定时时间为:Tmax=216×Tcp=216×2μs=131072μs=131ms单片机原理及其接口技术主目录上一页下一页结束例2:若单片机的晶振频率为6MHz,要求定时/计数器T0产生100ms的定时,试确定计数初值以及TMOD寄存器的内容。解:当晶振
本文标题:MCS-51单片机定时器计数器
链接地址:https://www.777doc.com/doc-6017338 .html