第四章中断定时串行口例题习题

更新时间:2024-06-14 08:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中断定时/计数器串行口部分例题习题 一、填空:

1、单片机CPU 和外设进行数据交换时常用的方式有 无条件转换 、 查询方式 、 中断方式 三种

2、中断系统中共有 INTO 、 INT1 、 T0 、 T1 、 串行口 五个中断源,其中优先级最高的是 INTO 、优先级最低的是 串行口 。 二、选择:

1、6MHz晶振的单片机在定时工作方式下,定时器可能实现的最小定时时间是 。 A.1 u s B.2 u s C.4 u s

D.8 u s ' 2、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最小定时时间是 。 A.1 u s B.2 u s C.4 u s D.8 u s

3、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最大定时时间是 。 A.4096 u s B.8192 u S C.1638 u s D.32768 u s

4、以下所列特点,不属于串行工作方式0的是 。 A.波特率是固定的,为时钟频率的十二分之一 B.8位移位寄存器

C.TI和RI都须用软件清零

D.在通信时,须对定时器l的溢出率进行设置

5、通过串行口发送或接收数据时,在程序中应使用 。 A.MOV指令 B.MOVX指令 C.MOVC指令 D.SWAP指令

6、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A) (A) 方式0 (B)方式1 (C)方式2 (D)方式3

答BADDAA 三、判断题

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、8051单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的?又如何清除这些中断标志?各中断源所对应的中断矢量地址是多少?

答:8051单片机提供了5个中断源:两个外部INTO和INT1中断源,两个定时片内定时器T0和T1溢出中断源,一个片内全双工串行口中断源.提供了高、低两个中断优先级、能实现两级中断服务程序嵌套,同一个优先级里,由硬件查询来确定优先序列。各中断源请求中断的标志分别由特殊功能寄存器TCON、SCON的相应位锁存,这些标志位的产生和清除方式如下: IE0(TCON.1)外部中断0请求标志.当INTO出现有效的中断请求信号时,硬件使IE0置位.在边沿触发方式时,当CPU响应IE0中断后,由硬件清除IE0。

IE1(TCON.3)外部中断1请求标志.置位复位方式与IE0相同。

TF0(TCON.5)T0溢出中断请求标志。每当T0计数器加1计数到溢出时,TF0=1。CPU响应TF0中断,硬件清除TF0。也可以由查询软件清除TF0。

TF1(TCON.7)T1溢出中断请求标志。置位复位方式与TF0相同。 R1(SCON.0)串行口接收中断请求标志。当串行口接收器收到一个串行帧,R1=1。CPU响应R1中断,硬件并不清除R1,R1必须由软件清0。

T1(SCON.1)串行口发送中断请求标志.将8位数据写入SBUF后,发送完一个串行帧,T1=1.CPU响应T1中断,硬件并不清除T1,T1必须由软件清0. 各中断源对应的矢量地址如下: 外部中断0:0003H 定时器 T0:000BH 外部中断:0013H 定时器 T1:001BH

串行口接收和发送:001BH

2.为什么定时器T1用作串行口波特率发生器时,常选用工作模式2?若已知系统时钟频率和通信用的波特率,如何计算其初值?

答:因为工作模式2是自动重装初值定时器,编程时无需重装时间参数(计数初值),比较实用。若选用工作模式0或工作模式1,当定时器T1溢出时,需在中断服务程序中重装初值。 3、MCS-51单片机内有两个 16 位加1定时 / 计数器,可通过编程实现 4 种工作方式。 7. 8031单片机定时/计数器有哪几种工作方式? 答:1)、8031单片机模式0、1、2、3等4中定时/计数方式。

模式0为13位定时/计数方式; 模式1为16位定时/计数方式; 模式2为8位循环定时/计数方式; 模式3为2个8位定时/计数方式。

定时器T0和T1各有几种工作方式?(8分)

答:T0有4种工作方式,T1有3种工作方式,见表面4.4所述。 表4.4 定时器的工作方式 工作方式 适用定时器 功 能 说 明 方式0 方式1 方式2 方式3 T0、T1 T0、T1 T0、T1 T0

13位的定时器/计数器 16位的定时器/计数器

自动重新装入计数初值的8位的定时器/计数器

分为两个8位计数器TL0和TH0。TL0可工作于定时或计数状态,TH0则固定为定时状态。方式3对T1则停止计数

4. 已知8031单片机晶振频率是12MHz,定时器T1最长定时时间是多少?如果8031单片机晶振频率是6MHz,定时器T1最长定时时间又是多少?

答:为实现最长的定时时间,定时/计数器应选工作方式1。

① 当晶振频率为12MHz时,机器周期为1μs,当初值=0时达到最大定时: 定时时间为:=(216 - 0)× 1μs = 65536μs = 65.536ms

② 当晶振频率为6MHz时,机器周期为2μs,当初值=0时达到最大定时: 定时时间为:=(216 - 0)× 2μs = 131072μs = 131.072ms

5、MCS-51单片机系统时钟为12MHZ,试利用定时/计数器0控制每隔200?S从P1.6口输出1个4?S低电平脉冲。(本题20分) 答:1)、定时/计数器的模式选定(此部分2分) 由于8位定时时间为256?s,因此,将定时/计数器0设置为模式2(8位自动重装 载方式)。设置定时200?s。 2)、控制字设置(此部分3分) TMOD=****0110B 3)、时间常数确定(此部分3分) ?=12?106HZ,T=200?10-6S代入,得 X=256-200=156=9CH 初值设置为:TH0=TL0=#09CH

4)、程序设计

主程序(此部分6分) ORG 0000H ;系统复位入口 AJMP 0100H ;系统主程序从0100H开始 ORG 000BH ;定时器0中断入口 AJMP 0500H ;定时器0中断服务程序放在0500H处 ORG 0100H MOV SP,#30H ;置栈顶 MOV TH0,#9CH ;设置定时器初值 MOV TL0,#9CH ; MOV TMOD,#06H ;设置定时器0为模式2 SETB TR0 ;启动定时器0 SETB ET0 ;允许定时器0中断 SETB EA ;开系统中断 SETB P1.6 。。。。。。。。。

中断服务程序(此部分6分) ORG 0500H T200US: PUSH PSW CLR P1.6 NOP NOP NOP

;栈保护

;P1.6输出低电平 ;延时4?s

SETB P1.6 ;P1.6输出高电平

POP PSW SETB ET0 ;开中断 RETI 6、MCS-51单片机系统时钟为6MHZ,试利用定时/计数器0控制每隔200?S从P1.6口输出1个8?S低电平脉冲。(本题20分) 答: 1)、定时/计数器的模式选定(此部分2分) 由于8位定时时间为256?s,因此,将定时/计数器0设置为模式2(8位自动重装 载方式)。设置定时200?s。 2)、控制字设置(此部分3分) TMOD=****0110B 3)、时间常数确定(此部分3分) ?=6?106HZ,T=200?10-6S代入,得 X=256-100=156=9CH 初值设置为:TH0=TL0=#09CH 4)、程序设计

主程序(此部分6分) ORG 0000H ;系统复位入口

AJMP 0100H ORG 000BH AJMP 0500H ORG 0100H

MOV MOV MOV MOV SETB TR0 SETB ET0 SETB EA SETB P1.6

;系统主程序从0100H开始 ;定时器0中断入口

;定时器0中断服务程序放在0500H处

SP,#30H ;置栈顶 TH0,#9CH ;设置定时器初值 TL0,#9CH ; TMOD,#06H ;设置定时器0为模式2 ;启动定时器0 ;允许定时器0中断 ;开系统中断

。。。。。。。。。

中断服务程序(此部分6分) ORG 0500H T200US: NOP SETB P1.6

PUSH

CLR NOP NOP NOP

PSW P1.6

;栈保护

;P1.6输出低电平 ;延时6?s

NOP

;P1.6输出高电平 POP PSW

SETB ET0 ;开中断

RETI

7.单片机系统时钟6MHZ,利用定时/计数器0实现2ms定时,如何设置时间常数? 答:1)、定时/计数器0设置为模式0,13位方式,TMOD=#XXXX0000B 2)、时间常数设置如下

即T=2?10-3S,?=6?106MHZ,代入得 得 X=7192 (完成以上工作得4分) 3)、X=7192=1C18H=0001110000011000B,取后13位为1110000011000B, 高8位送TH0=0E0H,TL0取低5位,TL0的高3位无效,以000补齐,TL0=18H,即 TH0=0E0H,TL0=18H

(若不选择模式0而采用其它模式完成,得3分)

1、 单片机系统时钟12MHZ,利用定时/计数器0实现1ms定时,如何设置? 答:1)、定时/计数器0设置为模式0,13位方式,TMOD=#XXXX0000B 2)、时间常数设置如下 即T=1?10-3S,?=12?106MHZ,代入得

本文来源:https://www.bwwdw.com/article/8mu6.html

Top