微机接口原理第七章中断技术_第1页
微机接口原理第七章中断技术_第2页
微机接口原理第七章中断技术_第3页
微机接口原理第七章中断技术_第4页
微机接口原理第七章中断技术_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于微机接口原理第七章中断技术输入/输出数据的传输控制方式

程序方式中断方式DMA方式特点:上级反复访问特点:下级请示执行特点:架空CPU(三种接口设计模式)第2页,共38页,2024年2月25日,星期天3INT0INT1INT4INT3INT2断点中断溢出中断复习:第二章中断概念部分CPU硬件中断信号脚:第17脚非屏蔽中断请求第18脚可屏蔽中断请求第24脚可屏蔽中断响应弄清几个概念:

1.中断分类概念

2.中断向量表概念

3.中断服务子程序的执行机制概念第3页,共38页,2024年2月25日,星期天48086/8088的中断系统注:INT0~INT4为系统专用中断号第4页,共38页,2024年2月25日,星期天5复习:中断管理表windows有API库dos返回28第5页,共38页,2024年2月25日,星期天6三、计算机中断响应过程第一步:获得中断类型号;第二步:保护断点并关中断;第三步:从中断向量表中提取中断向量,转入中断服务程序。

关于中断类型号的获得,有三种情况:

1、对专用中断(中断号0~4),中断类型号由CPU自动生成;

2、对软件中断INTN

,中断类型号N从指令获得;

3、对外部可屏蔽中断,CPU获得中断类型号的过程比较复杂。见下页第6页,共38页,2024年2月25日,星期天7

可屏蔽中断接口必用——可编程中断控制芯片8259A连接CPU的中断请求线可扩展8个外部中断源

连接CPU的中断响应线注:其他管脚要解决:可编程的初始化问题中断源的再扩展问题D0~D7返回25第7页,共38页,2024年2月25日,星期天8CPU中断接口D0~D7中断请求INTR中断相应INTA第一个总线周期CPU送中断响应信号INTA第二个总线周期中断接口送中断类型号●●8259AIR0IR7第8页,共38页,2024年2月25日,星期天9四、各类中断的优先级注注:优先级可以通过硬件设计实现也可以通过软件设计实现第9页,共38页,2024年2月25日,星期天10第三节可编程中断控制器Intel8259A

8259A应具备下列四项功能:

1、中断请求端的扩展功能

2、中断优先级的管理功能

3、中断类型码的预置和自动上传功能

4、可编程功能:通过程序获得不同的工作模式[叫“可编程器件”]

第10页,共38页,2024年2月25日,星期天11可编程中断控制器8259A内部结构

返回到17页8259A芯片引脚返回到31返回到22

返回25记录当前正执行的中断号IRi第11页,共38页,2024年2月25日,星期天128259A的读写操作I/O端口地址

单板机8259A初始化命令字:ICW1、

ICW2、

ICW3、

ICW4

8259A操作命令字:OCW1、OCW2、OCW3难点:两个地址(一个偶地址和一个奇地址),但要写进这么多命令字!借助了可编程芯片的内部逻辑管理。第12页,共38页,2024年2月25日,星期天131.初始化命令字ICW1例:若8259A的端口地址为20H、21H,采用电平触发,单片使用,需要ICW4,请初始化命令字ICW1解:根据题意,ICW1=1BH,初始化程序如下:

MOV

AL,1BH

OUT

20H,AL借助于标志位,一个地址就可存两个命令字!决定是否有ICW3返28返18第13页,共38页,2024年2月25日,星期天142.初始化命令字ICW2(预存中断号)例:已知原计算机系统中断向量表60H以后为空,请设置命令字ICW2并装入,8259A地址为20H,21H解:ICW2的低三位000~111由8259A自动分配给外设中断请求端IR0~IR7,所以高5位应定位01100比较合理。

初始化程序如下:MOV

AL,01100000BOUT

21H,AL;8259A地址为20H,21H

;问:MOV,AL,01100111B行吗?返28D0~D7第14页,共38页,2024年2月25日,星期天153.初始化命令字ICW3ICW3称为主片/从片标志命令字,必须写到8259A的奇地址端口(即A0=1)中。仅在8259A级联(ICW1中D1=0)时使用,且CPU送给主8259A和从8259A的ICW3格式是不相同的。例:一片8259A级联8片从片,需要写9次ICW3,

如何写?第15页,共38页,2024年2月25日,星期天注:1主片2从片的连接电路图

SP/EN为主/从控制线(SP)

CAS0、CAS1、CAS2为级联线

第16页,共38页,2024年2月25日,星期天174.初始化命令字ICW4ICW4叫做方式控制初始化命令字,必须写到8259A奇地址端口(A0=1)。ICW4仅在ICW1中的D0=l时才有必要设置,否则就省略不用。说明:D4位特殊指级联时主片用“特殊”,其它都用“非特殊”。D3D2位,说明与系统总线是否用缓冲器(大系统的总线驱动)相连。D1位一般取0.为了实现有优先级要求的中断嵌套,8259A中有一个现行服务寄存器ISR,自动EOI方式,即一进入中断,8259A即将ISR的中断服务位ISRi请零,可能造成发生嵌套的优先级混乱。除非保证不发生嵌套时才用自动EOI方式。返28

第17页,共38页,2024年2月25日,星期天18例:假设8259A地址为20H21H,与总线之间有缓冲器连接,非自动结束方式,只用一片8259A,普通完全嵌套,用8088。请初始化ICW4解:MOVAL,00001101BOUT21H,AL第18页,共38页,2024年2月25日,星期天194个命令字的初始化顺序A0=0A0=1A0=1A0=1ICW1导向ICW1导向第19页,共38页,2024年2月25日,星期天20例:

现有8086微机系统,其中断控制单元由单片8259A构成。8259A的触发方式是边沿触发,中断类型号为08H~0FH,非自动结束方式,全嵌套方式,非缓冲方式。8259A的地址为0DAH和0DBH。试编写该片8259A的初始化程序。解:第20页,共38页,2024年2月25日,星期天21操作命令字:OCW1,OCW2,OCW3

1、中断屏蔽命令字OCW1例:开放中断IR0IR1IR2IR3

其它中断请求端均屏蔽。假定8259A的片地址为:

20H21H

请初始化OCW1

解:MOVAL,0F0HOUT21H,AL返28

第21页,共38页,2024年2月25日,星期天222.中断模式设置命令字

OCW2说明:一般使用ICW4的非自动EOI方式,用OCW2的普通EOI方式结束中断服务子程序。注意:ICW4用在主程序的初始化中,而OCW2用在中断服务子程序中使用。在子程序结束处用!

R=0为固定优先级;IR0最高R=1为轮换优先级。例:中断服务子程序片断:

..MOVAL,20H;用普通EOI方式(不用设Li),OUT20H,AL;送入偶地址20H

,ISR的相应位清零

IRET;CPU平台上的中断返回,恢复上层程序断口。返回30页注:外中断结束前需要两个关键指令:OUT20H,AL;接口片处理

IRET;计算机系统处理记录着正在执行的中断号第22页,共38页,2024年2月25日,星期天23返回20第23页,共38页,2024年2月25日,星期天243、OCW3

例:编一段了解ISR状态的程序片断,假定8259A的地址为20H21H.

MOVAL,00001111B;普通屏蔽方式OUT20H,AL;写OCW3NOP;此指令可有可无INAL,20H;读ISR(注意端口A0=0)返回30页第24页,共38页,2024年2月25日,星期天4个命令字3个操作命令字的使用总结5.4第25页,共38页,2024年2月25日,星期天26例:某一中断系统,有一片主片和两片从片8259A,主片的要求为:特定全嵌套方式、边沿触发、非自动EOI方式、非缓冲方式、中断类型为40H;从片的要求为:全嵌套方式、边沿触发、非自动EOI方式、非缓冲方式、中断类型为60H和80H;地址:主片为FFD0H,FFD2H;从片分别为FFD4H,FFD6H和FFD8H,FFDAH。试编写各8259A的初始化程序。级联管脚第26页,共38页,2024年2月25日,星期天ICW1ICW2ICW3ICW4第27页,共38页,2024年2月25日,星期天28主片:ICW1:00010001B=11HICW2:40HICW3:01001000B=48HICW4:00010001B=11H从片A:ICW1:00010001B=11HICW2:60HICW3:00000011B=03HICW4:00000001B=01H从片B:ICW1:00010001B=11HICW2:80HICW3:00000110B=06HICW4:00000001B=01H三片8259A的控制字分别是:第28页,共38页,2024年2月25日,星期天29CLI;初始化时要关中断MOV DX,0FFD0HMOVAL,11HOUT DX,ALINC DXINC DXMOV AL,40HOUT DX,ALMOV AL,48HOUT DX,ALMOV AL,11HOUT DX,AL主片8259A的初始化程序:CLIMOV DX,0FFD4HMOVAL,11HOUT DX,ALINC DXINC DXMOV AL,60HOUT DX,ALMOV AL,3HOUT DX,ALMOV AL,01HOUT DX,AL从片A的初始化程序:CLIMOV DX,0FFD8HMOV AL,11HOUT DX,ALINC DXINC DXMOV AL,80HOUT DX,ALMOV AL,6HOUT DX,ALMOV AL,01HOUT DX,AL从片B的初始化程序:第29页,共38页,2024年2月25日,星期天作业:某一中断系统,有一片主片和两片从片8259A,主片的要求为:特定全嵌套方式、电平触发、非自动EOI方式、缓冲方式、中断类型为48H;从片的要求为:全嵌套方式、边沿触发、非自动EOI方式、缓冲方式、中断类型为60H和80H;地址:主片为0D0H,0D2H;从片分别为0D4H,0D6H和0D8H,0DAH。试编写各8259A的初始化程序。第30页,共38页,2024年2月25日,星期天31例:电脑IBM—PC/XT上使用的8259A介绍电脑IBM—PC/XT的主机板上有一个以8259A为中心组成的外部中断控制逻辑。下表为外部中断源的分配表。电脑在上电初始化期间,BIOS中有三段与8259A有关的程序,见下页

返回46页第31页,共38页,2024年2月25日,星期天328259A初始化MOVAX,13H ;ICW1:边沿触发、单片8259A、要送ICW4OUT20H,AL ;8259A接口的偶地址为20HMOVAL,8 ;ICW2:装中断类型码,从08H开始0UT21H,AL ;8259A接口的奇地址为21HMOVAL,9 ;装ICW4:缓冲方式,8086/8088CPUOUT21H,ALMOVAL,0FFH;装0CWl:屏蔽全部中断OUT21H,AL第32页,共38页,2024年2月25日,星期天33例:编写中断处理程序,要求主程序运行时,每10秒响铃一次,同时屏幕上显示信息“Thebellisring!”。(小自动化程序)解:此问题的解决用VB或VC的控件很容易,但通过底层汇编语言更能看出解决问题的实质。两不同:前者是利用了系统,后者是修改了系统!

分析:1、每10秒响铃一次可用电脑中的定时器中断实现,其中断号为08H。

2、响铃用并行接口8255所控制的电脑扬声器实现。

3、显示信息“Thebellisring!”用软件中断调用INT21H实现。定时中断使用分析:电脑中定时时间为:1/18.2秒(约55ms),即每隔55ms便进入08H号中断服务程序中(执行完立马返回),此程序的主要任务是:实时修改“秒”“分”“时”“天”等参数,在中断返回之前,有一个软件调用指令:INT1CH;在系统BIOS中,1CH的处理程序只有一条IRET指令,仅为用户提供一个中断类型号。所以可以利用中断类型1CH设计一些动态功能。在本例中,因为题目要求每10秒处理一次,而8号中断执行182次才够10秒,即每中断182次响铃一次,同时屏幕上显示信息“Thebellisring!”设计任务:利用系统BIOS提供的中断号1CH,编写一个完成任务的中断服务程序即可。(既编写一段程序,程序的入口地址放入由1CH所指定的中断表里)

在编写程序时,除了功能实现外,还必须做两个方面的工作:1、在主程序初始化部分,先保存当前中断向量表里由1CH所指定中断向量,再置新的中断向量;2、在主程序结束部分恢复原保存的1CH中断向量。第33页,共38页,2024年2月25日,星期天34主程序1.设置定时中断次数:1822.获得原1CH中断号处的中断向量并保存之。中断服务子程序1.保护现场.2.判断定时中断的次数是否够

182次.不够则中断返回;若够则完成下列任务:(1)响铃(2)显示:Thebellisring

恢复现场中断返回在1CH中断号处创建新的中断向量。设置8259A的中断屏蔽字。在1CH中断号处恢复原中断向量。主程序结束。程序设计框图每隔55ms执行1次延时第34页,共38页,2024年2月25日,星期天35DATASEGMENT ;数据段COUNT DW 182 ;定时次数MESS DB ‘Thebellisring!’,0AH,0DH,‘$’;显示内容DATAENDSSTACKSEGMENT;堆栈段DB100DUP(?)STACKENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOVDS,AXMOV AX,STACKMOV SS,AX;各段地址初始化完毕MOV AL,1CH ;得到原中断向量

MOV AH,35HINT 21HPUSH ES ;存储原中断向量PUSH BX第35页,共38页,2024年2月25日,星期天36MOV DX,OFFSETRING;RING的偏移地址和段地址,取出新中断向量MOV AX,SEGRINGMOV DS,AXMOV AL,1CH ;创建新中断向量MOV AH,25HINT 21HIN AL,21H ;在奇地址中取出8259A的中断屏蔽字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论