武汉大学电气工程学院计算机课程设计4:中断.docVIP

  • 2
  • 0
  • 约2.13千字
  • 约 4页
  • 2018-01-18 发布于河南
  • 举报

武汉大学电气工程学院计算机课程设计4:中断.doc

武汉大学电气工程学院计算机课程设计4:中断

课题内容及要求 用每按一次单脉冲按钮K所产生的正脉冲使8255产生一次中断请求,让CPU进行一次中断服务。在中断服务中是L0~L7依次发光,中断8次结束 程序中设定好8255A的工作模式,利用端口B工作在方式1,并处于输出状态。 方案 用8259中断控制器共处理8次中断,再用8255输出,即用8255控制L0~L7依次发光。8次中断结束后停止。 工作原理说明 8259A是专为控制优先级中断而设计的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。 本实验中使用0号中断源IR0,中断方式为边沿触发方式。单脉冲按钮K所产生的正脉冲使8255产生一次中断请求,让CPU进行一次中断服务,对应的LED发光。8次中断结束后,程序就会结束。 8255是通用并行接口芯片,具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作: 方式0:基本输入/输出方式 方式1:选通输入/输出方式 方式2:双向选通工作方式 本实验中使8255端口B工作在方式1并作为输出口,来控制相对应的LED使其发光。为了使观察更清楚,亮了之后延时一段时间再让灯灭。这段时间的长短由DELAY1程序段控制。 程序功能描述及程序流程 CODE SEGMENT ASSUME CS:CODE IP1 EQU 0060H ;A0 IP2 EQU 0061H ;A1 IOB EQU 0FF29H ;PORT B IOD EQU 0FF2BH ;PORT D ORG 1400H START: CLI ;关中断 CALL WRINT ;设置中断向量 MOV AL,13H ;ICW1 初始化8259 MOV DX,IP1 OUT DX,AL MOV AL,08H ;ICW2 MOV DX,IP2 OUT DX,AL MOV DX,09H ;ICW4 OUT DX,AL MOV DX,0FEH ;OCW1 OUT DX,AL MOV BX,1H CALL WRIO ;初始化8255 STI ;OPEN INT WAIT: JMP WAIT WRIO: MOV AL;初始化8255,工作方式1,输出 MOV DX,IOD OUT DX,AL MOV AL,0FFH MOV DX,IOB OUT DX,AL RET ;END WRIO WRINT: MOV AX,0H MOV ES,AX MOV DI,0010H LEA AX,INT0 STOSW MOV AX,0000H STOSW RET ;END WRINT INT0: CLI AND BX,0FFH JZ EXIT MOV DX,IOB MOV AL,BL XOR AL,0FFH OUT DX,AL XOR BH,BH SHL BL,1 CALL DELAY ;等待一段时间 MOV AL,0FFH OUT DX,AL STI JMP WAIT ;END INT DELAY1: PUSH CX ;延时1,约240000H个指令周期 MOV CX,30H DELY2: CALL DELAY2 LOOP DELY2 POP CX RET DELAY2: PUSH CX ;延时2,约8000H个指令周期 MOV CX,8000H DELA1: LOOP DELA1 POP CX RET EXIT: RET CODE ENDS END START 电路的连接 1、8259A的INT连X15(8088的INTR) 2、8259A的INTA连X12(8088的INTA) 3、 插孔和8259A的0号中断IR0插孔相连 4、8259A的CS端连到X22 5、8255芯片B口的PB0~PB7依次接L1~L8 调试方法及技巧 1、按图连好实验线路 2、合上实验台电源,将开关输入拨至“88”处,按下“SCAL”键 3、打开、编译、运行实验程序,观察输出结果。 4、用每按一次单脉冲按钮K,一个LED就会发光。按8次,8个LED发光结束后,程序结束。 调试中出现的问题 调试中发现按下按钮“K”之后LED未发光。修改程序使在初始化之后LED灯全亮,上机调试LED灯全亮,说明8255正常工作。将按钮“K”连至8259A的IR3端口,运行示例程序,达到示例程序预期效果,说明8259A芯片工作正常。综合分析,问题应在程序的8259A设置部分。具体问题可能有三:(1)8259A初始化有误(2)8259A中断向量设置有误(3)8259A中断程序编写有误。 收获和体

文档评论(0)

1亿VIP精品文档

相关文档