实验三 8259中断控制器实验 一、实验目的
1、掌握8259中断控制器的接口方法。 2、掌握8259中断控制器的应用编程。 二、实验内容 1、编制程序,利用8259芯片的IR7作为中断源,产生单一中断,LCD显示中断号“7”,中断次数。
2、修改一些必要的参数,改变中断源。 三、实验电路
四、实验连线
1、 译码电路,与实验一相同。
2、 将138译码单元的Y2与8259CS相连;
3、 将数据D0~D7用10芯排线与8259右方的IDC10座相连; 4、 将实验一电路连好; 五、程序清单
1、在实验一的程序中添加如下定义 硬件地址定义: Port0 EQU 7FE8H Port1 EQU 7FE9H 变量定义
IRQ_num db 0 IRQ_count db 0
2、在实验一的程序中添加如下子程序及中断服务程序; ;------------------------------------ ;中断7的服务程序
;------------------------------------
16
INT8259:cli push ax
MOV AL,20H ;写OCW2命令,使ISR相应位复位即发EOI命令 MOV DX,Port0 OUT DX,AL mov IRQ_num,7 mov al,IRQ_count add al,1
mov IRQ_count,al pop ax STI IRET
;------------------------------- ;初始化8259
;------------------------------- init_8259 proc CLI
MOV AX,OFFSET INT8259
MOV BX,003CH ; 中断入口地址(8+7)*4=60(3cH),7中断号 MOV [BX],AX
MOV BX,003EH ;3ch,3dh放指令指针IP。3eH,3fH放指令段码 MOV AX,0000H MOV [BX],AX
MOV AL,13H ;设置ICW1,1级8259,需设置ICW4,边沿触发 MOV DX,Port0 OUT DX,AL
MOV AL,08H ;写ICW2,中断类型号从8开始 MOV DX,Port1 OUT DX,AL
MOV AL,09H ;写ICW4,缓冲工作方式,8088配置 OUT DX,AL
MOV AL,7FH ;IRQ7 写OCW1 1屏蔽,0允许中断 OUT DX,AL mov si,0000h STI RET
17
init_8259 endp
3、在实验一的程序中修改汉字表; TAB3 DB \中断号:\ TAB4 DB \中断数:\
4、在实验一的程序中修改主程序; start: call init_lcd mov al,3 call delay2
mov IRQ_count,0 mov IRQ_num,0
;---------------------------
mov bx,offset tab1 ; mov lin,0 mov col,1 mov num,5 call dis_china
mov bx,offset tab2 ; mov lin,1 mov col,0 mov num,8 call dis_china
mov bx,offset tab3 ; mov lin,2 mov col,1 mov num,4 call dis_china
mov bx,offset tab4 ; mov lin,3 mov col,1 mov num,4 call dis_china mov al,10 call delay2
显示\内蒙古大学 \显示\电子信息工程学院\显示\中断号:\显示\中断数\18
call init_8259
lgs1: mov lin,2 ;显示中断号 mov col,4
mov al,IRQ_num mov dis_num,al call dis_number
mov lin,3 ;显示中断数 mov col,4
mov al,IRQ_num mov dis_num,al call dis_number call delay2 jmp lgs1
19
实验四 8255A并行口实验PA输入、PB输出 一、实验目的
1、掌握8255A和微机接口方法。
2、掌握8255A的工作方式和编程原理。 二、实验内容
使8255A端口A工作在方式0并作为输入口,读取K1—K8八个开关量。PB口工作在方式0作为输出口,驱动L1-L8共8个发光二极管。编程实现拨动K1~K8、L1~L8会跟着亮灭。 三、实验电路
四、编程提示
在本实验箱8255的地址是固定的,不能自己定义。其地址如下: PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH 五、选作实验内容:
在液晶屏显示开关状态。
20