微机接口-8255中断实验报告(共14页).doc





《微机接口-8255中断实验报告(共14页).doc》由会员分享,可在线阅读,更多相关《微机接口-8255中断实验报告(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上浙江工业大学计算机学院实 验 报 告实验名称 8259中断实验 姓 名 学 号 班 级 教 师 日 期 专心-专注-专业一、实验内容与要求1.1 实验内容通过实验了解8259A中断控制器的工作原理,了解PC中断的原理和过程,学会中断处理程序的编写。1.2 实验要求了解8259A终端控制器的工作原理,了解PC中断的原理和过程,设计并编写程序,设置8259A的命令字,定义中断服务程序,使在实验平台上每按一次单脉冲开关产生一次中断,在屏幕上依次显示“This is the 1st TPCAInterrupt!”、“This is the 2ndTPCAInterrupt!”
2、、“This is the 10thTPCAInterrupt!”、,中断n次后程序退出,并在屏幕上显示“TheTPCAInterruptend!”二、实验原理与硬件连线2.1 实验原理1.8259A的内部结构:2.8259A的工作方式:8259A是一种可编程中断控制器,可协助CPU进行中断管理。单片8259A工作时,每次中断处理过程如下: 当 IR7 IR0 上有中断请求,则 IRR 相应的位置1。 对于已进入IRR且未被IMR屏蔽的中断请求,PR电路进行优先级判定,得到最高级的中断请求。 控制逻辑接收中断请求,向CPU发 INT 信号。 若CPU允许中断,则在当前指令结束后连续发出2个中断
3、应答信号INTA,进行中断响应。每个信号持续2个时钟周期。 CPU发第一个 INTA 时,输出总线锁定信号 LOCK,防止其它处理器或DMA控制器占用总线。8259A收到第一个负脉冲后,将优先级最高的中断ISR相应位置1,同时使IRR相应位清0。 CPU发第二个 INTA 时,撤销总线锁存信号 LOCK,地址允许信号 ALE 无效,允许数据线工作。8259A收到第二个负脉冲后,将相应中断的类型号送到数据线上。CPU读取中断类型号,查找中断向量表得到中断向量,转而进入中断服务程序。 若系统为自动结束中断方式 (AEOI),则8259A会在第2个脉冲结束时,自动将 ISR的相应位复位;若为非自动结
4、束中断方式 (EOI),则 ISR相应位的“1”一直保持,直到CPU发EOI (中断结束) 命令时才将其复位。3.8259A的操作命令字的使用:实验中要对IRQ3进行中断屏蔽和开放:AND AL,B=0F7H ;允许中断IRQ3OR AL,B=O8H ;关闭中断IRQ3 实验中:MOV AL,20H OUT 20H,AL ;中断结束命令 前面的20H是OCW2命令字,后面的20H是端口地址4.8259A在PC中的运用: PC用户使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。IBMPC、PC/XT机
5、内有一片8259中断控制器对外可以提供8个中断源。中断源中断类型号中断功能IRQ108H时钟IRQ209H键盘IRQ30AH保留IRQ40BH串行口2IRQ50CH串行口1IRQ60DH硬盘IRQ70EH软盘IRQ80FH并行打印机8个中断源的中断请求信号线IRQ0IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级联,对外可以提供16个中断源。中断源中断类型号中断功能IRQ8070H实时时钟IRQ9071H用户中断IRQ10072H保留IRQ11073H保留
6、IRQ12074H保留IRQ13075H协处理器IRQ14076H硬盘IRQ15077H保留TPC-USB实验板上,将中断源固定接到3号中断IRQ3上,即进行中断类型号为0BH。2.2 硬件连线把TPC-USB平台与PC相连。在TPC-USB平台上,单脉冲接口与IRQ接口相连。电路连接图如图1所示:图1.TPC-USB平台中断实验电路连接图实验连线实拍图:三、设计思路、步骤和程序流程图3.1 设计思路经过andal,0f7h允许中断(IRQ3),在sti开中断以后接收到一个单脉冲即产生中断,调用中断子程序执行,通过movdx,offsetmessmovah,09hint21h显示中断信息,达到
7、在屏幕上依次显示“This is the 1st TPCAInterrupt!”、“This is the 2ndTPCAInterrupt!”、“This is the 10thTPCAInterrupt!”、的目的,由于刚开始初始化了Bh等于N,而且每执行一次中断会通过loopnext语句来将计数器减1,直到减为0以后就不再执行中断,程序退出。因本次实验必须通过外部中断来实现N次中断,并把每次中断信息输出在屏幕上。而PC用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。所以实验要用到8259A芯片,了解了8259A中断控制器的工作原理和PC中断的原理和过程后,画出中断主程序流程
8、图,再画出中断服务程序的流程图,根据流程图写出相应汇编程序,连接好实验电路,运行程序。本次实验的难点:(1) 如何输出两位数:可以通过除以10,分别存储商(十位)、余数(个位),再组合输出来达到输出两位数的目的;(2) 中断次数后的字母输出:通过跳转,进行组合输出,这要求程序逻辑清晰,要不然容易出错;3.2 实验步骤(1)连接实验电路,实验电路如图1所示;(2)画出流程图,根据流程图编写程序,程序编译成功后,与硬件相连,程序流程图如图2、图3所示;(3)运行程序,按单脉冲开关N次,观察屏幕显示的结果。3.3 程序流程图图2 主程序流程图图3 中断服务程序流程图四、程序清单与执行结果4.1 程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 8255 中断 实验 报告 14

限制150内