OUT DX, AL RET 8255 ENDP
9.下图是8255A与ASCII码键盘的握手连接图,8255A端口地址为60H~63H,键盘每次按
下一个键,DAV输出由高到低的跳变,将数据锁存入端口B。请完成下列要求的内容。
8255A
(1)可以分析出,B口工作在方式_________的输_________(入/出); (2)8255A初始化编程时,应写入的方式控制命令字是____________; (3)请给下面的每条指令加上正确的注释。并说明该程序段完成的功能。 READ:IN AL,62H ;① TEST AL,02H ; ② JZ READ ; ③ IN AL,61H ;④
(4)上面程序段完成的功能是 。
(1)1 入 (2)1xxxx11xB
(3)①读C口 ② 检查IBF ③若IBF=0,循环 ④从B口读数据 (4)采用查询方式读取键入的字符
10.下图为PC机外扩的8255A及外围电路,根据要求回答问题。
(1)该外扩8255A的控制口地址为___________H;8255A的A口工作在方式 ,传输方向是 (输出/输入); (2)编写8255A的初始化子程序;
D7~D0 IOW IOR 210H~213H A1 A0 D7~D0 WR PA0 RD 发光二极管 +5V 8255A CS A1 A0 (3)编写程序片段,将发光二极管点亮。 (1) 213H , 方式0 ,输出
(2) MOV DX, 213H MOV AL, 80H OUT DX, AL
(3) MOV DX, 210H MOV AL, 0H OUT DX, AL
11.设系统机外扩一片8255A用于并行通信,8255A端口地址为310H~313H,要求A端口工作在方式0输出、B端口工作在方式1输入,此外,要求将8255A作为用户中断源,采用中断方式利用B端口接收某一外设传送来的数据。 (1) 编写一个子程序I8255A来对8255A进行初始化。
(2) 画出将8255A作为用户中断连接到PC中断系统的连线图,并画出PC中断系统的自身的结构图。 (1)
I8255A PROC
MOV DX , 313H
MOV AL , 86H或者87H、8EH、8FH OUT DX , AL MOV AL, 05H OUT DX, AL RET I8255A ENDP
(2)
(四条线,每条线1分)
8255AINTRIR1从8259INTINTRCPU总线B4端子IR2主8259 从INT
12.利用中断方式进行定时操作,每隔1秒在屏幕上显示一行字符串‘I LOVE NUPT’,主机有按键时结束显示。
(1) 设利用日时钟中断源即系统机8254的0#计数器,对其重新初始化编程以产生5ms的中
断请求信号,编写8254初始化程序段(fCLK=1.193182MHz)
MOV AL,36H
OUT 43H,AL MOV AX,5966
OUT 40H,AL
MOV AL,AH
OUT 40H,AL
(2)如果采用外扩的8254作为定时源,通过系统的ISA总线的B4端子接入,其也产生 5ms的用户中端请求信号。利用用户中断方式(中断类型码为0AH型),每隔1秒在屏幕上显示字符串‘I LOVE NUPT’,主机有按键时显示结束。 要求:
(1) 编写子程序完成中断向量的置换,将中断服务子程序SERVICE的入口地址写入内存4
×0AH~4×0AH+3。
WRITE0A PROC PUSH DS
MOV AX, CODE MOV DS, AX
MOV DX, OFFSET SERVICE MOV AX, 250AH INT 21H POP DS RET
WRITE0A ENDP
(2) 编写开放主8259A的IR2和从8259的IR1中断请求的程序段。
IN AL,0A1H
AND AL,11111101B OUT 0A1H,AL IN AL,21H
AND AL,11111011B OUT 21H, AL