中断方式控制彩灯闪亮口实验.docx
- 文档编号:26014366
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:8
- 大小:112.12KB
中断方式控制彩灯闪亮口实验.docx
《中断方式控制彩灯闪亮口实验.docx》由会员分享,可在线阅读,更多相关《中断方式控制彩灯闪亮口实验.docx(8页珍藏版)》请在冰豆网上搜索。
中断方式控制彩灯闪亮口实验
中断方式控制彩灯闪亮实验
一、设计时间
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应用实验-中断方式控制彩灯点亮*
;*中断方式控制彩灯点亮程序sourcefile*
;*运行步骤:
1.将PC4和IRQ10两个跳接开关分别联上*
;*2.按下1次SW3,申请1次中断,使LED灯点亮1次*
;*Copyright(c)2002byHUST*
;*---------------------------------------------------------*
STACK1SEGMENTSTACK
DW200DUP(?
)
STACK1ENDS
DATASEGMENT
MESG1DB'PressSW3onetimetoinvokeinterruptonetime,andtolightoneofLEDs',0ah,0dh
DB'Exitwithq/Q',0ah,0dh,'$'
LEDDATADB01H,02H,04H,08H,10H,20H,40H,80H
NUMDW(0)
INT0A_OFFDW(0)
INT0A_SEGDW(0)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAH,09H
MOVDX,OFFSETMESG1
INT21h;显示提示信息
MOVDX,303H;初始化8255
MOVAL,80H
OUTDX,AL
MOVDX,301H;LED灯熄灭
MOVAL,00H
OUTDX,AL
MOVAX,3572H;获取原中断向量,返回参数ES:
BX=原中断服务程序的入口地址
INT21H;读中断向量,输入参数AH=35H,AL=中断类型号
MOVINT0A_OFF,BX;保存原中断向量
MOVBX,ES
MOVINT0A_SEG,BX
CLI;关中断
MOVAX,2572H
MOVDX,SEGLEDLIGHT;设置新的中断向量
PUSHDS;DS:
DX为中断服务程序的入口地址
MOVDS,DX
MOVDX,OFFSETLEDLIGHT
INT21H
POPDS
STI;开中断
INAL,0A1H;打开IRQ10
ANDAL,0FBH
OUT0A1H,AL
INAL,21H;打开IRQ2
ANDAL,0FBH
OUT21H,AL
L1:
MOVAH,0BH;检查是否有’Q’或’q’键按下
INT21H
INCAL
JNZNEXT0;若无键按下,则程序往下执行
MOVAH,08H;如有’Q’或’q’键按下,则程序退出
INT21H
CMPAL,'q'
JZEXIT
CMPAL,'Q'
JZEXIT
NEXT0:
MOVDX,302H;查PC2是否为0
INAL,DX
ANDAL,04H
JNZL1
MOVDX,303H;按下SW3,则PC4=1申请中断
MOVAL,09H
OUTDX,AL
PUSHCX
MOVCX,100
WT:
LOOPWT
POPCX
MOVDX,303H;置PC4=0
MOVAL,08H
OUTDX,AL
JMPL1
EXIT:
MOVAX,2572H;恢复中断向量
MOVDX,INT0A_SEG
PUSHDS
MOVDS,DX
MOVDX,INT0A_OFF
INT21H
POPDS
INAL,0A1H;屏蔽IRQ10
ORAL,04H
OUT0A1H,AL
INAL,21H;屏蔽IRQ2
ORAL,04H
OUT21H,AL
MOVAX,4C00H;程序退出
INT21H
LEDLIGHTPROCFAR;中断服务程序
PUSHSI
PUSHAX
PUSHDX
CLI;关中断
MOVSI,OFFSETLEDDATA
ADDSI,NUM
MOVAL,[SI]
MOVDX,300H
OUTDX,AL;点亮LED
INCNUM
CMPNUM,08H
JNENEXT
MOVNUM,00H
NEXT:
MOVAL,62H;发中断结束命令
MOVDX,0A0H
OUTDX,AL;向从片8259发EOI命令
OUT020H,AL;向主片8259发EOI命令
STI;开中断
POPDX
POPAX
POPSI
IRET
LEDLIGHTENDP
CODEENDS
ENDSTART
十二、实验心得
这次实验做的够艰辛的,相对于以前来说,想这样完成实验的态度真是破天荒了。
从下午四点半开始进入实验室,直到晚上十点才离开。
想来就觉得狼狈。
是自己不够努力,不够勤奋,解决一个貌似简单的题而需下这么大的功夫才能勉强过关。
汇编语言的编写到现在还不习惯,相对C抽象多了。
这次总算尝到了基础不扎实的苦头了。
这必是一种佳机。
麻木的灵魂于此就容易苏醒了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 方式 控制 彩灯 闪亮 口实