计算机原理-接口技术实验
mov al,0dh ;将PC6置位 out dx,al mov bl,1
ll: jmp ll ;循环等待
;中断服务程序 int_proc:
mov al,bl
mov dx,288h ;将AL从8255的A口输出 out dx,al mov al,20h
out 20h,al ;发送普通中断结束EOI命令 shl bl,1
jnc next ;中断次数小于8,返回主程序 in al,21h ;读中断屏蔽寄存器 or al,08h
out 21h,al ;关闭IRQ3中断 sti ;开中断 mov ah,4ch ;返回DOS int 21h next: iret code ends end start
预计运行结果:按一次单脉冲键,让CPU进行一次中断,使L0-L7依次发光,中断8次后结束。
2、按实验要求连线:
PA0~PA7----K0~K7(开关) PC3----IRQ(中断请求)
计算机原理-接口技术实验
PC4----单脉冲 CS----288H~28FH(片选信号)
编写并运行程序:E8255-1i.ASM
code segment
assume cs:code start:
mov ax,cs mov ds,ax
mov dx,offset int_proc
mov ax,250bh ;设外部中断int_proc类型号为0BH int 21h mov dx,21h
in al,dx ;读中断屏蔽寄存器 and al,0f7h ;开放IRQ3中断 out dx,al mov dx,28bh mov al,0b8h
out dx,al ;设8255为A口方式1输入 mov al,09h out dx,al
mov bl,8 ;BL为中断次数计数器 ll: jmp ll ;循环等待 int_proc: ;中断服务程序
mov dx,288h ;自8255A口输入一数据 in al,dx
mov dl,al ;将所输入的数据保存到DL mov ah,02h ;显示ASCII码为DL的字符 int 21h
mov dl,0dh ;回车 int 21h
mov dl,0ah ;换行
计算机原理-接口技术实验
int 21h mov dx,20h mov al,20h
out dx,al ;发出EOI结束命令 dec bl ;计数器减1 jnz next ;不为0则返回主程序 in al,21h ;读中断屏蔽寄存器 or al,08h
out 21h,al ;关IRQ3中断 sti ;开中断 mov ah,4ch ;返回DOS int 21h next: iret code ends end start
预计运行结果:按一次单脉冲键,让CPU进行一次中断,读取开关预置的值并在屏幕上显示,8次后结束。
六、思考题
1、小结8255方式1的工作特点,特别是输入和输出时的联络(握手)信号线的功能及相互之间的关系; [答]:
方式1利用一组选通控制信号控制A端口和B端口的数据输入输出。A口、B口作输入或输出口,C口的部分位用作选通控制信号。
以A口为例,当A口作输入口时,PC4,PC5,PC3分别定义为A口的INTRA信号线。其中,
,IBFA,
为选通信号;IBF为输入缓冲器满信号;INTR为中断
,
,INTR
请求信号。当A口作输出口时,PC6,PC7,PC3分别定义为A口的信号线。其中,
为应答信号;
为输出缓冲器满指示信号;INTR为中断
计算机原理-接口技术实验
请求信号。
2、总结中断服务程序的编程方法。 ①开中断和关中断
当CPU响应中断后,正要去执行中断服务程序时,可能有另一个新的中断源向它发出中断请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个“中断屏蔽”触发器,它可以在程序的控制下置“1”(设置屏蔽),或置“0”(取掉屏蔽)。只有在“中断屏蔽”标志为“0”时,CPU才可以受理中断。当一条指令执行完毕CPU接受中断请求并作出响应时,它一方面发出中断响应信号INTA,另一方面把“中断屏蔽”标志置“1”,即关闭中断。这样,CPU不能再受理另外的新的中断源发来的中断请求。只有在CPU把中断服务程序执行完毕以后,它才重新使“中断屏蔽”标志置“0”,即开放中断,并返回主程序。 ②保护和恢复现场
为了在中断服务程序执行完毕以后,能够正确地返回到原来主程序被中断的断点(PC内容)而继续执行主程序,必须把程序计数器PC的内容,以及当前指令执行结束后CPU的状态(包括寄存器的内容和一些状态标志位)都保存到堆栈中去。这些操作叫做保存现场。 ③参数传递
一般只能采用存储单元传递参数. 外部中断是随机发生的. 所以系统进入服务程序时,除CS和IP寄存器外, 当前的运行状态,包括其他寄存器都是不可知的。想通过寄存器传递参数显然不行. 但是,寄存器的保妒和恢复还是必须的. ④发送中断结束命令
由于采用中断控制器管理可屏蔽中断,它采用普通中断结束方式,需要中断结束命令EOI. ⑤需要注意的问题
不要使用DOS 系统功能调用。 外部中断可能引起程序的重入l。例如,当主程序在执行-个DOS系统功能调用时,产生了外部中断。 外部中断服务程序又调用这个DOS 系统功能,就出现了重入。由于DOS 内核是不可重入的,所以这是不允许的。中断服务程序若要控制I/0设备。最好调用ROM -BIOS功能或者对I/O接
计算机原理-接口技术实验
口直接编程。
中断服务程序尽量短小,一般而言,外部中断的实时性很强,应主要处理较急迫的事务。因此,申断服务时间应尽量短,能够在主程序完成的任务,就不要由中断服务程序完成。这样,可以尽量减小对其他中断设备的影响。
七、实验心得
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库中山大学计算机原理-接口技术实验报告模板-实验三四五六(7)在线全文阅读。
相关推荐: