中北大学微机原理及接口技术习题及练习册
五、硬件设计题
1.用一片8255 A芯片设计一基于PC系统总线的I/O接口板,要求:
1)8255A占用的端口地址为300H--306H,画出原理图。
2)设8255A的PA、PB、PC口均工作在方式0,PA口为输入,PB、PC口均为输出,编写8255的初始化程序片段(已知8255A控制字为10010000B)。
3)编写程序片段,将从PA口读入的状态送至PB口输出。
答:1) 参见图
2) MOV DX, 306H 3) MOV DX, 300H
MOV AL, 90H IN AL, DX
OUT DX, AL MOV DX, 302H
OUT DX, AL
2.已知8255的控制口地址为236H,开关信息接在PB口,发光二极管接在PA口,使用8255作为接口芯片,读开关量的状态,并用发光二极管显示输出。在将开关的信息存放在FIRST单元的同时,发光二极管完成其信息的显示。要求画出完整的线路连接图并设计相应的程序。(8086工作在最小模式,8255A相应的控制字为82H)。 MOV DX, 236H MOV AL, 82H OUT DX, AL
MOV AX, SEG FIRST MOV DS, AX
MOV SI, OFFSET FIRST LOP: MOV DX, 232H
IN AL, DX MOV [SI], AL MOV DX, 230H OUT DX, AL JMP LOP
7.2 课后练习题
一、填空题
1. 8255A控制字可以分为 方式选择控制字 和 C口置复位控制字 两类。 2.8255A各个端口的工作方式是由 方式选择控制字 决定的。
二、选择题
1. 某系统采用8255A并行I/O接口,初始化时CPU所访问的端口地址为0CBH,并设定为方式1输出,则了B口的口地址应为_____B______。
A)0CAH B)0C9H C)0C8H D)0CCH
2. 某系统采用8255A并行I/O接口,初始化时CPU所访问的端口地址为0BBH,并设定为方式1输出,则了B口的口地址应为______B____。
25
中北大学微机原理及接口技术习题及练习册
A)0BAH B)0B9H C)0B8H D)0BCH 三、简答题
常用的键盘扫描有几种方式?试述各自的特点及原理。 答案: 行扫描法和行反转法 行扫描法工作原理 1)规定行输出,列输入
2)将全“0”数据从行线上输出,读取列线,若全“1”,则认为没有按键,否则认为有按键。 3)在有按键情况下,逐次使其中的行线输出“0”,其余的行线为“1”,读取列线,若读取的数据为全“1”,则表明该行没有按键,若读取的非全“1”,根据行列线上的数据,可以唯一确定哪一个键按下。 行反转法工作原理
1)首先规定行线为输出,列线为输入。
2)从行线上输出全“0”的数据,从列线读取数据,如果读取数据为全“1”,则说明没有键按下,否则认为有按键。
3)改变输入、输出端口,将2)获得的数据从列线输出,从行线读取数据,根据两次读取的数据,就可以唯一确定哪个键按下。
四、硬件编程题
8255A的工作方式控制字和C口的按位置位/复位控制字有何差别?若将C口的PC2引脚输出高电平(置位),假设8255A控制口地址是303H,程序段应是怎样的?
8255A的工作方式控制字和C口的按位置位/复位控制字有何差别?若将C口的PC2引脚输出高电平(置位),假设8255A控制口地址是303H,程序段就应是怎样的?
答案: 工作方式控制字的最高位为1,而C口的按位置位/复位控制字最高位为0 MOV DX,303H MOV AL,80H OUT DX,AL MOV AL,05H OUT DX,AL
2 6
中北大学微机原理及接口技术习题及练习册
五、硬件设计题
1. 已知8255A的控制口地址为236H,LED采用共阳级接法。字型信息接在PB口,字位信息接在PA口,使用8255A作为接口芯片,在两块LED上显示自己的学号。要求画出完整的线路连接图并设计相应的程序(8086工作在最小模式,8255A相应控制字为80H)。 答案:
MOV DX,236H
LOP: LOOP LOP
MOV DX,232H
MOV AL,nn ;学号高位
MOV AL,80H OUT DX,AL MOV CX,000H START:MOV DX,232H
OUT DX,AL MOV AL,2 MOV DX,230H
OUT DX,AL
MOV AL,nn ;学号低位 OUT DX,AL MOV AL,1
LOP1:LOOP LOP1
JMP START
MOV DX,230H OUT DX,AL
2.若打印机及其工作时序如图所示,当打印机不忙时(BUSY=0),向它送数据(设每次只传送1个字节)并在数据稳定时用 负脉冲将数据存于打印机内部,同时设置打印机忙信号,即BUSY =1。
1)用可编程接口芯片8255A将打印机与总线相连接起来。若规定8255A的地址为0320H~032FH任选,试画出连接电路图。 2)数据段中首地址为BUFFER的区域中存放着100字节要打印的字符,试编写包括8255A初始化的打印程序,并将100个字符打印出来。 答案:1、
27
中北大学微机原理及接口技术习题及练习册
2、
MOV DX,326H MOV AL,81H OUT DX,AL
MOV AL,[BX]
OUT DX,AL MOV DX,326H MOV AL,8 OUT DX,AL
LEA BX,BUFFER
MOV CX,100 NE:MOV DX,324H
MOV AL,9
IN AL,DX
TEST AL,01 JZ NE MOV DX,322H
OUT DX,AL
INC BX
LOOP NE
3.在一个系统中,8255A的四个端口地址分别为:420H、422H、424H和426H。要求:
1)初始化8255A,使端口A、B、C均工作于方式0,端口A作为输入端口,端口B和C作为输出端口。
2)将端口A输入的信息取反后直接输出到端口B。
3)检测端口A输入的信息的PA7位。当PA7=1时,端口C输出FFH,否则,输出00H。 请编写程序段,完成上述功能(程序要加注解)。 答案: 1) MOV AL,90H MOV DX,426H OUT DX,AL 2) MOV DX,420H IN AL,DX
2 8