项目六
1.与8255比较,8155接口芯片有何特点? 答:
8155是一种通用的多功能可编程RAM/IO扩展器,片内除有三个可编程并行I/O端口(两个8位的端口A和B及一个6位是我端口C)外,还带有256B放入静态RAM及一个可编程的14位定时器、计数器。
2.为什么说P0口是真正的双向I/O口,而P1~P3口是准双向口? 答:
P0口是三态双向口,每位能驱动8个LSTTL电路;P1、P2、P3口是准双向口,每个引脚可驱动4个LSTTL输入。 3.扩展存储器时常用哪些片选方法? 答:
线选法和译码法
4.什么是地址空间重叠现象? 答:
存储器中多个单元地址空间重叠在一起却仅表示一个单元,这种现象称为地址空间重叠现象。
5.扩展存储器时,低8位地址为什么要锁存,而高8位地址不需要锁存? 答:
P0口作为低8位地址线、数据线,分时提供低8位地址信号和数据信号,在扩展系统中,要将P0口传送的信号进行分离,以便构成16位地址信号,因此需要增加一个8位锁存器,先由锁存器将地址总线中的低8位地址信号所存,锁存器的输出作为地址线A7-A0,其后P0口作为数据线使用;P2口在整个机器周期内提供的都是高8位地址信号,因此不用锁存。
6.设某打印接口电路中有两个端口:一个是数据端口,其地址为1FFFH;一个是状态端口,其地址为1FFEH,状态端口的最高位D7表示打印机当前状态,即D7=0表示打印机“空闲”、D7=1表示打印机“忙”,试将片内RAM40H~4FH中的内容由打印机打印输出。 答:
MOV DPTR,#1FFEH
LP1: MOVX A,@DPTR
JB ACC.7,LP1
MOV R0,#40H MOV R2,#10H LP2: MOV A,@R0 INC DPTR MOVX @DPTR,A LP3: MOV DPTR,#1FFEH MOVX A,@DPTR
JB ACC.7,LP3 INC R0
21
DJNZ END
R2,LP2
7.试用两片2764扩展16KB程序存储器,根据下列要求,画出电路图,并确定各自的地址范围。 答:
(1)用P2.7和P2.6片选。
地址范围:1#为:8000H~9FFFH或A000H~BFFFH 2#为:4000H~5FFFH或6000H~7FFFH (2)用74LS138译码后片选。
地址范围:1#为:0000H~1FFFH 2#为:2000H~3FFFH
8.有一个单片机应用系统,需要8K字节的程序存储器、两个8位输入口、两
22
个8位输出口、四个外部中断源,试设计电路图。 答:
23
项目七
1.在一个AT89C51系统中扩展一片8155,8155外接2位LED显示器和2位BCD拨盘,试画出该部分的接口电路,并编写相应的显示子程序和读拨盘的子程序。 答:
显示子程序: START: MOV A,#03H MOV DPTR,#7F00H MOVX @DPTR,A LOOP1: MOV R0,#38H MOV R3,#7FH MOV A,R3 LOOP2: MOV DPTR,#7F01H
MOVX @DPTR,A
INC DPTR MOV A,@R0 ADD A,#0DH
MOVC A,@A+PC MOVX @DPTR,A ACALL DELAY1ms MOV A,R3
JNB ACC.0,LOOP1 RR A MOV R3,A INC R0 AJMP LOOP2
DATA:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H RET
读拨盘子程序:
24
MOV R0,#30H MOV P1,#0DFH MOV A,P1 SWAP A XCH A,@R0
MOV P1,#0EFH MOV A,P1
XCHD A,@R0 RET
2.在一个AT89C51系统中,试画出6×6键盘接口电路,并编制一个子程序,用查询的方法将键盘上键入的键号送内RAM区。 答:
程序:
SCAN: LCALL KEYDOWN JNZ KEY1 RET
KEY1: LCALL SWLAY10ms LCALL KEYDOWN JNZ KEY3 KEY2: MOV A,#FFH RET KEY3: MOV A,#3FH MOV P2,A MOV A,P2 ANL A,#3FH MOV R2,#00H MOV R3,#06H KEY4: RRC A JNC KEY5
25