单片微型计算机原理及应用 课后习题答案 山东理工

发布时间 : 星期六 文章单片微型计算机原理及应用 课后习题答案 山东理工更新完毕开始阅读

在电平触发方式下,外部中断标志IE0和IE1是依靠CPU检测INT0和INT1上的低电平而置位的。尽管CPU响应中断时相应中断标志IE0或IE1,能自动复位成“0”状态,但若外部中断源不能及时撤除它在INT0或INT1上的低电平,就会再次使已经变“0”的中断标志IE0或IE1置位,这是绝对不允许的。因此电平触发型外部中断请求的撤除必须使INT0或INT1上的低电平随着其中断被CPU响应而变为高电平。一种可供采用的电平型外部中断的撤除电路如图所示。

由图可见,当外部中断源产生中断请求时,D触发器复位成“0”状态,Q端的低电平被送到INT0,该低电平被8051检测后就使中断标志IE0置1。8051响应INT0上的中断请求可转入

INT0中断服务程序执行,故可以在中断服务程序开

INT0Q D CP 外部中断信号 8051 P1.0 SD 1

头安排如下程序来使INT0上的电平变高:

=

INSVR:SETB P1.0 CLR P1.0 CLR IE0 ··· END

8051执行上述程序就可在 P1.0上产生一个宽度为两个机器周期的负脉冲。在该负脉冲作用下,D触发器被置位成1状态,INT0上的电平也因此而变高,从而撤除了其上的中断请求。

11.设MCS?51单片机时钟为12MHz,利用定时器T0编程令P1.0引脚输出2ms的矩形波程序,要求占空系数为1:2(高电平时间短)。

ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV MOV MOV SETB SETB SETB L1: SJMP ;中断服务程序

T0INT:MOV MOV INC CJNE

0000H MAIN 000BH T0INT 0030H SP,#60H R7,#0

TMOD,#01H TH0,#0FDH TL0,#66H EA ET0 TR0 L1

TH0,#0FDH TL0,#66H R7

R7,#1,LL1

;初始化

;定时666微妙

;重载初始值

CLR P1.0 SJMP LLEND

LL1: CJNE R7,#3,LLEND SETB P1.0 MOV R7,#00H LLEND:RETI

12.如果MCS?51单片机系统的晶振频率为12MHz,分别指出定时器/计数器方式1和方式2的最长定时时间。

方式1:65536微妙; 方式2:256微妙

13.MCS?51单片机P1端口上,经驱动接有8支发光二极管,若外部晶振频率为6MHz,试编写程序,使这8支发光管每隔2s循环发光(要求用T1定时)。

ORG 0000H LJMP MAIN ORG 001BH LJMP T1INT ORG 0030H MAIN: MOV SP,#70H MOV TMOD,#10H ;T1方式1 MOV TH1,#3CH ;定时100ms MOV TL1,#0B0H MOV A,#11111110B MOV R7,#20 ;100ms*20=2S SETB EA SETB ET1 SETB TR1 SJMP $ T1INT: MOV TH1,#3CH MOV TL1,#0B0H DJNZ R7,L1 MOV R7,#20 MOV P1,A RL A L1: RETI 14.设MCS?51单片机的晶振频率为12MHz,要求在P1.0输出周期是200ms的方波,试编写程序。

ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV MOV MOV SETB SETB SETB SJMP T1INT: MOV

0000H

MAIN 001BH T1INT 0030H SP,#70H TMOD,#10H TH1,#3CH TL1,#0B0H R7,#2 EA ET1 TR1 $

TH1,#3CH

;T1方式1 ;定时50ms ;50ms*2=100ms

MOV DJNZ MOV CPL L1: RETI 15.每隔1s读一次

TL1,#0B0H R7,L1 R7,#2 P1.0

P1.0,如果所读的状态为“1”,则将片内RAM 10H单元的内容

加1;如果所读的状态为“0”,则将片内RAM 11H单元的内容加1。设单片机的晶振频率为12MHz,试编写程序。

ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV MOV MOV MOV MOV SETB SETB SETB SJMP T1INT: MOV MOV DJNZ MOV SETB MOV JNC INC SJMP L2: INC L1: RETI

END

0000H MAIN 001BH T1INT 0030H SP,#70H TMOD,#10H TH1,#3CH TL1,#0B0H R7,#20 10H,#0 11H,#0 EA ET1 TR1 $

TH1,#3CH TL1,#0B0H R7,L1 R7,#20 P1.0 C,P1.0 L2 10H L1 11H

方式1 50ms ;50ms*20=1s

;T1;定时

第7章 MCS?51系列单片机的串行口

1.若异步通信,每个字符由11位组成,串行口每秒传送250个字符,问波特率是多少?

2750位/秒=2750波特

2.设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ASCII码字符,每个字符包含10位(1个起始位,7个数据位,1个奇偶校验位,1个停止位),试编程初始化程序。

设定串行口位方式1.

MOV SCON,#40H

MOV PCON,#80H MOV TMOD,#20H MOV TH1,#0F4H MOV TL1,#0F4H SETB TR1

3.MCS?51单片机的串行口控制寄存器SCON的SM2、TB8、RB8有何作用? (1)SM2是多机通信控制位

因多机通信是在方式2和方式3下进行的,所以SM2位主要用于方式2和方式3。当串行口以方式2或方式3接收数据时,如SM2 = 1,则只有当接收到的第9位数据(RB8)为“1”时,才将接收到的前8位数据送入SBUF,并置位RI产生中断请求;否则,将接收到的前8位数据丢弃。而当SM2 = 0时,不论接收到的第9位数据是“0”还是“1”,都将前8位数据装入SBUF中,并产生中断请求。

在方式1时,若SM2 = 1,则只有接收到有效停止位时,RI才置1,以便接收下一帧数据。

在方式0时,SM2必须为0。 (2)TB8是发送数据的第9位

在方式2、3时,其值由用户通过软件设置。在双机通信时,TB8一般作为奇偶校验位使用;在多机通信中,常以TB8位的状态表示主机发送的是地址帧还是数据帧,且一般约定:TB8 = 0为数据帧,TB8 = 1为地址帧。

(3)RB8是接收数据的第9位

在方式2、3时,RB8存放接收到的第9位数据,它代表接收到的数据的特征:可能是奇偶校验位,也可能是地址/数据的标志位。

4.设外部晶振频率为6MHz,试编写一段对串行口的初始化程序,使之工作在方式1,波特率为1200b/s;并用查询串行口状态的方式,读出接收缓冲器的数据并回送到发送缓冲器。

联系合同范文客服:xxxxx#qq.com(#替换为@)