首页 理论教育 习题与思考题解答|单片机嵌入式系统原理及应用

习题与思考题解答|单片机嵌入式系统原理及应用

时间:2023-10-18 理论教育 版权反馈
【摘要】:显然定时器的定时时间与系统的振荡频率、定时器长度和计数初值均有关系。图7-2 习题与思考题9 Proteus仿真结果10.设fOSC=6MHz,试编写一段程序,功能为:对定时器T0初始化,使之工作在模式2,产生200μs定时,并用查询T0溢出标志的方法,控制P1.1输出周期为2ms的方波,并用Proteus仿真。图7-3 习题与思考题10 Proteus仿真结果

习题与思考题解答|单片机嵌入式系统原理及应用

1.8051单片机定时器有哪几种工作模式?有何区别?

答: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对外部信号计数,外部脉冲的下降沿将触发计数。不管是定时器/计数器工作于何种方式,当计数满后均可置位溢出标志。

978-7-111-50307-1-Chapter07-1.jpg

图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和978-7-111-50307-1-Chapter07-2.jpgx引脚这两个条件。当GATE=1时,只有TRx和978-7-111-50307-1-Chapter07-3.jpg(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的初始化程序和中断服务程序如下:

初始化程序:

978-7-111-50307-1-Chapter07-4.jpg

问:(1)该定时器工作于什么模式?(www.xing528.com)

(2)相应的定时时间或计数值是多少?

答:该定时器工作于模式1,定时时间为62ms因为N=65536-3536=62000个,晶振为12MHz,一个机器周期为1μs。

8.以定时器1对外部事件计数,每计数1000个脉冲后,定时器1转为定时工作模式,定时10ms后,又转为计数模式,如此循环不止。设fOSC=6MHz,试用模式1编程。

978-7-111-50307-1-Chapter07-5.jpg

978-7-111-50307-1-Chapter07-6.jpg

9.已知8051单片机的fOSC=6MHz,试利用T0和P1.0输出矩形波。矩形波高电平宽50μs,低电平宽300μs,并用Proteus仿真。

978-7-111-50307-1-Chapter07-7.jpg

978-7-111-50307-1-Chapter07-8.jpg

Proteus仿真结果如图7-2所示。

978-7-111-50307-1-Chapter07-9.jpg

图7-2 习题与思考题9 Proteus仿真结果

10.设fOSC=6MHz,试编写一段程序,功能为:对定时器T0初始化,使之工作在模式

2,产生200μs定时,并用查询T0溢出标志的方法,控制P1.1输出周期为2ms的方波,并用Proteus仿真。

978-7-111-50307-1-Chapter07-10.jpg

978-7-111-50307-1-Chapter07-11.jpg

Proteus仿真结果如图7-3所示。

978-7-111-50307-1-Chapter07-12.jpg

图7-3 习题与思考题10 Proteus仿真结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈