北京理工大学微机原理实验报告一二三(共26页).docx
《北京理工大学微机原理实验报告一二三(共26页).docx》由会员分享,可在线阅读,更多相关《北京理工大学微机原理实验报告一二三(共26页).docx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微机原理与接口技术硬件实验报告 姓名: 班级: 学号: 实验一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、已连好如下图:(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,
3、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的地
4、址MOV AX,20H ;一般EOI命令,全嵌套方式OUT DX,AXIRET;中断返回CODE ENDSENDSTART实验思考题将P0连线连接到IR1IR7任意一个;重新编写程序。将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,
5、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;输出高低电平控制L
6、ED灯的亮灭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 ;上升沿触发,单
7、片8259,要写ICW4OUT DX,AXMOVDX,4A2H;ICW2的地址,写中断向量码ICW2MOV AX,80H ;IR0的中断向量码为80HOUT DX,AXMOV AX,01 ;写中断结束控制字ICW4OUT DX,AX;一般嵌套,非缓冲方式,非自动EOIMOV AX,01H;写中断屏蔽字OCW1OUT DX,AX;屏蔽IR0中断;中断向量存放在(0000H:0200H)开始的四个单元里MOV AX,0MOV DS,AXMOV SI,200H ;中断类型号为80HMOV AX,OFFSET HINT ;中断服务程序的入口地址MOV DS:SI,AXADD SI,2MOV AX,CS
8、MOV 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实验现象:每按单脉冲发生器一次产生一次中断申请,但连接的发光二极管一直不亮。3. 设置OCW2,了解中断结束方式与设置优先权。将IR0和IR1都连接到P+上,分别连接LED0和LED1到00和01。O
9、CW2将 E0OCW2一般EOI命令,将IR0设置为最低中断优先级。程序如下:CODE SEGMENT PUBLICASSUME CS:CODEORG 100HSTART:MOV DX,4A0H ;ICW1的地址MOVAX,13H ;上升沿触发,单片8259,要写ICW4OUT DX,AXMOVDX,4A2H;ICW2的地址MOV AX,80H ;中断向量码为80H,低3位自动写入OUT DX,AXMOV AX,01 ;写ICW4OUT DX,AX;一般嵌套,非缓冲方式,非自动EOIMOV AX,0;写OCW1OUT DX,AX;允许所有中断;IR0的中断向量存放在(0000H:0200H)开
10、始的四个单元里MOV AX,0MOV DS,AXMOV SI,200HMOV AX,OFFSET HINT1MOV DS:SI,AXADD SI,2MOV AX,CSMOV DS:SI,AXSTI ;开中断,设置IF=1;IR1的中断向量存放在(0000H:0204H)开始的四个单元里MOV AX,0MOV DS,AXMOV SI,204HMOV AX,OFFSET HINT2MOV DS:SI,AXADD SI,2MOV AX,CSMOV DS:SI,AXJMP $ ;原地跳转HINT1:;中断服务程序1XOR CX,0F0H ;CX高4位取反MOV DX,4B0H;CS273的地址MOV
11、AX,CX;输出高低电平控制LED灯的亮灭OUT DX,AXMOV DX,4A0H ;OCW2的地址MOV AX,E0H ;一般EOI命令,IR0优先级最低OUT DX,AXIRET;中断返回HINT2: ;中断服务程序2XOR CX,00FH ;CX低4位取反MOV DX,4B0H;CS273的地址MOV AX,CX;输出高低电平控制LED灯的亮灭OUT DX,AXMOV DX,4A0H ;OCW2的地址MOV AX,E0H ;一般EOI命令,IR0优先级最低OUT DX,AXIRET;中断返回CODE ENDSENDSTART实验现象:CS273的00与LED0相连,01与LED1相连,0
12、2与LED2相连,依次下去,直至07与LED7相连。每按单脉冲发生器一次产生一次中断申请,由于IR0的优先级比IR1低,故先响应IR1,后响应IR0,观察到低4位的LED灯先点亮或熄灭,高4位的LED灯后点亮或熄灭。实验心得实验让我对8259A的内部寄存器的功能有了更深的认识,掌握了8259A的初始化步骤及其工作方式的选择,以及中断服务程序的编写。使用实验箱和编译软件,使我们在编程和动手操作方面都有了很大的提高,软硬件的结合,使我们更加透彻的理解了所学知识。实验二 8255并行接口实验实验内容8255的A口作为输入口,与逻辑电平开关相连。8255的B口作为输出口,与发光二极管相连。编写程序,使
13、得逻辑电平开关的变化在发光二极管上显示出来。二,实验目的(1)掌握8255的工作原理。(2)掌握编写8255并行接口初始化及编程实现的方法。三,实验仪器微机实验教学系统实验箱、8086CPU模块四,实验步骤连线8255的PA0PA7分别与逻辑电平开关的K1K8相连PB0PB7分别与发光二极管电路的LED1LED8相连CS0与8255的片选CS8255相连其它线路均已连好具体如图所示:编辑程序,编译链接后,单步运行,调试程序。调试通过后,全速运行,观察实验结果。撰写实验报告。五,实验源程序如下CODE SEGMENT PUBLICASSUME CS:CODE ORG 100HSTART: MOV
14、 DX,04A6H MOV AX,90H ;写8255的控制字,A组工作在方式0,A口输入,C口高4位输出,B组工作在方式0,B口及C口的低4位均工作在输出 OUT DX,AXSTART1: MOV DX,04A0H IN AX,DX ;读取A口数据 MOV DX,04A2H OUT DX,AX ;将从A口读取的数据从B口输出,控制LED灯 JMP START1 CODE ENDSEND START六,实验现象LED灯低电平有效。当某一开关拨到低电平时,对应的LED灯点亮。当某一开关拨到高电平时,对应的LED灯熄灭七,思考题1将片选线接到CS1CS7;重新编写程序。CS0对应地址是04A0-O
15、4AF, CS1对应地址是04B0-O4BF.现将片选线接到CS1,重新编程:CODE SEGMENT PUBLIC ASSUME CS:CODEORG 100HSTART:MOV DX,04B6H;CS1对应的地址MOV AX,90HOUT DX,AXSTART1:MOV DX,04B0HIN AX,DXMOV DX,04B2HOUT DX,AXJMP START1CODE ENDSEND START实验现象:如同片选线接到CS02交换A B接线,A口输出、B口输入;重新编写程序。PB0PB7分别与逻辑电平开关的K1K8相连PA0PA7分别与发光二极管电路的LED1LED8相连CODE SE
16、GMENT PUBLIC ASSUME CS:CODEORG 100HSTART:MOV DX,04B6H;片选线接到CS1MOV AX,82HOUT DX,AX;写控制字,A,B组均工作在方式0,A口输出,B口输入START1:MOV DX,04B2HIN AX,DX;读取B口数据MOV DX,04B0HOUT DX,AX;将B口的数据从A口输入,控制LED灯JMP START1CODE ENDSEND START实验现象:LED灯低电平有效。当某一开关拨到低电平时,对应的LED灯点亮。当某一开关拨到高电平时,对应的LED灯熄灭3C口4位接LED;4位接开关;重新编写程序。PC4PC7分别与
17、逻辑电平开关的K1K4相连PC0PC3分别与发光二极管电路的LED1LED4相连CODE SEGMENT PUBLIC ASSUME CS:CODEORG 100HSTART:MOV DX,04B6H;片选接CS1MOV AX,88HOUT DX,AX;A,B组均工作在方式0,C口高4位输入,低4位输出START1:MOV DX,04B4HIN AL,DX;读取C口数据MOV CL,4ROR AL,CL ;不带CF位的循环右移4位,使C口数据的高4位与低4位互换MOV DX,04B4HOUT DX,AL;将C口高4位的数据从低4位输出,控制LED灯JMP START1CODE ENDSEND
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京理工大学 微机 原理 实验 报告 一二 26
限制150内