第五章定时器/计数器
- 格式:doc
- 大小:435.00 KB
- 文档页数:13
第5章思考题及习题5参考答案一、填空1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。
答:32.768ms,262.144ms,1024µs2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。
答:1/243.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。
答:系统时钟信号12分频后,定时器初值4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。
答:方式1定时,131.072ms。
5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。
答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。
答:FCH,18H。
二、单选1.定时器T0工作在方式3时,定时器T1有种工作方式。
A.1种B.2种 C.3种D.4种答:C2. 定时器T0、T1工作于方式1时,其计数器为位。
A.8位B.16位C.14位D.13位答:B3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。
A. 仅取决于TR x状态B. 仅取决于GATE位状态C. 是由TR x和INT x两个条件来共同控制D. 仅取决于INT x的状态答:C4. 定时器T2工作在自动重装载方式时,其计数器为位。
A.8位B. 13位C.14位D. 16位答:D5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。
A.87HB. 09HC.80HD. 00H答:B三、判断对错1.下列关于T0、T1的哪些说法是正确的。
A.特殊功能寄存器SCON,与定时器/计数器的控制无关。
第5章思考题及习题5参考答案一、填空1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。
答:32.768ms,262.144ms,1024µs2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。
答:1/243.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。
答:系统时钟信号12分频后,定时器初值4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。
答:方式1定时,131.072ms。
5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。
答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。
答:FCH,18H。
二、单选1.定时器T0工作在方式3时,定时器T1有种工作方式。
A.1种B.2种 C.3种D.4种答:C2. 定时器T0、T1工作于方式1时,其计数器为位。
A.8位B.16位C.14位D.13位答:B3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。
A. 仅取决于TR x状态B. 仅取决于GATE位状态C. 是由TR x和INT x两个条件来共同控制D. 仅取决于INT x的状态答:C4. 定时器T2工作在自动重装载方式时,其计数器为位。
A.8位B. 13位C.14位D. 16位答:D5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。
A.87HB. 09HC.80HD. 00H答:B三、判断对错1.下列关于T0、T1的哪些说法是正确的。
A.特殊功能寄存器SCON,与定时器/计数器的控制无关。
2、模式1模式1(M1M0=01)除了使用了THn和TLn全部16位外,其它与模式0相同。
(1)计数工作方式由于定时器/计数器以加1方式计数,假定计数值为X,则应装入定时器/计数器的初值为:初值=216-计数值【216=初值+计数值】所以方式1的计数值围是:1~65536(216=65536),最大值为:65536(2)定时工作方式定时时间t的计算公式为:【t的时间单位为微秒(µs)】计数值=216-初值定时时间t=计数值×机器周期=(216-初值)×(1/晶体振荡频率)×12在模式1下的情况下,如果fosc=12MHz,最大定时时间为:t=(65536-初值)×(1/12)×12=65536-0=65.536ms在模式1下的情况下,如果fosc=6MHz,最大定时时间为:t=(65536-初值)×(1/6)×12=(65536-0)×2=131.072 ms。
【例如】:若晶体振荡为12MHz,要定时2.5ms,计算初值。
要定时2.5ms,也可以用模式1。
2500=(216-初值)×(1/12)×12初值=65536-2500=63036=32768+16384+8192+4096+1024+512+32+16+8+4=1111 0110 0011 1100――> THn =0xF6 和 TLn=0x3C在fosc=12MHz时,如果定时时间大于65.536ms,这时用一个定时/计数器直接处理不能实现,这时可用:1、2个定时/计数器共同处理;2、1个定时/计数器配合软件计数方式处理。
3、模式2方式0和方式1的最大特点是计数溢出后,计数器为全0。
因此在循环定时或循环计数应用时就存在用指令反复装入计数初值的问题。
这不仅影响定时精度,也给程序设计带来麻烦。
方式2就是针对此问题而设置的。
该方式可省去用户软件中重装初值的指令执行时间,简化定时初值的计算方法,可以相当精确地确定定时时间。
第05章 单片机定时计数器 习题解答一、 填空题1.1. MCS-51单片机中有单片机中有 2 2 个 16 16 位的定时器位的定时器//计数器。
器。
2.2. 定时器定时器//计数器T0可以工作于方式可以工作于方式 0、1、2、3 3 。
3.3. 方式0为 13 位定时器位定时器//计数器。
计数器。
4.4. 若系统晶振频率为12MHz ,则T0工作于定时方式1时最多可以定时 65536 65536 µs。
µs。
5.5. 欲对300个外部事件计数,可以选用定时器个外部事件计数,可以选用定时器//计数器T1的模式的模式 0 0 或模或模式 1 。
6.6. TMOD 中的M1M0= 11时,定时器工作于方式时,定时器工作于方式 3 3。
7.7. 若系统晶振频率为6MHz 6MHz,则定时器可以实现的最小定时时间为,则定时器可以实现的最小定时时间为,则定时器可以实现的最小定时时间为 2 2 µs。
8.8. MCS-51单片机工作于定时状态时,计数脉冲来自单片机内部的机器周期 。
9.9. MCS-51单片机工作于计数状态时,计数脉冲来自单片机工作于计数状态时,计数脉冲来自 单片机外部事件单片机外部事件单片机外部事件 。
10.10. 当GATE=0时,时, 则当软件控制位则当软件控制位TR0TR0==1时 启动T0开始工作。
开始工作。
二、 简答题1.1.定时器定时器定时器//计数器T0和T1各有几种工作方式?简述每种工作方式的特点。
如何控制定时器/计数器的工作方式?计数器的工作方式?答:答:T0T0可以工作于方式0,1,2,3;T1可以工作于方式0,1,2方式0:是13位定时位定时//计数器,由TLX 的低5位(位(TLX TLX 的高3位未用)和THX 高8位组成。
成。
方式1:TLX 和THX 组成16位定时位定时//计数器。
计数器。
方式2:方式2为自动重装初值的8位定时位定时//计数器。
单片机中的定时器和计数器单片机作为一种嵌入式系统的核心部件,在各个领域都发挥着重要的作用。
其中,定时器和计数器作为单片机中常用的功能模块,被广泛应用于各种实际场景中。
本文将介绍单片机中的定时器和计数器的原理、使用方法以及在实际应用中的一些典型案例。
一、定时器的原理和使用方法定时器是单片机中常见的一个功能模块,它可以用来产生一定时间间隔的中断信号,以实现对时间的计量和控制。
定时器一般由一个计数器和一组控制寄存器组成。
具体来说,定时器根据计数器的累加值来判断时间是否到达设定的阈值,并在时间到达时产生中断信号。
在单片机中,定时器的使用方法如下:1. 设置定时器的工作模式:包括工作在定时模式还是计数模式,以及选择时钟源等。
2. 设置定时器的阈值:即需要计时的时间间隔。
3. 启动定时器:通过控制寄存器来启动定时器的运行。
4. 等待定时器中断:当定时器计数器的累加值达到设定的阈值时,会产生中断信号,可以通过中断服务函数来进行相应的处理。
二、计数器的原理和使用方法计数器是单片机中另一个常见的功能模块,它主要用于记录一个事件的发生次数。
计数器一般由一个计数寄存器和一组控制寄存器组成。
计数器可以通过外部信号的输入来触发计数,并且可以根据需要进行计数器的清零、暂停和启动操作。
在单片机中,计数器的使用方法如下:1. 设置计数器的工作模式:包括工作在计数上升沿触发模式还是计数下降沿触发模式,以及选择计数方向等。
2. 设置计数器的初始值:即计数器开始计数的初始值。
3. 启动计数器:通过控制寄存器来启动计数器的运行。
4. 根据需要进行清零、暂停和启动操作:可以通过控制寄存器来实现计数器的清零、暂停和启动操作。
三、定时器和计数器的应用案例1. 蜂鸣器定时器控制:通过定时器模块产生一定频率的方波信号,控制蜂鸣器的鸣叫时间和静默时间,实现声音的产生和控制。
2. LED呼吸灯控制:通过定时器模块和计数器模块配合使用,控制LED的亮度实现呼吸灯效果。
第五章MCS-51定时器/计数器及其应用5.1定时方法概述在单片机的应用中,可供选择的定时方法主要有:1.软件定时软件定时是靠执行一个循环程序以进行时间延迟。
软件定时的特点是时间较精确,且不需外加硬件电路。
但软件定时要占用CPU的时间,增加CPU开销,因此软件定时的时间不宜太长。
当单片机时钟确定后,每条指令的指令周期是确定的,在指令表中用振荡周期表示出来了。
因此,根据程序执行所用的总的振荡周期数和振荡频率,可以较准确的计算,程序执行完所用的时间。
软件延时是实际经常采用的一种短时间定时方法。
例4-16 ORG 1000HTIME:MOV R1, #0FAH ;12个振荡周期L1 :MOV R0, #0FFH ;12个振荡周期W1 :DJNZ R0 , W1 ;24个振荡周期DJNZ R1 , L1 ;24个振荡周期NOP ;12个振荡周期NOP ;12个振荡周期RET ;24个振荡周期计算延时时间:N=12+(12+24×255+24)×250+12+12+24=1539060个振荡周期如果ƒ=6MHz Tƒ=1/ƒ=1/6μsTt=N×Tƒ=1539060×1/6μS=256510μS=0.25651S调整R0和R1中的参数,可改变延时时间,如果需要加长延时间,可以增加循环嵌入。
当延时时间较长、不便多占用CPU时间的情况下,一般采用定时器方法。
2.内部可编程定时器这种定时方法是通过对系统时钟脉冲的计数来实现的。
计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便。
此外,由于采用计数方法实现定时,因此可编程定时器都兼有计数功能,可以对外来脉冲进行计数。
3.外部扩展专用定时器对于时间较长的定时,常使用外部扩展专用定时器完成。
这种方法定时全部由硬件电路完成,不占用CPU时间。
例如:DALLAS 公司的DS1302低功耗时钟芯片.它可以对年月日时分秒计时,并且有闰年补偿功能,它可以很方便地和单片机接口.5.2 51单片机内部的定时器/计数器作为基本组成内容,8051单片机共有两个可编程的定时器/计数器,分别称定时器/计数器0和定时器/计数器1。
它们都是十六位加法计数结构,分别由TH0和TL及TH1和TL1两个8位计数器组成,它们具有计数和定时两种工作方式以及四种工作模式。
两个特殊功能寄存器(定时器控制寄存器TCON和定时器方式寄存器TMOD)用于确定定时器/计数器的功能和操作方式。
图5-1给出了定时器/计数器的结构框图,它反映了单片机中微处理器、寄存器TCON和TMOD与定时器T0、T1之间的关系。
计数器的输入脉冲源可以是外部脉冲源或系统时钟振荡器,计数器对这两个输入脉冲之一进行递增计数。
顾名思义,MCS-51的每个定时器/计数器都具有定时和计数两种功能。
图5-1 定时器/计数器的结构框图1.计数功能所谓计数是指对外部事件进行计数。
外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。
8051芯片有T。
(P3.4)和T1(P3.5)两个信号引脚,分别是这两个计数器的计数输入端,外部输入的脉冲在负跳变时有效,进行计数器加1(加法计数)。
计数方式下,单片机在每个机器周期的S5P2拍节对外部计数脉冲进行采样。
如果前一个机器周期采样为高电平,后一个机器周期采样为低电平,即为一个有效的计数脉冲。
在下一机器周期的S3P1进行计数。
可见采样计数脉冲是在二个机器周期进行的。
鉴于此,计数脉冲的频率不能高于振荡脉冲频率的1/24。
2.定时功能定时功能也是通过计数器的计数来实现的,不过这时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲。
也就是每个机器周期计数器加1。
由于一个机器周期等于12个振荡脉冲周期,因此计数频率为振荡频率的1/12。
如果单片机采用12MHZ晶体,则计数频率为1MHz。
即每微秒计数器加1。
这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出计数器的预置值。
5.3 定时器/计数器的控制寄存器与定时器/控制器有关的控制寄存器有:1.定时器控制寄存器(TCON)TCON寄存器既参与中断控制又参与定时控制。
有关中断的控制内容已在第六章中说明,此处只对其定时控制功能加以介绍。
其中有关定时的控制位共有四位:·TF0(TF1)--计数溢出标志位当计数器从初值开始递增计数至计数溢出(计满)时,由单片机内部(硬件)自动对该位置1。
使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法及时将该位清0;使用中断方式时,此位作中断标志位,在转向中断服务程序时,自动(硬件)清0。
·TR0(TR1)--定时器运行控制位定时器T0(T1)的运行控制位该位根据需要以软件方法使其置1或清0,用来启动/关闭定时器T0(T1)。
2.工作方式控制寄存器(TMOD)TMOD寄存器是一个专用寄存器,用于控制两个定时器/计数器的工作方式。
但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。
各位定义如下:其中:高4位字段用于定时器T1的工作方式控制,低4位字段用于定时器T的工作方式控制。
TMOD各位的定义和功能如下:·GATE--门控位GATE=0以运行控制位TR0(TR1)启动定时器GATE=l以外中断请求信号(INT0、INT1)启动定时器以上说明:GATE为1时,定时器/计数器的计数受外部引脚输入电平的控制,具体来讲,INT0控制T运行,INT1控制T1运行。
GATE为0时,定时器/计数器的运行不受外部输入引脚的控制。
因此,通常称前者为外部控制,后者为内部控制。
·C/T--定时方式或计数方式选择位C/T=0定时工作方式,计数脉冲是内部脉冲,其周期等于机器周期。
C/T=1计数工作方式,计数脉冲是从引脚T0或T1输入。
·M1M0—工作方式选择位M1M0=00 方式0M1M0=01 方式1MlM0=10 方式2M1M0=11 方式33.中断允许寄存器(IE)IE寄存器的详细内容请见第六章。
其中与定时器/计数器有关的位重复介绍如下。
·EA--中断允许总控制位·ET。
(ET1)--定时/计数中断允许控制位ET。
(ET1)=0禁止定时/计数中断ET。
(ET1)=1允许定时/计数中断5.4 MCS-51的定时器/计数器工作方式MCS-51的定时器/计数器共有四种工作方式,现从方式0开始逐个介绍。
5.4.1定时器/计数器工作方式01.电路逻辑结构方式0是13位计数结构的工作方式,其计数器由TH0全部8位和TL的低5位构成。
TL的高3位弃之不用。
图5-2是定时器/计数器0在工作方式0的逻辑结构(定时器/计数器1与此完全相同)。
图5-2 定时器/计数器工作方式0逻辑结构如图所示,当C/T=0时,多路开关接通振荡脉冲的十二分频输出,13位计数器以此进行计数,这就是所谓定时器工作方式。
当C/T=1时,多路开关接通计数引脚(T),外部计数脉冲由引脚T。
输入。
当计数脉冲发生负跳变时,计数器加1,这就是所谓计数工作方式。
不管是那种工作方式,当TL。
的低5位计数溢出时,向TH。
进位,而全部13位计数溢出时,则向计数溢出标志位TF。
进位。
这里说明一下工作方式控制寄存器中门控位(GATE)的功能。
当GATE=0时,由于GATE信号封锁了或门,使引脚INT信号无效。
而这时或门输出端的高电平状态却打开了与门。
因此可以由TR(TCON寄存器)的状态来控制计数脉冲的接通与断开。
这时如果TR=1,则接通模拟开关,使计数器进行加法计数,即定时器/计数器工作。
如果TR。
=0,则断开模拟开关,停止计数,定时器/计数器不能工作。
因此在单片机的定时或计数应用中要注意GATE位的清0当GATE=1,同时又TR=1时,有关电路的或门和与门全都打开,计数脉冲的接通与断开由引脚信号INT。
控制。
当该信号为高电平时计数器工作;当该信号为低电平时计数器停止工作。
这种情况可用于测量外信号的脉冲宽度。
2.定时和计数应用在方式0下,当为计数工作方式时,计数值的范围是:1~8192(213)当为定时工作方式时,定时时间的计算公式为;(213-计数初值)×T ×12或(213-计数初值)×机器周期其时间单位分别与晶振周期或机器周期相同。
如晶振频率为6MHZ,则最小定时时间为:[213-(213-1)]×1/6 × 10-6 ×12 = 2 × 10-6=2(us) 最大定时时间为:(213-0)×1/6 ×10-6X12=16384X10-6=16384(us)定时器/计数器初始化程序设计的基本步骤如下:(1)确定工作方式,对寄存器TMOD和TCON等赋值;(2)预置定时或计数的初值X;(3)根据需要开放或关闭定时器/计数器的中断;(4)启动定时器/计数器工作。
[应用举例]设单片机晶振频率Fosc=6MHz,使用定时器1以方式0产生周期为500us的等宽正方波脉冲,并由P1.0输出。
以查询方式完成。
①计算计数初值欲产生500us的等宽正方波脉冲,只需在P1.0端以250us为周期交替输出高低电平即可实现,为此定时时间应为250us。
使用6MHZ晶振,则一个机器周期为2us。
方式0为13位计数结构。
设待求的计数初值为X,则:(213-X) ×1/6 ×10-6×12=250×10-6,求解得:X=8067。
二进制数表示为1111110000011。
转换为十六进制数,高8位为FCH,低5位为03H。
其中高8位放入TH1,即TH1=FCH;低5位放入TL1,即TL1=O3H。
②TMOD寄存器初始化为把定时器/计数器1设定为方式0,则M1M=00;为实现定时功能,应使C/T=0;为实现定时器/计数器1的运行控制,则GATE=0。
定时器/计数器0不用,有关位设定为0。
因此TMOD寄存器应初始化为00H。
③由定时器控制寄存器TCON中的TR1位控制定时的启动和停止,TR1=1启动,TR1=0停止。
④程序设计MOV TMOD,#00H ;设置T1工作方式0MOV TH1,#OFCH ;设置计数初值MOV TL1,#03H ;MOV IE,#00H ;禁止中断SETB TR1;启动定时LOOP:JBC TF1,LOOP1;查询计数溢出AJMP LOOPLOOP1:MOV TH1,#0FCH ;重新设置计数初值。
NMOV TL1,#03H ;CPL P1。
0;输出取反AJMP LOOP ;重复循环5.4.2定时器/计数器工作方式1方式1是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。