答:8051单片机定时器有4种工作模式,分别为模式0、模式1、模式2、模式3,不同的工作模式,可以通过对特殊功能寄存器TMOD编程进行选择控制。区别在于模式0为13位,模式1为16位,模式2为8位可自动重载模式,模式3为分立定时器模式。
2.8051系列单片机定时器0、1的结构与工作原理。
答:8051定时器0、1的结构示意图如图7-1所示,从图中可以看出,定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计数满溢出为止。显然定时器的定时时间与系统的振荡频率、定时器长度和计数初值均有关系。由于一个机器周期等于12个振荡周期,故当振荡频率为12MHz时,机器周期为1μs。当定时器的计数初值小或计数长度长时,就需要更多的脉冲数定时器方能溢出,而当振荡频率固定后,定时的时间就取决于定时器初始值的大小和定时器长度的选择(如8位、13位、16位等)。当定时器/计数器工作于计数方式时,通过引脚T0、T1对外部信号计数,外部脉冲的下降沿将触发计数。不管是定时器/计数器工作于何种方式,当计数满后均可置位溢出标志。
图7-1 8051定时器0、1的结构示意图(X取0或1)
3.8051单片机定时器作定时和计数时,其计数脉冲分别由谁提供?
答:8051单片机定时器用作定时器时,其计数脉冲由CPU时钟经12分频后形成的脉冲提供,8051单片机定时器用作计数器工作时,由外部引脚(T0、T1)输入的脉冲提供。
4.8051单片机定时器的门控信号GATE为1时,定时器如何启动?
答:GATE位的状态决定定时器/计数器的运行控制取决于TRx(x=0或1)一个条件,
还是TRx和x引脚这两个条件。当GATE=1时,只有TRx和(x=0或1)同时为1,
才允许定时器/计数器开始计数。
5.定时器/计数器0已预置为FFFFH,并选用模式1的计数模式,问此时定时器0的实际用途将是什么?
答:由于初值预置的是FFFFH,所以当外部输入端T0发生一次负跳变时,定时器/计数器T0加1且溢出,溢出标志TF0置1,向CPU发出中断请求。定时器/计数器0的实际用途一般是用作启动控制信号。
6.定时器/计数器0已预置为156,并选用模式2的计数模式,在T0引脚上输入周期为1ms的脉冲,问此时定时器/计数器0的实际用途是什么?在什么情况下,定时器/计数器0溢出?
答:定时器/计数器的实际用途为计数器。当输入脉冲数达到100个时,定时器/计数器0溢出。
7.设fOSC=12MHz,定时器/计数器0的初始化程序和中断服务程序如下:
初始化程序:
问:(1)该定时器工作于什么模式?(www.xing528.com)
(2)相应的定时时间或计数值是多少?
答:该定时器工作于模式1,定时时间为62ms因为N=65536-3536=62000个,晶振为12MHz,一个机器周期为1μs。
8.以定时器1对外部事件计数,每计数1000个脉冲后,定时器1转为定时工作模式,定时10ms后,又转为计数模式,如此循环不止。设fOSC=6MHz,试用模式1编程。
9.已知8051单片机的fOSC=6MHz,试利用T0和P1.0输出矩形波。矩形波高电平宽50μs,低电平宽300μs,并用Proteus仿真。
Proteus仿真结果如图7-2所示。
图7-2 习题与思考题9 Proteus仿真结果
10.设fOSC=6MHz,试编写一段程序,功能为:对定时器T0初始化,使之工作在模式
2,产生200μs定时,并用查询T0溢出标志的方法,控制P1.1输出周期为2ms的方波,并用Proteus仿真。
Proteus仿真结果如图7-3所示。
图7-3 习题与思考题10 Proteus仿真结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。