习题4 答案单片机的中断系统、定时器与串行通信一、选择题1、若要求最大定时时间为216×机器周期,则应使定时器工作于 B 。
A.工作方式0B.工作方式lC.工作方式2D.工作方式32、若要求最大定时时间为213×机器周期,则应使定时器工作于 A 。
A.工作方式0B.工作方式lC.工作方式2D.工作方式33、若要求最大定时时间为28×机器周期,则应使定时器工作于 C ,D 。
A.工作方式0B.工作方式1C.工作方式2D.工作方式34、定时器方式控制寄存器TMOD中MlM0为l l时,则设置定时器工作于 D 。
A.工作方式0B.工作方式lC.工作方式2D.工作方式35、6MHz晶振的单片机在定时工作方式下,定时器可能实现的最小定时时间是B .A.1 u sB.2 u sC.4 u sD.8 u s ’6、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最小定时时间是A.A.1 u sB.2 u sC.4 u sD.8 u s7、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最大定时时间是B.A.4096 u sB.8192 u SC.1638 u sD.32768 u s8、定时器/计时器0的初始化程序如下:MOV TMOD,#06HMOV TH0.#0FFHMOV TLO,#0FFHSETB EASETB ET0执行该程序段后,把定时器/计时器0的工作状态设置为D。
A. 工作方式0,定时应用,定时时间2 u s,中断禁止B.工作方式l,计数应用,计数值255,中断允许C.工作方式2,定时应用,定时时间510 u s,中断禁止D.工作方式2,计数应用,计数值1,中断允许9、设串行口工作于方式l,晶振频率为6MHz,波特率为1200位/秒,SMOD=0,则定时器l的计数初值为C。
A.FlHB.F4HC.F3HD.FOH10、以下所列特点,不属于串行工作方式0的是D。
A.波特率是固定的,为时钟频率的十二分之一B.8位移位寄存器C.TI和RI都须用软件清零D.在通信时,须对定时器l的溢出率进行设置11、通过串行口发送或接收数据时,在程序中应使用A。
A.MOV指令B.MOVX指令C.MOVC指令D.SW AP指令12、若设串行控制寄存器SCON=40H,则串行口的工作方式是B。
A.方式0B.方式lC.方式2D.方式313、下列对SCON的相关位描述不正确的是A。
A.当REN=l时,禁止串行口接收数据B.在方式0时,SM2必须为0C.RI位由软件清零D.ITl=1,表示帧发送结束二、填空题1、8051单片机中的定时器/计数器有T0和T1两个。
2、8051单片机中用于定时器/计数器的控制寄存器有TMOD和TCON两个。
3、8051单片机有五个中断源,分别是T0中断、T1中断、外部中断0、外部中断l和串行中断。
4、8051单片机有2个加法定时器/计数器,它们是由TH0、TL0、THl、和TLl四个专用寄存器构成的。
5、8051单片机有5个中断源,分成2个优先级。
控制中断允许的寄存器是IE;控制中断优先级的寄存器是IP。
6、8051单片机5个中断源的入口地址分别为0003H、000BH、0013H、001BH 和0023H7、外部中断0和外部中断1有两种引起中断的方式,一种是下降沿引起中断,另一种是低电平引起中断。
8、要将外部中断0的触发方式设置成为低电平引起中断,则应将IT0位设置成0 。
9、要将外部中断1的触发方式设置成为下降沿引起中断,则应将ITl 位设置成1 。
10、串行中断可以由串行端口完成一帧字符发送或串行端口完成一帧字符接收引起中断。
11、当计数器/定时器l申请中断时,T1中断标志TFl将为 1 ;而当该中断得到了响应后,TFl为0 。
12、当串行端口完成一帧字符接收申请中断时,串行中断标志RI 将被系统设置为1 。
当该中断得到了响应后,串行中断标志的状态为0 。
13、定时器方式控制寄存器TMOD中M1M0为01时,设置定时器工作于工作方式1 。
14.定时器方式控制寄存器TMOD中C/T为1时,定时器工作于计数状态。
15、当定时器控制寄存器TCON中的TF0为1时,说明T0有中断请求。
16、中断服务程序必须使用RETI 指令返回到主程序。
17、8051单片机工作于定时状态时,计数脉冲来自单片机内部(振荡脉冲12分频后的脉冲。
18、8051单片机工作于计数状态时,计数脉冲来自外部引脚(T0或T1) 。
19、计算机的数据传送共有两种方式:并行数据传送和串行数据传送。
20、从起始位开始到停止位结束的全部内容称为一帧(frame)。
21、串行数据通信有三种数据通路形式(方向):单工形式、全双工形式和半双工形式。
22、MCS-5l的串行口有一个缓冲寄存器,在串行发送时,从片内总线向发送缓冲寄存器写入数据;在串行接收时,从接收缓冲寄存器向片内总线读出数据。
23、由于串行口的发送和接收缓冲寄存器为同一地址,所以发送与接收不能同时进行。
24、在基波传输时,波特率是用来表示每秒钟传送格式位的数目的。
因此,1波特= l位/秒。
25、通信是指计算机与其外界的数据传送.26、单片机中使用的串行通信都是异步方式。
27、P3.0的第二功能线为串行端口的TXD端。
P3.1的第二功能线为串行端口的RXD端。
28、串行端口的RXD是第10 引脚;串行端口的TXD是第11 引脚。
三、判断题1、MCS-51单片机共有五个中断源,因此相应地在芯片上就有五个中断请求输入引脚。
(×)2、当全局中断允许位EA=0时,系统将不响应任何中断。
(√)3、在MCS-51单片机中,高级中断可以打断低级中断形成中断嵌套。
(√)4、在一般情况下,MCS-51单片机允许同级中断嵌套。
(×)5、只要有中断出现,CPU就立即响应中断。
(×)6、MCS-51单片机定时工作方式0与定时工作方式l除了计数结构位数不同,别无差别。
(√)7、.除了低优先级中断不能打断高优先级中断的情况外,其他情况都能形成中断嵌套。
( ×)8、T0和T1都是减法定时器/计时器。
(×)9、在定时工作方式2状态下,因为把TH作为预置寄存器,所以在应用程序中应当在有计数溢出时从TH向TL加载计数初值的操作。
(×)10、中断初始化时,对中断控制寄存器的状态设置,只能使用位操作指令,而不能使用字节操作指令。
(×)11、MCS-51单片机的定时和计数都使用同一计数机构,所不同的只是计数脉冲的来源。
来自于单片机内部的是定时,而来自于外部的则是计数。
(√)四、问答题1、设单片机的f osc=6MHz,定时器处于不同的工作方式时,最大计数范围和定时范围分别是多少?解答:方式0的计数范围为:1~213方式1的计数范围为:1~2116方式2的计数范围为:1~28方式3的计数范围为:1~28方式0的定时范围为:(1~213)×2 u s =16384 u s≈16.38ms方式l的定时范围为:(1~216)×2 u s =131072 u s≈131.072ms方式2的定时范围为:(1~28)×2 u s =512 u s方式3的定时范围为:(1~28)×2 u s=512 u s2、简述如果要求产生的定时时间超过了单片机定时的最大范围时,如何处理才能达到要求定时的时间?设单片机的f osc=6MHz,要求产生1秒钟的定时,如何处理?解答:(1)当要求产生的定时时间超过了单片机定时的最大范围时,则要采用硬件计数与软件计数相结合的方法来产生所要求的定时时间。
用软件的方法对硬件定时时间进行计数,如果软件计数为n,则定时时间=n×硬件定时时间。
(2)使定时器工作于工作方式l(16位方式),使之产生100ms的定时时间,每100ms产生一次中断。
然后使用软件对其进行计数,中断10次,软件就计数10次,从而产生1s的定时时间。
3、8051单片机内设有几个定时器/计数器?它们是由哪些专用寄存器构成的?其地址分别是多少?解答:(1)805l单片机内设有两个定时器/计数器,一个是T0,另一个是Tl。
(2)它们是由TL0、TH0、TLl和THl专用寄存器构成的。
(3)其地址分别是8AH、8CH、8BH和8DH。
4、805l单片机有几个中断源?分成几个优先级?解答:(1)8051单片机有5个中断源。
(2)分成2个优先级,高优先级和低优先级。
5、简述8031单片机中断嵌套的规定。
解答:在MCS一51单片机中,高级中断可以打断低级中断形成中断嵌套。
同级中断之间或低级对高级中断不能形成中断嵌套。
若几个同级中断同时向CP[J提出中断申请,则CPU按照如下顺序响应中断:INT→Tl→RI/TIINT→T0 →16.写出8051单片机中5个中断源的名称和对应的中断服务程序入口地址。
解答:5个中断源的名称:(1)外部中断0 (2)TO中断(3)外部中断l (4)T1中断(5)串行中断对应的中断服务程序入口地址:(1)0003H (2)000BH (3)0013H (4)00lBH (5)0023H7.简述中断的全过程。
解答:(1)首先由重点源引起中断请求,使相应的中断标志位为1.(2)若全局中断允许和相应的中断允许处于打开状态,并满足中断响应的条件,而且:①当前正在执行的那条指令已经执行完毕。
②当前未响应同级或高级中断。
③不是在操作IE 、IP 中断控制寄存器或执行RETI 指令。
则单片机响应该中断,进入到相应的中断服务程序中执行中断服务程序。
(3)对于0INT 、T0、1INT 、Tl 中断,当中断响应后,自动将中断请求标志清零。
对于串行中断,不自动清除中断请求标志,必须人为用软件将中断标志清零。
(4)当执行到中断服务程序中的RETI 指令时,返回到断点处,继续执行主程序。
五、应用题1、设单片机的f osc =12MHz ,要求用T0定时150gs ,分别计算采用定时方式0、定时方式1和定时方式2的定时初值。
解答:方式0的定时初值为:TH0:FBH ,TL0:0AH 方式l 的定时初值为:TH0:FFH ,TL0:6AH 方式2的定时初值为:TH0:6AH ,TL0:6AH2、设单片机晶振频率f osc =6MHz ,使用Tl 以工作方式0工作,要求定时250 u s ,计算定时初值,并写出设置时间常数的指令。
解答:C=1111110000011 高8位为0FCH 低5位为03H设置时间常数的指令: MOV THI ,#0FCH MOV TLl ,#03H3、使用定时器T1以工作方式2计数,每计数100次申请一次中断。