资源描述:
《微机5.2(广工中断及8259应用实验)教案资料.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、微机5.2(广工中断及8259应用实验)精品文档实验报告课程名称微机原理及应用实验学生学院自动化学院专业班级14级物联网4班学号3114001569学生姓名林思培指导教师王春茹2016年11月28日收集于网络,如有侵权请联系管理员删除精品文档收集于网络,如有侵权请联系管理员删除精品文档一.实验目的1)掌握8259中断控制器的工作原理。2)掌握8259可编程中断控制器的应用编程。3)学习掌握8259级联方式的使用方法。4)掌握在接口实验单元上构建连接实验电路的方法。二.实验设备PC一台,TD-PITE微机/单片机教学实验装置一套三
2、.实验内容与步骤1)实验内容修改图2-5-2接线,将KK2+接到MIR6。编写程序,实现按一次KK2+时,显示字符“2013NKL”(用AH=09H,INT21H显示),中断16次后程序退出。2)分析参照实验书的实验1.8259A单中断实验,先对执行IRQ6中断时要产生的动作(显示字符串)这一功能进行编写,然后初始化主片8259A,开放IR6中断,初始化中断可运行的次数,用CX记录,然后执行一次中断就CX-1,当16次中断完成后,禁止IR6中断,程序结束。3)代码DATASSEGMENTDATA1DB'2013NKL$'DATA
3、SENDSSTACKSSEGMENTDW64DUP(?)STACKSENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:收集于网络,如有侵权请联系管理员删除精品文档MOVAX,DATAS;现用的段地址送AXMOVDS,AX;送DS段寄存器PUSHDS;因为下面需要用到DS,先把其进栈MOVAX,0000HMOVDS,AXMOVAX,OFFSETIRQ6;取中断入口地址MOVSI,0038H;IR6的中断向量表地址为38H~3BHMOV[SI],AX;填IRQ6的偏移地址M
4、OVAX,CSMOVSI,003AHMOV[SI],AX;填IRQ6的段地址;初始化主片8259AMOVAL,11HOUT20H,AL;写入ICW1MOVAL,08HOUT21H,AL;写入ICW2MOVAL,04HOUT21H,AL;写入ICW3MOVAL,01HOUT21H,AL;写入ICW4INAL,21HANDAL,0BFHOUT21H,AL;开放IR6中断POPDS;将DS出栈STIMOVCX,0010H;初始化循环次数CX为16A1:CMPCX,0;当CX=0,禁止IR6中断JNZA2INAL,21HORAL,40H
5、OUT21H,ALA2:NOPJMPA1IRQ6:MOVDX,OFFSETDATA1MOVAH,09H;显示‘2013NKL’INT21HDECCXMOVAL,20HOUT20H,AL收集于网络,如有侵权请联系管理员删除精品文档IRETMOVAH,4CHINT21HCODESENDSENDSTART1)调试步骤(1)按照图2-5-2连接实验线路
(2)输入程序并检查无误,经汇编、连接后装入系统。(3)在输出区选择“调试”方式,用G=(CS):0000回车运行程序。(4)重复按KK2微动开关,显示屏上应用“2013NKL”来响应,
6、直到按16次后,程序退出。一.实验的结果及分析每按一次,屏幕显示“2013NKL”,按了16次后,程序结束。运行正确。二.实验总结本次实验中,刚开始很多同学都出显示乱码问题,后来经过老师的检查后,发现了我们的代码中都有一个相同的错误,是因为我们都是从实验代码中进行更改出来的代码,而实验代码中是没有用到数据段的,而我的代码中是存在数据段的,该数据段存放的是DATA1DB'2013NKL$',所以我忘了在代码段开始时加入下面这两行。MOVAX,DATAS;现用的段地址送AXMOVDS,AX;送DS段寄存器所以会出现很多其他不符合的信
7、息,当加上这两行后,因为下面要用到DS,所以要先把目前DS的内容送进栈保存。收集于网络,如有侵权请联系管理员删除