最新单片微型计算机原理与接口技术第二版第6章单片微机的定时器计数器原理及应用06幻灯片.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《最新单片微型计算机原理与接口技术第二版第6章单片微机的定时器计数器原理及应用06幻灯片.ppt》由会员分享,可在线阅读,更多相关《最新单片微型计算机原理与接口技术第二版第6章单片微机的定时器计数器原理及应用06幻灯片.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 单片微机的定时器单片微机的定时器/计数器计数器原理及应用原理及应用CT功能选择位功能选择位C/T1时,选择计数功能;时,选择计数功能;C/T0时,选择定时功能。时,选择定时功能。 定时器,设置定时器,设置C/T0 计数输入信号是内部时钟脉冲,每个机器周期使计数器的值增计数输入信号是内部时钟脉冲,每个机器周期使计数器的值增1。计数速率为振荡周期的计数速率为振荡周期的112。当采用。当采用12MHz的晶体时,计数速率的晶体时,计数速率为为1MHz。定时器的定时时间,与系统的振荡频率定时器的定时时间,与系统的振荡频率fosc、计数器的长度、计数器的长度和初始值等有关。和初始值等有关。
2、计数器,设置计数器,设置C/T1通过引脚通过引脚T0和和T1对外部信号进行计数。在每个机器周期对外部信号进行计数。在每个机器周期的的S5P2期间,期间,CPU采样引脚的输入电平。若前一机器周期采样采样引脚的输入电平。若前一机器周期采样值为值为1,下一机器周期采样值为,下一机器周期采样值为0,则计数器增,则计数器增1。 M1、M0工作方式选择位。工作方式选择位。有有4种工作方式,如种工作方式,如表表61所示。所示。 定时器计数器定时器计数器T0、T1 的控制寄存器的控制寄存器TCON 位地址位地址 8FH 8EH8DH8CH8BH8AH89H88H位功能位功能 TF1TR1TF0TR0IE1IT
3、1IE0IT0 TF1T1的溢出标志。的溢出标志。 T1溢出时,该位由内部硬件置位。若中断开放,即响应溢出时,该位由内部硬件置位。若中断开放,即响应中断,进入中断服务程序后,由硬件自动清中断,进入中断服务程序后,由硬件自动清0;若中断禁止,;若中断禁止,可用于判跳,用软件清可用于判跳,用软件清0。 TR1T1的运行控制位。的运行控制位。用软件控制,置用软件控制,置 l时,启动时,启动 T1;清;清0时,停止时,停止 T1。 TF0T0的溢出标志。的溢出标志。T0溢出时,该位由内部硬件置位。溢出时,该位由内部硬件置位。中断开放,即响应中断,进入中断服务程序后,由硬件自动清中断开放,即响应中断,进
4、入中断服务程序后,由硬件自动清0;中断禁止,可用于判跳,用软件清中断禁止,可用于判跳,用软件清0。 TR0T0的运行控制位。的运行控制位。用软件控制,置用软件控制,置1时,启动时,启动T0;清;清 0时,停止时,停止 T0。 IE1外部中断外部中断1下降沿触发标志位。下降沿触发标志位。 IE0外部中断外部中断0下降沿触发标志位。下降沿触发标志位。 IT1外部中断外部中断1触发类型选择位。触发类型选择位。 IT0外部中断外部中断0触发类型选择位。触发类型选择位。 复位后,复位后,TCON的所有位均清的所有位均清0。T0和和T1均是关中断的。均是关中断的。 T0、T1 的数据寄存器的数据寄存器由由
5、TH1、TL1和和TH0、TL0寄存器所组成。寄存器所组成。 复位后,这复位后,这4个寄存器全部清零。个寄存器全部清零。 定时器定时器/计数器中断计数器中断 中断允许寄存器中断允许寄存器IE EA位位-中断允许总控制位中断允许总控制位 ET0位、位、ET1位、位、ET2位位-T0、T1和和T2的中断允许控制位。的中断允许控制位。 某位某位=0,则禁止对应定时器,则禁止对应定时器/计数器的中断。计数器的中断。某位某位=1,则允许对应定时器,则允许对应定时器/计数器的中断。计数器的中断。 中断矢量中断矢量定时器定时器T0:000BH定时器定时器T1:001BH定时器定时器T2:002BH 中断优先
6、级寄存器中断优先级寄存器IP PT0PT0位、位、PT1PT1位、位、PT2PT2位位-T0-T0、T1T1和和T2T2中断优先级控制位。中断优先级控制位。某位为某位为0 0,则相应的定时器,则相应的定时器/ /计数器的中断为低优先级;计数器的中断为低优先级;某位为某位为1,则相应的定时器,则相应的定时器/计数器的中断为高优先级。计数器的中断为高优先级。T0可选择可选择4种不同的工作方式,而种不同的工作方式,而T1只具有只具有3种工作方式种工作方式(即方式(即方式0、方式、方式1和方式和方式2)。)。 方方式式0 01313位定时器位定时器/ /计数器计数器TMOD中的中的M10、M00。 方
7、式方式0时的结构如时的结构如图图62所示。计数寄存器由所示。计数寄存器由13位组成,即位组成,即THx高高8位位(作计数器作计数器)和和TLx的低的低5位位(32分频的定标器分频的定标器)构成。计数时,构成。计数时,TLx的低的低5位溢出后向位溢出后向THx进位,进位,THx溢出后将溢出后将TFx置位,并向置位,并向CPU申请中断。申请中断。从图从图62中可看到:中可看到:C/T位的电平为位的电平为0或或1,用来设定是作定时器或计数器。,用来设定是作定时器或计数器。6.2.2 6.2.2 定时器计数器定时器计数器T0T0、T1 T1 的工作方式的工作方式门控位门控位GATE可用作对可用作对IN
8、Tx引脚上的高电平时间进行计量。引脚上的高电平时间进行计量。由由图图62上可看出,上可看出,当当GATE0时,时,A点为高电平,定时器计数器的启动停点为高电平,定时器计数器的启动停止由止由 TRx决定。决定。TRx1,定时器计数器启动;,定时器计数器启动;TRx0,定时器,定时器计数器停止。计数器停止。 当当GATE1时,时,A点的电位由点的电位由INTx决定,因而决定,因而B点的电位就点的电位就由由TRx和和INTx决定,即定时器计数器的启动停止由决定,即定时器计数器的启动停止由TRx和和INTx两个条件决定。两个条件决定。 计数溢出时,计数溢出时,TFx置位。如果中断允许,置位。如果中断允
9、许,CPU响应中断并转入中响应中断并转入中断服务程序,由内部硬件清断服务程序,由内部硬件清TFx。TFx也可以由程序查询和清零。也可以由程序查询和清零。 方式方式116位定时器位定时器/计数器计数器 TMOD中的中的M10、M0l。 方式方式1时,时,T0、T1的逻辑结构如的逻辑结构如图图63所示。所示。计数时,计数时,TLx溢出后向溢出后向THx进位,进位,THx溢出后将溢出后将TFx置位,如果中断允许,置位,如果中断允许,CPU响应中断并转入中断服响应中断并转入中断服务程序,由内部硬件清务程序,由内部硬件清TFx。TFx也可以由程序查询和也可以由程序查询和清零。清零。 方式方式2定时常数自
10、动重装载的定时常数自动重装载的8位定时器位定时器/计数器计数器 TMOD中的中的M11、M00。将将16位计数寄存器分为两个位计数寄存器分为两个8位寄存器,组成一个可重位寄存器,组成一个可重载的载的8位计数寄存器。位计数寄存器。方式方式2时定时器时定时器/计数器计数器T0、T1的逻辑结构如的逻辑结构如图图64所所示。示。在方式在方式2中,中,TLx作为作为8位计数寄存器,位计数寄存器,THx作为作为8位计位计数常数寄存器。数常数寄存器。当当TLx计数溢出时,将计数溢出时,将TFx置位,并向置位,并向CPU申请中断;申请中断;将将THx的内容重新装入的内容重新装入TLx中,继续计数。中,继续计数
11、。重新装入不影响重新装入不影响THx的内容。的内容。方式方式2适合于作为串行口波特率发生器使用。适合于作为串行口波特率发生器使用。 方式方式3TMOD中的中的M1l、M01。将将T0分为一个分为一个8位定时器计数器位定时器计数器TL0和一个和一个 8位定时器位定时器TH0 。方式。方式3时时T0、T1逻辑结构分别如图逻辑结构分别如图65、图、图66 。 工作方式工作方式3下的定时器下的定时器/计数器计数器T0 方式方式3时,时,T0的结构见图的结构见图65 所示。所示。 TL0为为8位位定时器计定时器计数器数器,它占用了,它占用了T0的的GATE、INT0、启动停止控制位、启动停止控制位TR0
12、、T0引脚引脚 以及计数溢出标志位以及计数溢出标志位TF0和和T0的中断矢量的中断矢量等。等。TH0只能作为只能作为8位定时器用,此时的外部引脚位定时器用,此时的外部引脚T0已为定已为定时器计数器时器计数器TL0所占用。这时它占用了定时器计所占用。这时它占用了定时器计数器数器T1的启动停止控制位的启动停止控制位TR1、计数溢出标志位、计数溢出标志位TF1及及T1中断矢量中断矢量(地址为地址为001BH) 。 工作方式工作方式3下的定时器下的定时器/计数器计数器T1 T1的结构如图的结构如图66所示,所示, T1只可选方式只可选方式0、1或或2。作。作串行口波特率发生器时,串行口波特率发生器时,
13、T1的计数输出直接去串行口,的计数输出直接去串行口,只需设置好工作方式,串行口波特率发生器自动开始运只需设置好工作方式,串行口波特率发生器自动开始运行,如要停止工作,只需向行,如要停止工作,只需向T1送一个设为工作方式送一个设为工作方式3的的控制字即可。控制字即可。 80C52中的中的T2是一个是一个16位的、具有自动重装载和捕获能力位的、具有自动重装载和捕获能力的定时器计数器。在的定时器计数器。在T2的内部,除了两个的内部,除了两个8位计数器位计数器TL2、TH2和控制寄存器和控制寄存器T2CON及及T2MOD之外,还设置有捕获寄存器之外,还设置有捕获寄存器RCAP2L(低字节)和(低字节)
14、和RCAP2H(高字节)。(高字节)。T2的计数脉冲源可以有两个:一个是内部机器周期,另一个是由的计数脉冲源可以有两个:一个是内部机器周期,另一个是由T2(P10)端输入的外部计数脉冲。)端输入的外部计数脉冲。T2有有3种工作方式:自动重装载、搏获和波特率发生器方种工作方式:自动重装载、搏获和波特率发生器方式,由式,由T2CON中有关位决定。中有关位决定。输入引脚输入引脚T2是外部计数脉冲输入端;输入引脚是外部计数脉冲输入端;输入引脚T2EX是外是外部控制信号输入端。部控制信号输入端。 6.3 6.3 定时器计数器定时器计数器T2T2 控制寄存器控制寄存器 T2CON 位地址位地址 CFHCE
15、HCDHCCHCBHCAHC9HC8H位功能位功能 TF2EXF2RCLKTCLK EXEN2TR2C/T2CP/RL2 6.3.1 T26.3.1 T2中的中的特殊功能寄存器特殊功能寄存器TF2T2 T2 溢出标志溢出标志 定时器定时器T2T2溢出时置位,并申请中断。只能靠软件清除。但在溢出时置位,并申请中断。只能靠软件清除。但在波特率发生器方式下,也即波特率发生器方式下,也即RCLK1或或TCLK1时,定时器溢时,定时器溢出不对出不对TF2TF2置位。置位。 EXF2T2外部标志外部标志当当EXEN21,且,且T2EX引脚上出现负跳变而造成捕获或重装载引脚上出现负跳变而造成捕获或重装载时时
16、EXF2置位,申请中断。若已允许置位,申请中断。若已允许T2中断,中断,CPU将响应中断,将响应中断,转向中断服务程序。转向中断服务程序。EXF2要靠软件来清除。要靠软件来清除。 RCLK接收时钟标志。接收时钟标志。软件置位或清除,用以选择软件置位或清除,用以选择T2或或T1作串行口接收波特率发作串行口接收波特率发生器。生器。RCLK1时,用时,用T2溢出脉冲作为串行口的接收时钟;溢出脉冲作为串行口的接收时钟;RCLK0时,用时,用T1的溢出脉冲作接收时钟。的溢出脉冲作接收时钟。 TCLK发送时钟标志。发送时钟标志。软件置位或清除,用以选择软件置位或清除,用以选择T2或或T1作串行口发送波特率
17、发作串行口发送波特率发生器。生器。TCLKl时,用时,用T2溢出脉冲作为串行口的发送时钟;溢出脉冲作为串行口的发送时钟;TCLK0时,用时,用T1的溢出脉冲作发送时钟。的溢出脉冲作发送时钟。 EXEN2T2T2外部允许标志。外部允许标志。 软件设置或清除,以允许或禁止用外部信号来触发捕获或重软件设置或清除,以允许或禁止用外部信号来触发捕获或重装载操作。装载操作。当当EXEN2EXEN2l l时,若时,若T2T2未用作串行口的波特率发生器,则在未用作串行口的波特率发生器,则在T2EXT2EX端端出现的信号负跳变时,将造成出现的信号负跳变时,将造成T2T2捕获或重装载,并置捕获或重装载,并置EXF
18、2EXF2标志为标志为 1 1,请求中断。,请求中断。EXEN2EXEN20 0时,时,T2EXT2EX端的外部信号不起作用。端的外部信号不起作用。 TR2T2T2运行控制位。运行控制位。 软件设置或清除,软件设置或清除,TR2TR21 1,启动,启动T2T2,否则停止。,否则停止。 C/T2T2T2的定时器方式或计数器方式选择位。的定时器方式或计数器方式选择位。 C/T2C/T20 0时,选择定时器工作方式。时,选择定时器工作方式。TH2TH2和和TL2TL2对机器对机器周期进行计数。每个机器周期使周期进行计数。每个机器周期使TL2TL2寄存器的值增寄存器的值增1 1。计数。计数脉冲的频率为
19、脉冲的频率为1 11212振荡器频率。振荡器频率。 C CT2T21 1时,选择计数器工作方式,下降沿触发。计时,选择计数器工作方式,下降沿触发。计数脉冲自数脉冲自T2T2引脚输入,引脚输入,TH2TH2和和TL2TL2作外部信号脉冲计数器用,作外部信号脉冲计数器用,每当外部脉冲负跳变时,计数器值增每当外部脉冲负跳变时,计数器值增1 1。 CPRL2捕获重装载标志。捕获重装载标志。 CPCPRL2RL2l l选择捕获功能,这时若选择捕获功能,这时若EXEN2EXEN21 1,且,且T2EXT2EX端的信端的信号负跳变时,发生捕获操作。号负跳变时,发生捕获操作。 CPCPRL2RL20 0,选择
20、重装载功能,这时若,选择重装载功能,这时若T2T2溢出或在溢出或在EXEN2EXEN21 1条件下条件下 T2EXT2EX端信号负跳变,都会造成自动重装载操作。当端信号负跳变,都会造成自动重装载操作。当RCLKRCLKl l或或TCLKTCLKl l时,时,CPRL2RL2控制位不起作用,控制位不起作用,T2 T2 被强制工被强制工作于重装载方式。重装载发生于作于重装载方式。重装载发生于T2T2溢出时,常用来作波特率发溢出时,常用来作波特率发生器。生器。 方式控制寄存器方式控制寄存器T2MOD D7D6D5D4D3D2D1D0-T2OE DCEN T2OE:T2输出允许位。输出允许位。当当T2
21、OE1时,允许时钟输出至时,允许时钟输出至T2引脚。引脚。仅对仅对80C5480C58有定义。有定义。DCEN:向下计数允许位:向下计数允许位DCEN=1, T2向下向下(减减)计数计数 DCEN=0, T2向上向上(加加)计数计数 数据寄存器数据寄存器TH2、TL2 T2有一个有一个16位的数据寄存器,是由高位的数据寄存器,是由高8位寄存器位寄存器TH2和低和低8位寄存器位寄存器TL2所组成。它们都只能字节寻址,相应的字节地址所组成。它们都只能字节寻址,相应的字节地址为为CDH和和CCH。 复位后,这两个寄存器全部清零。复位后,这两个寄存器全部清零。 捕获寄存器捕获寄存器RCAP2HRCAP
22、2H、RCAP2LRCAP2L T2中的捕获寄存器是一个中的捕获寄存器是一个16位的数据寄存器,由高位的数据寄存器,由高8位寄存器位寄存器RCAP2H和低和低8 位寄存器位寄存器RCAP2L所组成,相应的字节地址为所组成,相应的字节地址为CBH和和CAH。捕获寄存器捕获寄存器RCAP2H和和RCAP2L,用于捕获计数器,用于捕获计数器TL2、TH2的计数状态,或用来预置计数初值的。的计数状态,或用来预置计数初值的。TH2、TL2和和 RCAP2H、RCAP2L之间接有双向缓冲器(三态门)。之间接有双向缓冲器(三态门)。复位后,两个寄存器全部清零。复位后,两个寄存器全部清零。T2的工作方式用控制
23、位的工作方式用控制位CPRL2(T2CON0)和)和RCLKTCLK来选择。来选择。T2有有3种工作方式,如表种工作方式,如表62所示:捕获方式、所示:捕获方式、自动重装载方式和波特率发生器方式。自动重装载方式和波特率发生器方式。 捕获方式捕获方式 在一定条件下,自动将计数器在一定条件下,自动将计数器TH2和和TL2的数据读入捕获寄存器的数据读入捕获寄存器RCAP2H和和RCAP2L,亦即,亦即TH2和和TL2内容的捕获是通过捕获寄内容的捕获是通过捕获寄存器存器RCAP2H和和RCAP2L来实现的。其工作原理可参见图来实现的。其工作原理可参见图67。当当CPRL2l时,选择捕获方式。时,选择捕
24、获方式。6.3.2 6.3.2 定时器计数器定时器计数器T2T2的工作方式的工作方式捕获操作发生于下述两种情况下:捕获操作发生于下述两种情况下:(1)寄存器寄存器TH2和和TL2溢出时,打开重装载三态缓冲器,把溢出时,打开重装载三态缓冲器,把TH2和和TL2的内容自动读入到捕获寄存器的内容自动读入到捕获寄存器RCAP2H和和RCAP2L中。同时,中。同时,溢出标志溢出标志TF2置置1,申请中断。,申请中断。 当当 EXEN2l且且 T2EX(P11)端的信号有负跳变时,将发)端的信号有负跳变时,将发生捕获操作。同时标志生捕获操作。同时标志EXF2置置1,申请中断。,申请中断。若若T2的中断是被
25、允许的,则无论发生的中断是被允许的,则无论发生TF2l还是还是EXF2l,CPU都会响应中断。响应中断后,应用软件清除中断申请。都会响应中断。响应中断后,应用软件清除中断申请。 自动重装载方式自动重装载方式在一定条件下,自动地将捕获寄存器在一定条件下,自动地将捕获寄存器RCAP2H和和RCAP2L的数据装入计数器的数据装入计数器TH2和和TL2中。中。捕获寄存器捕获寄存器RCAP2H和和RCAP2L在这里起预置计数初值在这里起预置计数初值的功能。对的功能。对8XC52,其工作原理可参见图,其工作原理可参见图68。当当CPRL20时,选择自动重装载方式。时,选择自动重装载方式。若若T2的中断是被
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 单片 微型计算机 原理 接口 技术 第二 微机 定时器 计数器 应用 06 幻灯片
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内