6定时器计数器结构及工作方式剖析

上传人:今*** 文档编号:106816737 上传时间:2019-10-16 格式:PPT 页数:45 大小:667.50KB
返回 下载 相关 举报
6定时器计数器结构及工作方式剖析_第1页
第1页 / 共45页
6定时器计数器结构及工作方式剖析_第2页
第2页 / 共45页
6定时器计数器结构及工作方式剖析_第3页
第3页 / 共45页
6定时器计数器结构及工作方式剖析_第4页
第4页 / 共45页
6定时器计数器结构及工作方式剖析_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《6定时器计数器结构及工作方式剖析》由会员分享,可在线阅读,更多相关《6定时器计数器结构及工作方式剖析(45页珍藏版)》请在金锄头文库上搜索。

1、1,微型计算机原理及接口技术,授课专业:自动化 授课学时: 60学时,2,3,4,1、MCS-51单片机内有两个可编程的定时器/计数器T0、T1,其逻辑结构如下图所示:,图6-1 MCS-51定时器/计数器逻辑结构图,T0:是16位加法计数器,分别由两个八位专用寄存器TH0和TL0组成。,T1:是16位加法计数器,分别由两个八位专用寄存器TH1和TL1组成。,用来设置定时器的工作方式。,用来控制定时器的启动、停止及中断。,5,2、定时器/计数器功能 定时器 是通过内部计数器的计数来实现的,计数脉冲来自单片机的内部,其频率是振荡(晶体)频率的1/12,即每个机器周期产生一个计数脉冲,计数器加1,

2、直至计满溢出。,6,计数器 是对外来脉冲进行计数。计数器对来自输入引脚P3.4和P3.5的外部信号计数,外部脉冲的负跳变(下降沿)触发计数。 检测一个由1到0的负跳变需要两个机器周期。所以最高计数频率为晶体频率的1/24。,7,问题的提出,晶振频率为12MHz时,定时器和计数器的最高计数频率各是多少?,8,回答:,晶振频率为12MHz时,定时器和计数器的最高计数频率各为1MHz、500KHz .,9,分三类: 定时器/计数器方式寄存器:TMOD 定时器/计数器控制寄存器:TCON 定时器初值寄存器: TH0 TL0 TH1 TL1,10,1、定时器/计数器方式寄存器TMOD(89H),GATE

3、:门控位,用来控制定时器/计数器的启动是否受外部中断请求信号的影响。 GATE=0,不受影响,仅由控制位TRx控制; GATE=1,受TRx和外部中断请求信号共同控制。,11,C/T:定时或计数功能选择位。 C/T=1,为计数器方式; C/T=0,为定时器方式。 M1M0: 定时器四种工作方式选择: 00: 方式0:13位定时器/计数器 01: 方式1:16位定时器/计数器 10: 方式2:自动重装初值的8位定时器/计数器 11: 方式3:T0分成两个8位定时器/计数器,12,例6-1: 某一系统使T1作为定时器,采用方式2,使T0作为计数器采用方式1,T0、T1的门控位均为0,请设置TMOD

4、的值。 0 0 1 0 0 1 0 1 即:TMOD=25H.,13,2、定时器/计数器控制寄存器TCON(88H,可位寻址),TRx: Tx的运行控制位。 TRx=1,启动定时器/计数器 TRx=0,关闭定时器/计数器,x=0、1,14,3、定时器初值寄存器 TH0 TL0 TH1 TL1 用于存放计数初值,具有自动加1功能,加满后溢出,它们的字节地址是: TH1(8位) TL1(8位) TH0(8位) TL0(8位) 8DH 8BH 8CH 8AH 根据定时器/计数器工作方式,计数长度可分别选择:8位,13位,16位。,15,MCS-51的定时器/计数器共有四种工作方式,其中: T0有方式

5、0、1、2、3四种; T1有方式0、1、2三种。,16,1、工作方式0(以T0为例)13位定时器/计数器,TL0的高3位没有用。,17,C/T=1,S1接下面,T0作计数器,对P3.4引脚输入的外部脉冲计数,当脉冲发生负跳变时,计数器加1,计数值公式为: N=213 x=8192 x 其中:N为计数值,x是THx、TLx的初值。 x=8191(1FFFH)时,N最小值=1; x=0时,N最大值=8192。 则N的范围:18192。,18,C/T=0时, S1接上面,T0作定时器,对机器周期脉冲Tcy计数。 求定时时间由下式确定: t=NTcy=(213 x)Tcy= (8192 x)Tcy 其

6、中: t为定时时间。 求计数初值计算公式: x=213 t/Tcy=8192 t/Tcy,19,2、工作方式1(以T0为例)16位定时器/计数器,20,C/T=1,S1接下面,T0作计数器,对P3.4引脚输入的外部脉冲计数,当脉冲发生负跳变时,计数器加1,计数值公式为: N=216 x=65536 x 其中:N为计数值,x是THx、TLx的初值。 x=65535(FFFFH)时,N最小值=1; x=0时,N最大值=65536; 则N的范围:165536。,21,C/T=0时, S1接上面,T0作定时器,对机器周期脉冲Tcy计数。 求定时时间由下式确定: t=NTcy=(216 x)Tcy= (

7、65536 x)Tcy 其中: t为定时时间。 求计数初值计算公式: x=216 t/Tcy=65536 t/Tcy,22,3、工作方式2(以T0为例)8位定时器/计数器,TL0作为8位加法计数器, TH0作为初值寄存器用。TL0加法计数器溢出时置TF0=1,而且发出重装载信号,使三态门打开,将TH0中的初值自动送入TL0。,23,C/T=1,S1接下面,T0作计数器,对P3.4引脚输入的外部脉冲计数,当脉冲发生负跳变时,计数器加1,计数值公式为: N=28 x=256 x 其中:N为计数值,x是THx、TLx的初值。 x=255(FFH)时,N最小值=1; x=0时,N最大值=256; 则N

8、的范围:1256。,24,C/T=0时, S1接上面,T0作定时器,对机器周期脉冲Tcy计数。 求定时时间由下式确定: t=NTcy=(28 x)Tcy= (256 x)Tcy 其中: t为定时时间。 求计数初值计算公式: x=28 t/Tcy=256 t/Tcy,25,工作方式0: x= 213 t/Tcy=213 500us/2us =8192 250=7942=1F06H =1111100000110B 则TL0=00000110B=06H, TH0=11111000B=0F8H,例6-2:已知晶振6MHz,要求定时0.5ms,试分别求出T0工作于方式0、方式1、方式2时的定时初值。 解

9、:机器周期Tcy=12/fosc=12/6MHz=2us; 定时t=0.5ms=500us.,26,工作方式1: x= 216 t/Tcy=216 500us/2us =65536 250=65286=FF06H 则TL0=06H,TH0=0FFH 工作方式2: x= 28 t/Tcy=28 500us/2us=256 250=6=6H 则TL0=06H TH0=06H(重装初值寄存器,其值不变),27,28,1、T0、T1的选择使用; 2、合理选择工作方式TMOD; 3、计算初值; x=2n t/Tcy 其中,n与工作方式有关, 方式0,n=13; 方式1,n=16; 方式2、3时,n=8。

10、,29,4、编制应用程序: 定时器/计数器的初始化: 写TMOD; 写入定时初值; 设置中断系统的IP、IE; 启动定时器运行(TRx)。 正确编制定时器/计数器中断服务程序。,30,例6-3:设单片机晶振频率fosc=12MHz,使用T0以方式0产生周期为1ms的方波,并由P1.0输出。以中断方式完成编程。 解: 1、TMOD配置 T1不用,有关位设置为0; T0的GATE=0,C/T=0,M1M000(方式0)。 则TMOD初始化设置为00000000B,即00H。,31,2、计算初值 产生1ms的方波,只需在P1.0端以0.5ms为周期交替输出高低电平即可,因此定时时间为0.5ms 。

11、Tcy=12/fosc=12/12MHz=1us x=213t/Tcy=8192-500us/1us=8192-500=7692 =1E0CH=1 1110 0000 1100B, TH0=11110000B=0F0H;TL0=00001100B=0CH 3、启动和中断 定时器T0的启动由TR0控制,即TR0=1启动。 定时器T0的中断允许由ET0和EA控制, 即ET0=1、EA=1。,32,4、程序设计 ORG 0000H LJMP MAIN ORG 000BH LJMP DS0 ORG 0100H MAIN: MOV SP, #30H MOV TL0, #0CH MOV TH0, #0F0

12、H MOV TMOD, #00H SETB ET0 SETB EA SETB TR0 SJMP $ DS0: MOV TL0, #0CH MOV TH0, #0F0H CPL P1.0 RETI,33,练习题:设单片机晶振频率fosc=6MHz,使用T1以方式2产生周期为1ms的方波,并由P1.0输出。以中断方式完成。,34,一、填空题 1、MCS-51单片机的51子系列含有 个 位的 法定时 器。 2、定时器T0有 种工作模式;定时器T1有 种工作模式。 3、欲对300个外部事件计数,可以选用定时/计数器T1的模 式 或模式 。 4、当定时器T0工作在方式 时,要占定时器T1的TR1和 TF

13、1两个控制位。 5、若系统晶振频率为12MHz,则T0工作于定时和计数方式 时最高(计数)信号频率分别为 kHz和 kHz。 6、TMOD中的GATE=1时,表示由 个信号控制定时器的 启停。,习题课,35,二、简答题 1、单片机系统中的定时和计数功能有何区别?分别适用于什么场合?简述其工作原理。 2、MCS-51单片机中设有几个定时器/计数器?它们分别有几种工作方式?这些工作方式各有哪些特点? 3、MCS-51单片机晶振频率为6MHz时,分别写出T1处于不同工作方式时,最大定时时间是多少?,36,三、计算题 1、MCS-51单片机的时钟晶振频率为6MHz,若要求定时为0.2ms和20ms,定

14、时器0工作方式为0,方式1和方式2,其定时器初值各为多少? 2、单片机的晶振为6MHz,设计一个100ms的延时程序,已知用定时器T0并工作方式1,使用中断和查询两种方式。 3、设MCS-51单片机的晶振频率为6MHz,若由P1.1引脚输出1000Hz方波,试编写其应用程序,使用中断方式。,37,一、填空题 1、MCS-51单片机的51子系列含有 2 个 16 位的 加 法定 时器。 2、定时器T0有 4 种工作模式;定时器T1有 3 种工作模式。 3、欲对300个外部事件计数,可以选用定时/计数器T1的模 式 0 或模式 1 。 4、当定时器T0工作在方式 3 时,要占定时器T1的TR1和

15、TF1两个控制位。 5、若系统晶振频率为12MHz,则T0工作于定时和计数方式 时最高(计数)信号频率分别为 1000 kHz和 500 kHz。 6、TMOD中的GATE=1时,表示由 2 个信号控制定时器的 启停。,答 案,38,二、简答题 1、单片机系统中的定时和计数功能有何区别?分别适用于什么场合?简述其工作原理。 答:定时功能是对片内机器周期计数,从计数开始到计满溢出为止,可以由计数值机器周期值来得到一个准确的时间值;而计数功能则是对单片机引脚上的外来随机脉冲进行计数,一般情况下难以折算为精确时间。 定时功能适用于需要准确计量一段时间的场合;而计数功能适用于对外部事件的计数。 在单片机内,定时和计数的实现都是借助一个加1计数器,工作原理基本一样,只是定时方式下计数脉冲为fose/12,计数方式下的计数脉冲由单片机外引脚(T0或T1)来输入。,39,2、MCS-51单片机中设有几个定时器/计数器?它们分别有几种工作方式?这些工作方式各有哪些特点? 答:MCS-51单片机内部中有两个16位可编程的定时器/计数器。定时器/计数器有四种工作方式:方式0,方式1,方式2,方式3。其中,方式3只适用于T0。以T0为例: 方式0,16位寄存器只用了13位,TL0的高三位未用。由TH0的8位和TL0的低5位组成一个13位加法计数器; 方式1,和方式0的工作相同,唯一的差别是TH0和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号