如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
微机原理实验报告专业班级姓名学号实验题目日期实验八:8259中断控制器实验一、实验目的1、掌握8259A的工作原理。2、掌握编写中断服务程序方法。3、掌握初始化中断向量的方法。二、实验设备MUT—Ⅲ型实验箱、8086CPU模块。三、实验内容用脉冲发生器作为中断源,每按一次脉冲发生器的按键即产生一次中断。在中断服务程序中,通过74LS273输出一个数据,以点亮与中断源相对应位置的LED。四、实验原理介绍8259中断控制器电路本实验用到三部分电路:电平开关电路、简单I/O口扩展电路和8259中断控制器电路。电平开关电路、简单I/O口扩展电路参看实验一。8259中断控制器电路:如上图所示,其中:CS8259是8259芯片的片选插孔,IR0~IR7是8259的中断申请输入插孔。DDBUS是系统8位数据总线。INT插孔是8259向8086CPU的中断申请线,INTA是8086的中断应答信号。五、实验步骤1、实验接线CS0CS8259CS1CS273O0~O7LED1~LED8单脉冲输出P+IR0INTINTINTAINTA2、编译调试程序3、全速运行程序,按下单脉冲发生器按键,观察LED的亮灭情况。六、实验提示1、8259的使用说明请详细阅读教科书。2、8086的中断系统是向量中断方式。内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量(中断入口地址)。不同中断类型的中断向量在表内有对应的偏移地址,其计算方法是:中断类型*4。3、中断类型由8259通过数据总线送给8086,8086内部电路会将该类型值自动乘4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中断服务程序。请仔细研读教材8259的工作时序。4、中断类型的高5位由8259寄存器ICW2决定,低3位由中断源IRx的编码自动填入。IR0~IR7的编码分别为000,001,010,011,100,101,110,111。七、实验程序框图八、参考程序程序框图assumecs:codecodesegmentpublicorg100hstart:movcx,0start1:climovdx,04a0hmovax,13houtdx,ax;ICW1,ICW4NEEDEDmovdx,04a2hmovax,80houtdx,ax;ICW2中断类型80hmovax,01outdx,ax;ICW4movax,00houtdx,ax;OCW1,开放所有中断movax,0movds,axmovsi,200h;初始化中断向量表movax,offsethintmovds:[si],axaddsi,2movds:[si],100hmovax,0stiwaiting:cmpax,55hnopnopnopnopnopnopnopnopjnewaiting;没发生中断,则等待nopnopmovdx,04b0hxorcx,0ffhmovax,cxoutdx,ax;LED灯亮灭一次jmpstart1nophint:clinopnopnopnopnopnopnopnopmovax,55hnopiretcodeendsendstart九、思考题如果源接IR2程序应如何编写?思考题assumecs:codecodesegmentpublicorg100hstart:movcx,0start1:climovdx,04a0hmovax,13houtdx,axmovdx,04a2hmovax,82houtdx,axmovax,01outdx,axmovax,00houtdx,axmovax,0movds,axmovsi,208hmovax,offsethintmovds:[si],axaddsi,2movds:[si],100hmovax,0stiwaiting:cmpax,55hnopnopnopnopnopnopnopnopjnewaitingnopnopmovdx