《单片机原理及应用》部分习题答案(3)

2019-08-30 18:09

ORG 1000H

MAIN: SETB IT0 SETB EX0 SETB EA

LOOP: AJMP LOOP

ORG 1050H ;中断程序入口 EXTER:MOV R2,#0FFH MOV A, #01H FLASH:RR A MOV R7, #0FFH;定时 LOOP1:MOV R6, #0FFH LOOP2:NOP NOP DJNZ R6, LOOP2 DJNZ R7, LOOP1 MOV P1, A DJNZ R2,FLASH RETI END

5-11. 思路:根据要求,四个故障相当四个中断源,可利用中断查询方法,将四个中断源归结为一个中断请求,同时四个故障信号引到P1口的四个输入端,然后在中断程序中查询P1口,确定是哪一个故障申请的中断。电路如下图所示。一旦发生故障,单片机必须响应中断,因此,该中断必须设置成最高级中断。在中断程序中可以显示故障信息。

扩展4个外中断源电路如下图所示。

P1.3P1.2P1.1OCOVUVOHP1.0?Y1INT1C51 主程序和中断服务程序如下: ORG 0000

AJMP ZCX1

11

NOP

ORG 0013H

AJMP INT1 NOP

ORG 0100H

ZCX1:MOV SP,#30H

MOV IP,#04H

CLR IT1 SETB EA SETB EX1

ZCX2:其他处理程序 AJMP ZCX2 ORG 0200H

INT1: PUSH PSW PUSH ACC

MOV A,P1 ANL A,#0FH

JNB ACC0,X1

ACALL XY1 X1: JNB ACC1,X2 ACALL XY2 X2JNB:ACC2,X3

ACALL XY3 X3: JNB CC3,X4

ACALL XY4 X4: POP ACC POP PSW RETI

XY1: OC处理子程序(略) RET 5-12~5-17略。

第6章 单片机串行通信及接口

6-1~6-3略。

6-4. 串行口的方式控制字SCON=50H,允许接收,T1工作方式控制字TMOD=20H;若晶振频率fOSC=11.0592 MHz,串行口工作于方式1,波特率为4800 bps,查表6-2

12

可得T1计数初值为TH1=TL1=0FAH,此时SMOD=0,所以PCON=00H。 6-5. 设计双机通信系统如下:设甲、乙两进行通信、波特率为2400,晶振均为11.0592MHz。甲机将片外RAM的3400H~34FFH的数据块通过串行口传送给乙机,发送数据前将数据块长度发给乙机,当数据发送完向乙机发送一个累加校验和。乙机接收将数据放在片外RAM的4400~44FFH单元中,同时进行累加和校验,如果和甲机发送的累加和一致,发数据“00H”表示接收正确,如果不一致,发数据“FFH”,甲方再重发。 解:(1)T1计数初值:两机晶振为11.0592MHz,波特率为2400,T1工作在定时器方式2,查表6-2可得TH1=TL1=0F4H,PCON寄存器的SMOD位为0。

(2)约定R7作为数据长度计数器,计数256个字节。采用减1计数,初值取0,R6作为累加和寄存器。 甲机发送程序:

TRT:MOV TMOD,#20H

MOV TH1,#0F4H MOV TL1,#0F4H SETB TR1

MOV SCON,#50H RPT:MOV DPTR,#3400H

MOV R7,#00H MOV R6,#00H MOV SBUF,R7 LOOP1:JBC TI,L00P2

AJMP LOOP1

LOOP2:MOVX A,@DPTR

MOV SBUF,A ADD A,R6 MOV R6,A INC DPTR

LOOP4:JBC TI,LOOP3

AJMP LOOP4

LOOP3:DJNZ R7,LOOP2

MOV SBUF,R6 MOV R6,#00H

LOOP6:JBC TI,LOOP5

AJMP LOOP6

LOOP5:JBC RI,LOOP7

13

AJMP LOOP5

LOOP7:MOV A,SBUF

JZ LOOP8 AJMP RPT LOOP8:RET 乙机接收程序:

首先接收数据长度,然后接收数据,当接收256字节后,接收校验码,进行累加和校验,数据传送结束时,向甲机发送一个状态字节,表示传送正确或出错。 RSU:MOV TMOD,#20H

MOV TH1,#0F4H MOV TL1,#0F4H SETB TR1

MOV SCON,#50H DPT:MOV DPTR,#4400H LOOP0:JBC RI,L00P1

AJMP LOOP0

LOOP1:MOV A,SBUF

MOV R7,A MOV R6,#00H WTD:JBC RI,LOOP2 AJMP WTD

LOOP2:MOV A,SBUF

MOVX @DPTR,A INC DPTR ADD A,R6 MOV R6,A DJNZ R7,WTD

LOOP5:JBC RI,LOOP4

AJMP LOOP5

LOOP4:MOV A,SBUF

XRL A,R6 MOV R6,#00H JZ LOOP6

MOV SBUF,#0FFH LOOP8:JBC TI,LOOP7

AJMP LOOP8

14

LOOP7:AJMP DPT

LOOP6:MOV SBUF,#00H LOOP9:JBC TI,LOOP3

AJMP LOOP9 LOOP3:RET

6-6. 电路图如下图所示,串行口处于方式0条件下发送数据。 程序如下:

ORG 2000H

MOV SCON,#00H MOV A,#0FFH MOV SBUF,A LOOP:JNB TI,LOOP

CLR TI ACALL DEL CPL A

MOV SBUF,A SJMP LOOP DEL: MOV R5,#10 DEL0:MOV R6,#200 DEL1:MOV R7,#248

NOP

DEL2:DJNZ R7,DEL2

DJNZ R6,DEL1 DJNZ R5,DEL0 RET END

第7章 单片机系统扩展

略。

第8章 A/D和D/A转换的接口技术

8-1~8-6、8-8、8-9、8-10、8-13~8-15略。

8-7. 用8031和DAC0832设计一个周期和幅值可调的锯齿波、三角波和阶梯波的波形发生器。要求画出电路图并编程。 答:见下图

15


《单片机原理及应用》部分习题答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:临床输血制度

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: