单片机原理及应用第四章课后题答案
- 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的双机通信接口电路如图所示。
图题硬件连接电路图
31.何谓“看门狗”它如何实现对系统程序的监控
解:
“看门狗(WDT)”,也称为程序监视定时器。
WDT的作用是通过不断监视程序每周期的运行事件是否超过正常状态下所需要的时间,从而判断程序是否进入了“死循环”,并对进入“死循环”的程序作出系统复位处理。
在程序中设置适当的指令,清WDT,就可监视微处理器的工作。
例如在主程序开始时,将WDT置位,如果主程序执行过程中产生死循环,就无法清WDT,超过WDT的定时时间时,WDT就会对微处理器发出复位信号。
从而实现对系统程序的监控。
32.说明I2C总线的特点以及在单片机中实现该总线的方法。
解:
I2C总线是由串行数据线SDA和串行时钟线SCL构成的,可发送和接收数据。
它允许若干兼容器件共享总线。
所有挂接在I2C总线上的器件和接口电路都应具有I2C总线接口,且所有的SDA/SCL同名端相连。
总线上所有器件要依靠SDA发送的地址信号寻址,不需要片选线。
I2C总线最主要的优点是其简单性和有效性。
占用的空间小,降低了互连成本。
总线的长度可高达7.6m,并且能够以10kbps的最大传输速率支持40个组件。
支持多主控器件,其中,任何能够进行发送和接收的设备都可以成为主器件。
主控能够控制信号的传输和时钟频率。
当然,在某时刻只能有一个主控器件。
在单片机控制系统中,广泛使用I2C器件。
如果单片机自带I2C总线接口,则所有I2C 器件对应连接到该总线上即可;若无I2C总线接口,则可以使用I/O口模拟I2C总线。
使用单片机I/O口模拟I2C总线时,硬件连接非常简单,
只需两条I/O口线即可,在软件中分别定义成SCL和SDA。
MCS-51单片机实现I2C总线接口电路如图所示。
电路中单片机的引脚作为串行时钟线SCL,引脚作为
串行数据线SDA,通过程序模拟I2C串行总线的通信方式。
图题硬件连接电路图
I2C 总线适用于通信速度要求不高而体积要求较高的应用系统。