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

上传人:b****3 文档编号:27058542 上传时间:2023-06-26 格式:DOCX 页数:16 大小:38.08KB
下载 相关 举报
第四章中断定时串行口例题习题.docx_第1页
第1页 / 共16页
第四章中断定时串行口例题习题.docx_第2页
第2页 / 共16页
第四章中断定时串行口例题习题.docx_第3页
第3页 / 共16页
第四章中断定时串行口例题习题.docx_第4页
第4页 / 共16页
第四章中断定时串行口例题习题.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

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

《第四章中断定时串行口例题习题.docx》由会员分享,可在线阅读,更多相关《第四章中断定时串行口例题习题.docx(16页珍藏版)》请在冰豆网上搜索。

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

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

中断定时/计数器串行口部分例题习题

一、填空:

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

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

二、选择:

1、6MHz晶振的单片机在定时工作方式下,定时器可能实现的最小定时时间是。

A.1us

B.2us

C.4us

D.8us’

2、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最小定时时间是。

A.1us

B.2us

C.4us

D.8us

3、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最大定时时间是。

A.4096us

B.8192uS

C.1638us

D.32768us

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控制每隔200S从P1.6口输出1个4S低电平脉冲。

(本题20分)

答:

1)、定时/计数器的模式选定(此部分2分)

由于8位定时时间为256s,因此,将定时/计数器0设置为模式2(8位自动重装

载方式)。

设置定时200s。

2)、控制字设置(此部分3分)

TMOD=****0110B

3)、时间常数确定(此部分3分)

=12106HZ,T=20010-6S代入,得

X=256-200=156=9CH

初值设置为:

TH0=TL0=#09CH

4)、程序设计

主程序(此部分6分)

ORG0000H;系统复位入口

AJMP0100H;系统主程序从0100H开始

ORG000BH;定时器0中断入口

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

ORG0100H

MOVSP,#30H;置栈顶

MOVTH0,#9CH;设置定时器初值

MOVTL0,#9CH;

MOVTMOD,#06H;设置定时器0为模式2

SETBTR0;启动定时器0

SETBET0;允许定时器0中断

SETBEA;开系统中断

SETBP1.6

中断服务程序(此部分6分)

ORG0500H

T200US:

PUSHPSW;栈保护

CLRP1.6;P1.6输出低电平

NOP;延时4s

NOP

NOP

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

POPPSW

SETBET0;开中断

RETI

6、MCS-51单片机系统时钟为6MHZ,试利用定时/计数器0控制每隔200S从P1.6口输出1个8S低电平脉冲。

(本题20分)

答:

1)、定时/计数器的模式选定(此部分2分)

由于8位定时时间为256s,因此,将定时/计数器0设置为模式2(8位自动重装

载方式)。

设置定时200s。

2)、控制字设置(此部分3分)

TMOD=****0110B

3)、时间常数确定(此部分3分)

=6106HZ,T=20010-6S代入,得

X=256-100=156=9CH

初值设置为:

TH0=TL0=#09CH

4)、程序设计

主程序(此部分6分)

ORG0000H;系统复位入口

AJMP0100H;系统主程序从0100H开始

ORG000BH;定时器0中断入口

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

ORG0100H

MOVSP,#30H;置栈顶

MOVTH0,#9CH;设置定时器初值

MOVTL0,#9CH;

MOVTMOD,#06H;设置定时器0为模式2

SETBTR0;启动定时器0

SETBET0;允许定时器0中断

SETBEA;开系统中断

SETBP1.6

中断服务程序(此部分6分)

ORG0500H

T200US:

PUSHPSW;栈保护

CLRP1.6;P1.6输出低电平

NOP;延时6s

NOP

NOP

NOP

NOP

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

POPPSW

SETBET0;开中断

RETI

7.单片机系统时钟6MHZ,利用定时/计数器0实现2ms定时,如何设置时间常数?

答:

1)、定时/计数器0设置为模式0,13位方式,TMOD=#XXXX0000B

2)、时间常数设置如下

即T=210-3S,=6106MHZ,代入得

得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=110-3S,=12106MHZ,代入得

X=7192=0E018H

即TH0=#0E0H,TL0=#18H

8、应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为1ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。

(1)计算时间常数X,应用公式X=216-t(f/12)

(2)写出程序清单

解:

解:

X=216-t(F/12)

=216-1*10-3*6*106/12

=OFEOCH

ORG3000H

START:

MOVTMOD,#01H

MOVTL0,#OCH

MOVTHO,#OFEH

SETBTR0

LOOP:

JBCTFO,DONE

SJMPLOOP

DONE:

MOVTL0,#OCH

MOVTHO,#OFEH

CPLP1.0

SJMPLOOP

9、应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。

(1)计算时间常数X,应用公式X=216-t(f/12)

(2)写出程序清单

解:

X=216-t(F/12)

=216-1*10-3*6*106/12

=OFEOCH

ORG3000H

START:

MOVTMOD,#01H

MOVTL0,#OCH

MOVTHO,#OFEH

SETBTR0

LOOP:

JBCTFO,DONE

SJMPLOOP

DONE:

MOVTL0,#OCH

MOVTHO,#OFEH

CPLP1.0

SJMPLOOP

10.图示为一个自动包装系统。

单片机系统时钟为6MHZ,试编制一个计数程序,对T1口的脉冲数进行监测,每200个脉冲,继电器J状态改变1次。

(本题20分)

题二.4图

答:

解:

(1)、分析(此部分5分)

设置定时/计数器1(若使用0,扣2分)为计数状态,选择工作模式2。

即控制字TMOD=0110****B(此部分5分)

时间常数为TL1=TH1=256-200=56(此部分5分)

(2)、程序设计如下:

(此部分10分)

ORG0000H

AJMP0100H

ORG000BH

AJMP0400H

ORG0100H

MAIN:

CLRTMOD.4;

SETBTMOD.5;

SETBTMOD.6;

CLRTMOD.7;

MOVTL1,#156

MOVTH1,#156

SETBTR1;启动定时器1

SETBET1;允许定时器1中断

SETBEA;开系统中断

ORG0400H

CLRET1

PUSHPSW

CPLP1.7

POPPSW

SETBET1;重新允许定时器1中断

RETI

11、若使单片机串行口工作于9位UART可变波特率方式,SCON以及定时/计数器1的时间常数应如何设置?

答:

1)、串行口设置为模式3,SCON=#11000000B;

2)、定时/计数器1设置为8位自动重装载方式即模式2,TMOD中M1=1,M0=0。

禁止中断。

时间常数如下设置:

12、MCS-51单片机串行口9位模式时的第9位数据有何功能?

答:

8031单片机的串行口9位模式时的第9位数据在需要进行数据校验时存放数据的奇偶位,多处理机通信模式时用于表示地址/数据。

13、若使单片机串行口工作于9位UART可变波特率方式,SCON以及定时/计数器1的时间常数应如何设置?

答:

1)、串行口设置为模式3,SCON=#11000000B;

2)、定时/计数器1设置为8位自动重装载方式即模式2,TMOD中M1=1,M0=0。

禁止中断。

时间常数如下设置:

2.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON_加以选择.

14.编一个程序,将累加器中的一个字符从串行接口发送出去.

   解SOUT:

MOVSCON,#40H;设置串行接口为工作方式

      MOVTMOD,#20H;定时器T1工作于模式2

MOVTL1,#0E8H;;设置波特率为1200b/s

MOVTH1,#0E8H

SETBTR1

MOVSBUF,A

JNBT1,$

CLBT1

RET

15.编一子程序,从串行接口接受一个字符.

解:

START:

MOVTMOD,#20H;定时器T1工作于模式2

MOVTH1,#0E8H;设置波特率为1200b/s

MOVTL1,#0E8H

SETBTR1;启动T1

MOVSCON,#50H;串行接口工作于方式1,充许接收

L1:

JNBRI,L1;等待接收数据,末接收到数据,继续等待

CLRRI;接收到数据,清RI

MOVA,SBUF;接收到数据送A

RET

 

16、如图所示MCS-51单片机串行口应用系统,试设计程序实现对24路输入信号检测。

将检测到的数据保存于20H、21H、22H单元中。

(本题20分)

题二.4图

1)、UART模式设置(此部分3分)

UART设置为模式0,即8位移位寄存器方式。

2)、中断方式设置(此部分3分)

采用接收标志查询方式,不采用中断,RI=0

3)、在REN=1和RI=0时,1条读SBUF数据的操作指令则启动接收1个数据。

(此部分4分)

4)、以下为读入3个字节并行口数据的子程序(此部分10分)

CLRP1.0;74LS165装载数据

SETBP1.0;允许74LS165移位

MOVSCON,#10H;UART设置为模式0,REN=1,RI=0允许接收

MOVA,SBUF;接收第1个数据

JNBRI,$;等待接收结束

MOV20H,A;第1个数据保存于20H单元

CLRRI

MOVA,SBUF;接收第2个数据

JNBRI,$;等待接收结束

MOV21H,A;第2个数据保存于21H单元

CLRRI

MOVA,SBUF;接收第2个数据

JNBRI,$;等待接收结束

MOV22H,A;第3个数据保存于22H单元

CLRRI

CLRREN;禁止接收

RET

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1