- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京理工大学微机原理实验报告一二三
微机原理与接口技术硬件实验报告姓名:班级:学号:实验一8259中断控制器实验实验内容用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。二,实验目的(1)掌握8259的工作原理。(2)掌握编写中断服务程序的方法。(3)掌握初始化中断向量的方法。实验步骤(1)连线单脉冲发生器输出P+与8259的IR0相连;8259的片选CS8259与CS0相连;8259的INT与8086的INT相连;8259的INTA与8086的INTA相连;CS273与CS1相连;00与LED0相连,01与LED1相连,依次将CS273接口与LED相连;其它线均已连好如下图:(2)编辑程序,编译链接后,单步运行,调试程序。(3)调试通过后,在中断服务程序的NOP处设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处,观察寄存器AX的值。四,实验源程序如下CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,4A0H ;写ICW1,单片8259A,要写0CW4MOVAX,13H OUT DX,AXMOVDX,4A2H;写ICW2MOV AX,80H ;IR0的中断向量码为80HOUT DX,AXMOV AX,01 OUT DX,AX;一般嵌套,非缓冲方式,非自动EOIMOV AX,0;写OCW1OUT DX,AX;允许中断;中断向量存放在(0000H:0200H)开始的四个单元里MOV AX,0MOV DS,AXMOV SI,200H ;中断类型号为80HMOV AX,OFFSET HINT ;中断服务程序的入口地址MOV DS:[SI],AXADD SI,2MOV AX,CSMOV DS:[SI],AXSTI;开中断,设置IF=1JMP $ ;原地跳转HINT: ;中断服务程序XOR CX,0FFH;CX取反MOV DX,4B0H;CS273接口的地址,与8个LED灯相连MOV AX,CX;输出高低电平控制LED灯的亮灭OUT DX,AXMOV DX,4A0H ;OCW2的地址MOV AX,20H ;一般EOI命令,全嵌套方式OUT DX,AXIRET;中断返回CODE ENDSENDSTART实验思考题将P0连线连接到IR1—IR7任意一个;重新编写程序。将P0接到了IR1,在原程序的基础上,把写ICW2的控制字改为81H,再把中断向量的入口地址改为0204H即可。程序如下:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,4A0H ;写ICW1,单片8259A,要写ocw4MOVAX,13H OUT DX,AXMOVDX,4A2H;写ICW2MOV AX,81H ;IR1的中断向量码为81HOUT DX,AXMOV AX,01 OUT DX,AX;一般嵌套,非缓冲方式,非自动EOIMOV AX,0;写OCW1OUT DX,AX;允许中断;中断向量存放在(0000H:0204H)开始的四个单元里MOV AX,0MOV DS,AXMOV SI,204H ;中断类型号为81HMOV AX,OFFSET HINT ;中断服务程序的入口地址MOV DS:[SI],AXADD SI,2MOV AX,CSMOV DS:[SI],AXSTI;开中断,设置IF=1JMP $ ;原地跳转HINT: ;中断服务程序XOR CX,0FFH;CX取反MOV DX,4B0H;CS273的地址MOV AX,CX;输出高低电平控制LED灯的亮灭OUT DX,AXMOV DX,4A0H ;OCW2的地址MOV AX,20H ;一般EOI命令,全嵌套方式OUT DX,AXIRET;中断返回CODE ENDSENDSTART实验现象:运行程序,触发脉冲发生器产生中断请求,相应二极管点亮。设置OCW1,屏蔽某个中断请求,运行程序观察现象。将IR0重新接入LED0,设置OCW1为01H,屏蔽中断IR0,则IR0的中断无法得到响应。程序如下:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,4A0H ;ICW1的地址,写初始化命令字ICW1MOVAX,13H ;上升沿触发,单片8259,要写ICW4OUT DX,AXMOVDX,4A2H;ICW2的地址,写中断向量码ICW2MOV AX,80H ;IR0的中断向量码为80HOUT DX,AXMOV AX,01 ;写中断结束控制字ICW4OUT DX,AX;一般嵌套,非缓冲方式,非自动EOIMOV AX,01H;写中断屏蔽
文档评论(0)