- 12
- 0
- 约3.61千字
- 约 11页
- 2018-05-06 发布于河南
- 举报
中断方式控制彩灯闪亮口实验
中断方式控制彩灯闪亮实验
一、设计时间
2011年05月13日
二、设计地点
湖南城市学院 第一实验楼计算机系机房507
三、设计目的
通过8259中断控制器应用编程实验,学习中断控制器的工作原理及中断控制程序的设计方法。
四、设计小组成员
0906402第1组 朱小斌 兰大为 陈蕾
五、指导老师
阳俊
六、实验课题
在声光报警模块上按动SW3开关,通过8255向主机内的中断控制器申请10号中断,在中断服务程序中,点亮声光报警模块上的LED灯。
七、实验要求
利用MFID实验平台和声-光报警器模块进行硬件电路连接,利用MF2KI集成开发环境进行中断软件控制程序设计、调试,直到LED灯正常工作。
八 、实验原理
1.声-光报警器模块板电路原理如图2.1.4所示。模块板上包括4种简单的I/O外设:扬声器、8个LED彩灯、8位DIP开关及按钮开关SW3。它们都是并行接口的对象,虽然功能单一,结构简单,但都必须通过接口电路才能进入微机系统,接受CPU的控制,发挥相应的作用。
2.声-光报警器接口的设计原理与方法,参考计算机接口技术相关参考书。
图2.1.4 声-光报警器模块板电路原理框图
九、实验步骤
步骤一:在MFID实验平台上的C区的IRQ10与PC4相连。
步骤二:在MF2KP环境下输入汇编程序,编译、连接、运行。
步骤三:每按1次SW3键,PC4申请1次中断,LED点亮一次
十、算法及流程图
十一、源程序
;*---------------------------------------------------------*
;* Aexp14.asm 中断控制器8259应用实验-中断方式控制彩灯点亮 *
;* 中断方式控制彩灯点亮程序source file *
;* 运行步骤:1.将PC4和IRQ10两个跳接开关分别联上 *
;* 2.按下1次SW3,申请1次中断,使LED灯点亮1次 *
;* Copyright (c) 2002 by HUST *
;*---------------------------------------------------------*
STACK1 SEGMENT STACK
DW 200 DUP(?)
STACK1 ENDS
DATA SEGMENT
MESG1 DB Press SW3 one time to invoke interrupt one time,and to light one of LEDs,0ah,0dh
DB Exit with q/Q,0ah,0dh,$
LEDDATA DB 01H,02H,04H,08H,10H,20H,40H,80H
NUM DW(0)
INT0A_OFF DW(0)
INT0A_SEG DW(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AH,09H
MOV DX,OFFSET MESG1
INT 21h ;显示提示信息
MOV DX,303H ;初始化8255
MOV AL,80H
OUT DX,AL
MOV DX,301H ;LED灯熄灭
MOV AL,00H
OUT DX,AL
MOV AX,3572H ;获取原中断向量 ,返回参数ES:BX=原中断服务程序的入口地址
INT 21H ;读中断向量,输入参数AH=35H,AL=中断类型号
MOV INT0A_OFF,BX ;保存原中断向量
MOV BX,ES
MOV INT0A_SEG,BX
CLI ;关中断
MOV AX,2572H
MOV DX,SEG LEDLIGHT ;设置新的中断向量
PUSH DS ;DS:DX为中断服务程序的入口地址
MOV DS,DX
MOV DX,OFFSET LEDLIGHT
INT 21H
POP DS
S
原创力文档

文档评论(0)