微机中断实验.docx
- 文档编号:3037272
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:15
- 大小:659.38KB
微机中断实验.docx
《微机中断实验.docx》由会员分享,可在线阅读,更多相关《微机中断实验.docx(15页珍藏版)》请在冰点文库上搜索。
微机中断实验
深圳大学实验报告
课程名称:
微机原理与接口技术
实验项目名称:
8259中断实验
学院:
信息工程学院
专业:
通信工程
指导教师:
报告人:
学号:
班级:
实验时间:
实验报告提交时间:
教务处制
一、实验目的:
1.掌握8259中断控制器的工作原理。
2.学习8259的应用编程方法。
3.掌握8259级联方式的使用方法。
二、实验仪器
PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。
三、实验原理
1.中断控制器8259简介
在Intel386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。
该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。
从片的INT连接到主片的IR2信号上构成两片8259的级联。
在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。
8259的内部连接及外部管脚引出如图
(1)。
图
(1)8259内部连接及外表管脚
表1列出了中断控制单元的寄存器
初始化命令字1寄存器(ICW1)说明见图
(2)所示。
图
(2)
初始化命令字2寄存器(ICW2)说明见图(3)所示。
图(3)
初始化命令字3寄存器(ICW3)说明,主片见图(4),从片见图(5)
图(4)
图(5)
初始化命令字4寄存器(ICW4)说明见图(6)
图(6)
操作命令字1寄存器(OCW1)说明见图(7)
图(7)
操作命令字2寄存器(OCW2)说明如图(8)所示。
图(8)
操作命令字3寄存器(OCW3)说明如图(9)所示。
图(9)
查询状态字(POLL)说明如图(10)所示。
图(10)
在对8259进行编程时,首先必须进行初始化。
一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入初始化命令字。
8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。
在初始化主片8259时,写入初始化命令字的顺序是:
ICW1、ICW2、ICW3、然后是ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。
系统启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC联机的串口通信使用,其它中断源被屏蔽。
中断矢量地址与中断号之间的关系如下表所示:
四、实验内容与步骤
1.8259单中断实验
实验接线图如图(11)所示,单次脉冲输出与主片8259的IR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。
图(11)
实验步骤
(1)按图(11)连接实验线路。
(2)编写实验程序,经编译、链接无误后装入系统。
(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”,说明响应了中断
实验程序清单如下:
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
CODESEGMENT
ASSUMECS:
CODE
START:
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETMIR7
MOVSI,003CH
MOV[SI],AX
MOVAX,CS
MOVSI,003EH
MOV[SI],AX
CLI
POPDS
;初始化主片8259
MOVAL,11H
OUT20H,AL
MOVAL,08H
OUT21H,AL
MOVAL,04H
OUT21H,AL
MOVAL,01H
OUT21H,AL
MOVAL,6FH
OUT21H,AL
STI
AA1:
NOP
JMPAA1
MIR7:
STI
CALLDELAY
MOVAX,0137H
INT10H
MOVAX,0120H
INT10H
MOVAL,20H
OUT20H,AL
IRET
DELAY:
PUSHCX
MOVCX,0F00H
AA0:
PUSHAX
POPAX
LOOPAA0
POPCX
RET
CODEENDS
ENDSTART
运行结果如下:
2.8259级联实验
实验接线图如图(12)所示,KK1+连接到主片8259的IR7上,KK2+连接到从片8259的IR1上,当按一次KK1+时,显示屏上显示字符“M7”,按一次KK2+时,显示字符“S1”。
编写程序。
图(12)
实验步骤
(1)按图(12)连接实验线路。
(2)输入程序,编译、链接无误后装入系统。
(3)运行程序,按动KK1+或KK2+,观察实验结果,验证实验程序的正确性。
(4)若同时按下KK1+和KK2+,观察实验结果,解释实验现象
实验程序清单如下:
SSTACKSEGMENTSTACK
DW32DUP(?
)
SSTACKENDS
CODESEGMENT
ASSUMECS:
CODE
START:
PUSHDS
MOVAX,0000H
MOVDS,AX
MOVAX,OFFSETMIR7
MOVSI,003CH
MOV[SI],AX
MOVAX,CS
MOVSI,003EH
MOV[SI],AX
MOVAX,OFFSETSIR1
MOVSI,00C4H
MOV[SI],AX
MOVAX,CS
MOVSI,00C6H
MOV[SI],AX
CLI
POPDS
;初始化主片8259
MOVAL,11H
OUT20H,AL
MOVAL,08H
OUT21H,AL
MOVAL,04H
OUT21H,AL
MOVAL,01H
OUT21H,AL
MOVAL,6FH
OUT21H,AL
;初始化从片8259
MOVAL,11H
OUT0A0H,AL
MOVAL,30H
OUT0A1H,AL
MOVAL,02H
OUT0A1H,AL
MOVAL,01H
OUT0A1H,AL
MOVAL,0FDH
OUT0A1H,AL
MOVAL,6BH
OUT21H,AL
STI
AA1:
NOP
JMPAA1
MIR7:
STI
CALLDELAY
MOVAX,0137H
INT10H
MOVAX,0120H
INT10H
MOVAL,20H
OUT20H,AL
IRET
SIR1:
CALLDELAY
MOVAX,0153H
INT10H
MOVAX,0131H
INT10H
MOVAX,0120H
INT10H
MOVAX,20H
OUT0A0H,AL
OUT20H,AL
IRET
DELAY:
PUSHCX
MOVCX,0F00H
AA0:
PUSHAX
POPAX
LOOPAA0
POPCX
RET
CODEENDS
ENDSTART
实验运行结果如下:
按一次KK1+时,显示屏上显示字符“M7”
按一次KK2+时,显示字符“S1”。
同时按下KK1+和KK2+时“M7”和“S1”交替出现。
五、实验结论及实验心得:
用单次脉冲发生器的脉冲作为中断源,每按一次按键产生一次终端申请,中断服务程序将在调试结果框图上显示出来。
通过本次实验,我基本了解了8259中断器的工作原理以及应用编程方法,也掌握了8259的级联工作方式和其应用编程。
指导教师批阅意见:
成绩评定:
指导教师签字:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 中断 实验