预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

定时器/计数器6·180C51单片机内部有几个定时器/计数器?它们是由哪些专用寄存器组成?答:80C51单片机内部设有两个16位的可编程定时器/计数器,简称为定时器0(T0)和定时器l(Tl)。在定时器/计数器中的两个16位的计数器是由两个8位专用寄存器TH0、TL0,THl、TLl组成。6·280C51单片机的定时器/计数器有哪几种工作方式?各有什么特点?答:80C51单片机的定时器/计数器有4种工作方式。下面介绍4种工作方式的特点。方式0是一个13位的定时器/计数器。当TL0的低5位溢出时向TH0进位,而TH0溢出时向中断标志TF0进位(称硬件置位TF0),并申请中断。定时器0计数溢出与否,可通过查询TF0是否置位或产生定时器0中断。在方式1中,定时器/计数器的结构与操作几乎与方式0完全相同,惟一的差别是:定时器是以全16位二进制数参与操作。方式2是能重置初值的8位定时器/计数器。其具有自动恢复初值(初值自动再装人)功;能,非常适合用做较精确的定时脉冲信号发生器。方式3只适用于定时器T0。定时器T0在方式3T被拆成两个独立的8位计数器TL0:和TH0。其中TL0用原T0的控制位、引脚和中断源,即:C/T、GATE、TR0、TF0和T0(P3.4)引脚、INTO(P3.2)引脚。除了仅用8位寄存器TL0外,其功能和操作与方式0、方式1完全相同,可定时亦可计数。此时TH0只可用做简单的内部定时功能。它占用原定时器Tl的控制位TRl和TFl,同时占用Tl的中断源,其启动和关闭仅受TRl置1和清0控制。6·3定时器/计数器用做定时方式时,其定时时间与哪些因素有关?作计数时,对外界计数频率有何限制?答:定时器/计数器用做定时方式时,其定时时间与时钟周期、计数器的长度(如8位、13位、16位等)、定时初值等因素有关。作计数时,外部事件的最高计数频率为振荡频率(即时钟周期)的1/24。6·4当定时器T0用做方式3时,由于TR1位已被T0占用,如何控制定时器T1的开启和关闭?答:定时器T0用做方式3时,由于TRl位己被T0占用,此时通过控制位C/T切换其定时器或计数器工作方式。当设置好工作方式时,定时器1自动开始运行;若要停止操作,只需送入一个设置定时器1为方式3的方式字。6.5己知80C51单片机系统时钟频率为6MHz,请利用定时器T0和Pl。2输出矩形脉冲,其波形如下:答:设置T0为方式2定时,定时50us,初值X为:X=28-(6×106×50×10-8)÷12=231D=E7HTH0=TL0=E7H,TMOD=2H源程序如下:MOVTMOD,#02H;设置T0为方式2定时MOVTH0,#E7H;赋初值MOVTL0,#E7HSETBTR0;启动T0工作LI:SETBPl.2MOVR0,#7低电平延时计数器致初值DEL:JBCTF0,REPAJMPDELREP:CLRPl.2DJNZR0,DELAJMPL16.6在80C51单片机中,己知时钟频率为12MHz,请偏程使Pl·0和Pl·1分别输出周期为2ms和500us的方波。答:方法1:选用定时器0定时,工作方式设为3,用TL0作为8位定时器,产生250us的定时,定时初值X为:X=28-(12×106×250×10-6)÷12=6TH0=TL0=6H,TMOD=3H源程序为:MOVTMOD,#3H;设置T0为方式3定时MOVTL0,#6H;赋初值SETBTR0;启动T0工作LP:MOVR0,#4;Pl·0延时计数器置初值DEL:JBCTF0,REP;查询计数溢出AJMPDELREP:MOVTL0,#6H;重新赋初值CPLPl.1LI:DJNZR0,DELCPLPl.0AJMPLP方法2:选用定时器1定时250us,工作方式设为2,用TLl作为8位定时器,产生250us的定时,定时初值x为:X=28-(12×106×250×10-6)-12=6TH1=TL1=6H,TMOD=20HMOVTMOD,#20H;设定时器1为方式2MOVTHl,#06H;赋250us初值MOVTLl,#06HSETBTR1EX6_RPTAMOVR2,#04HEX6_RPTB,JNBTFl,$CLRTF1CPLPl.1;每250usPl.1反转一次DJNZR2,EX6_RPTBCPLPl.0;Pl.1反转4次,Pl.0反转一次LJMPEX6_RPTA;循环6·7设系统时钟频率为6MHz,请试用定时器T0作外部计数器,编程实现每计到1000个脉冲,使T1开始2ms定时,定时时间到后,T0又开始计数,这样反复循环不止。答:按题目要求编程如下:MOVTMOD,#15H;设定时器1为定时方式1;定时器0为外部计数方式1EX7.RPT:MOVTH0,#0FCH;定时器0赋1000的计数初值MOVTL0,#018HSETB