单片机原理及应用第四章课后题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章作业答案
16. MCS-51单片机系统中,片外程序存储器和片外数据存储器共用16位地址线和8位数据线,为何不会产生冲突
解:
数据存储器的读和写由RD和WR信号控制,而程序存储器由读选通信号PSEN控制,这些信号在逻辑上时序上不会产生冲突;程序存储器访问指令为MOVC,数据存储器访问指令为MOVX。程序存储器和数据存储器虽然共用16位地址线和8位数据线,但由于二者访问指令不同,控制信号不同,所以两者虽然共处于同一地址空间,不会发生总线冲突。18.某单片机应用系统,需扩展2片8KB的EPROM和2片8KB的RAM,采用地址译码法,画出硬件连接图,并指出各芯片的地址范围。
解:
硬件连接电路图如图所示。各芯片的地址范围为:
2764(1#):0000H~1FFFH 2764(2#):2000H~3FFFH
6264(1#):4000H~5FFFH 6264(2#):6000H~7FFFH
图题硬件连接电路图
21.8255A的端口地址为7F00H~7F03H,试编程对8255A初始化,使A口按方式0输入,B 口按方式1输出。
解:
程序如下:
ORG 0000H
LJMP START
ORG 0030H
START:MOV SP, #60H
MOV DPTR,#7F03H
MOV A,#B
MOVX @DPTR,A
SJMP $
END
25.使用8255A或者8155的B端口驱动红色和绿色发光二极管各4只,且红、绿发光二极
管轮流发光各1s,不断循环,试画出包括地址译码器、8255A或8155与发光管部分的接口电路图,并编写控制程序。
解:
使用8255A,电路连接图如图所示。
图题硬件连接电路图
其中,PB0~PB3接红色发光二极管,PB4~PB7接绿色发光二极管。设MCS-51单片机主频为12MHz。
程序如下:
ORG 0000H
LJMP START
ORG 0030H
START:MOV SP, #60H
MOV DPTR, #7FFFH ; 数据指针指向8255A控制口
MOV A, #80H
MOVX @DPTR, A ; 工作方式字送8255A控制口
MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口
MOV A, #0FH ; 置红色发光二极管亮
LP1:MOVX @DPTR, A ; 置红色发光二极管亮
LCALL DELAY ; 调用1S延时子程序
CPL A ; 置发光二极管亮反色
SJMP LP1 ; 循环执行
DELAY: MOV R7,#10 ; 1s延时子程序
D1:MOV R6,#200
D2:MOV R5,#248
D3:NOP
DJNZ R5,D3
DJNZ R6,D2
DJNZ R7,D1
RET
END
采用定时器T0方式1中断实现1s定时。
1s=50ms×20次。
T0方式1实现50ms定时,初值=216-50ms/1μs=15536=3CB0H
(1s=20ms×50次,初值=216-20ms/1μs=45536=B1E0H)
ORG 0000H
LJMP START
ORG 000BH
LJMP TT0
ORG 0030 H
START:MOV SP, #60H
MOV DPTR, #7FFFH ; 数据指针指向8255A控制口
MOV A, #80H
MOVX @DPTR, A ; 工作方式字送8255A控制口
MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口
MOV A, #0FH ; 置红色发光二极管亮
MOVX @DPTR, A ; 置红色发光二极管亮
MOV 30H, #00H ; 次数计数单元初值
MOV TL0, #0B0H ; T0赋初值
MOV TH0, #3CH
MOV TMOD, #01H ; 定时器/计数器0工作于方式1
SETB TR0 ; 启动T0
SETB ET0 ; 开T0中断
SETB EA ; 开总允许中断
LP1:SJMP LP1 ; 等待定时器中断
TT0:PUSH PSW
INC 30H
MOV R7, 30H
CJNE R7, #20, LP2
CPL A
MOVX @DPTR, A
MOV 30H, #00H
LP2: MOV TL0, #0B0H ; T0赋初值
MOV TH0, #3CH
POP PSW
SETB TR0
RETI
END
26.简述RS-232C, RS-422A及RS-485串行通信接口的特点,画出在双机通信情况下,3个串行通信接口的接口电路。
解:
RS-232C采取不平衡传输方式,是为点对点(即只用一对收、发设备)通信而设计的,采用负逻辑,其驱动器负载为3k~7k。由于RS-232C发送电平与接收电平的差仅为2~3V,所以其共模抑制能力差,再加上双绞线上的分布电容,因此,RS-232C适用于传送距离不大于15m,速度不高于20kb/s的本地设备之间通信的场合。
RS-422由RS-232发展而来,RS-422定义了一种平衡通信接口,将传输速率提高到
10Mb/s,传输距离延长到1220m(速率低于100kb/s时),并允许在一条平衡总线上最多连接10个接收器。RS-422是一种单机发送、多机接收的单向、平衡的通信总线标准。
RS-485是在RS-422的基础上制定的标准,增加了多点、双向通信能力,通常在要求通信距离为几十米至上千米时,广泛采用RS-485总线标准。它采用平衡发送和差分接收,即在发送端,驱动器将TTL电平信号转换成差分信号输出;在接收端,接收器将差分信号变成TTL电平。具有较高的灵敏度,能检测低至200mV的电压,具有抑制共模干扰的能力,数据传输可达千米以上。
RS-232的双机通信接口电路如图所示。
图题硬件连接电路图
RS-422和RS-485的双机通信接口电路如图所示。