




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、7.1 可编程中断控制器8259 8259是一个可编程中断控制器。一片8259能控制8级向量中断,通过级联方式(用9片8259),最多可构成64级向量中断系统。可对各级INTR请求进行优先权管理,8259具有完全嵌套,循环优先级,特定屏蔽等多种优先权管理方式。对每一级中断请求进行均可依需要给予屏蔽或开放。当CPU响应INTR中断请求后,8259可提供相应的中断类型码,从而使CPU迅速转入中断服务程序入口。8259设计有多种工作方式,可通过编程选择。7.1.1 8259的内部结构和引脚D7D0INTAINT中断请求寄存器中断屏蔽寄存器数据总线缓冲器IR0IR7读/写控制逻辑级联缓冲器比较器RDW
2、RA0CSCAS0CAS1CAS2SP/EN优先权判别电路中断服务寄存器控制逻辑 初始化命令寄存器组和 操作命令寄存器组1 与处理器接口 CPU数据总线缓冲器读/写控制逻辑内部控制逻辑DB8位CSWRRDA0所有与CPU交换信息通过它进出CPU CPU通过它实现 8259 的读/写操作控制以及对 8259进行初始化操作 对8259芯片内部实现控制操作,使8259按初始化编程操作来工作同一端口地址对应的寄存器的区别方法利用读写信号区别写入的控制寄存器和读出的状态寄存器 由信息字节中的标志位说明是哪个寄存器由芯片内顺序控制逻辑按一定顺序识别不同的寄存器 A0 RD WR CS功能 0 1 0 0
3、1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1写入ICW1、OCW2和OCW3写入ICW2ICW4和OCW1读出IRR、ISR和查询字读出IMR数据总线高阻状态数据总线高阻状态2 中断控制中断请求寄存器IRR保存8条外界中断请求信号IR0IR7的请求状态Di位为1表示IRi引脚有中断请求;为0表示无请求中断服务寄存器ISR保存正在被8259服务着的中断状态(用于记录已被获准的中断请求,即将与IR对应的IS位置位)Di位为1表示IRi中断正在服务中;为0表示没有被服务注意:ISR除存放正在被服务的中断源外,还包括尚未服务完而中途被别的中断源暂时中止的中断 中断屏蔽寄存器IMR保存
4、对中断请求信号IR的屏蔽状态中断屏蔽寄存器IMR的每一位可对IRR中相应的中断源进行屏蔽,如果禁止某IR提出中断请求,就将其中在IMR中的相应位量“1”。优先权分析器PR对保存在IRR的各个中断请求经过判断,确定其中一个为最高优先权,然后在中断响应周期时间将它选通到中断服务寄存器中。3 中断级连一个系统中,8259可以级连,有一个主8259,若干个(最多8个)从8259级连时,主8259的三条级连线CAS0CAS2作为输出线,连至每个从8259的CAS0CAS2每个从8259的中断请求信号INT,连至主8259的一个中断请求输入端IR主8259的INT线连至CPU的中断请求输入端SP/EN在非
5、缓冲方式下,规定该8259是主片(SP1)还是从片(SP0)7.1.2 8259的中断工作过程(1)有中断请求时,IRR中相应位置1(2)若有至少中断请求是允许的,则8259由INT引脚向CPU发中断请求(3)若CPU处于开中断,则在当前指令执行完后,通过引脚INTA响应(4)8259在收到INTA信号后,使ISR中相应位置1,并且将IRR中的相应位清0(5)CPU发出第二个INTA信号时,8259送出一个8位的中断向量号,CPU据此将找到中断服务子程序并转去执行。(6)8259如工作在AEOI模式,则在接收到第二个INTA信号时,将ISR中的相应位置0,否则直至中断服务子程序结束时,发出EO
6、I命令将ISR中的相应位清0。8259A的中断过程动画示意返回7.1.3 8259的工作方式普通全嵌套方式特殊全嵌套方式自动循环方式特殊循环方式优先权固定方式优先权循环方式设置优先权方式普通中断结束方式特殊中断结束方式自动中断结束方式非自动中断结束方式结束中断处理方式屏蔽中断源方式普通屏蔽方式特殊屏蔽方式中断触发方式边沿触发方式电平触发方式数据线连接方式缓冲方式非缓冲方式1设置优先权方式普通全嵌套方式8259的中断优先权顺序固定不变,从高到低依次为IR0、IR1、IR2、IR7中断请求后,8259对当前请求中断中优先权最高的中断IRi予以响应,将其向量号送上数据总线,对应ISR的Di位置位,至
7、到中断结束(ISR的Di位复位)在ISR的Di位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套特殊全嵌套方式优先权自动循环方式优先权特殊循环方式普通全嵌套方式流程返回优先权自动循环方式在这种方式下,任何一级中断请求被处理完后, 重新赋给它最低优先级,而将最高优先级赋给比它低一级的中断请求,其它中断请求的优先级则以循环方式类推。优先权特殊循环方式用户根据要求用置优先级命令指定最低优先级,例如设置IRi为最低优先级,则最高优先级为IRi+1,其它各级按循环方式类推。2 结束中断处理方式8259利用中断服务寄存器ISR判断:某位为1,表示正在进行中断服务;该位为0,就是该中断
8、结束服务。中断请求处理结束时,需将ISR中相应位清零。自动中断结束方式自动EOI方式,在第二个INTA#结束时自动将ISR中相应位清零,只需将初始化命令字ICW4中的AEOI置为1即可实现这种方式普通中断结束方式配合全嵌套优先权方式使用当CPU用输出指令往8259发出普通中断结束EOI命令时,8259就会把所有正在服务的中断中优先权最高的ISR位复位特殊中断结束方式配合循环优先权方式使用CPU在程序中向8259发送一条特殊中断结束命令,这个命令中指出了要清除哪个ISR位3 屏蔽中断源方式普通屏蔽方式将IMR的Di位置1,则对应的中断IRi被屏蔽,该中断请求不能从8259A送到CPU如果IMR的
9、Di位置0,则允许IRi中断产生特殊屏蔽方式一般情况处理一个中断时,禁止同级或低级中断进入,但有些场合,在处理某个中断时,仅希望对本级屏蔽,可以响应高级或低级中断,此时采用这种方式。4 中断触发方式边沿触发方式8259将中断请求输入端出现的上升沿作为中断请求信号电平触发方式中断请求端出现的高电平是有效的中断请求信号5 数据线连接方式缓冲方式8259的数据线需加缓冲器予以驱动8259把SP/EN引脚作为输出端,输出允许信号,用以锁存或开启缓冲器非缓冲方式SP/EN引脚为输入端若8259级连,由其确定是主片或从片7.1.4 8259A的编程初始化编程8259开始工作前,必须进行初始化编程给8259
10、写入初始化命令字ICW中断操作编程在8259工作期间可以写入操作命令字OCW将选定的操作传送给8259,使之按新的要求工作还可以读取8259的信息,了解工作状态1 初始化命令字ICW流程D7D6D5D4D3D2D1D0初始化命令字ICW最多有4个8259在开始工作前必须写入必须按照ICW1ICW4顺序写入ICW1和ICW2是必须写的ICW3和ICW4由工作方式决定Initialization Command Word表示可以任意为1为0都可以(建议为0) 1只能为1,作为标志区别于OCW2,OCW3,它们也是A0=0。用D4=0为标志ICW1(芯片控制 A0=0)1LTIMSNGLIC4D7D
11、6D5D4D3D2D1D0中断触发方式:LTIM1,电平触发方式LTIM0,边沿触发方式 规定单片或级连方式:SNGL1,单片方式SNGL0,级连方式是否写入ICW4IC41,要写入ICW4IC40,不写入ICW4ICW2(设置中断类型码 A0=1)T7T6T5T4T3D7D6D5D4D3D2D1D0设置中断向量号T7T3为中断向量号的高5位低3位由8259自动确定:IR0为000、IR1为001、IR7为111ICW3(A0=1)S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0级连命令字主片8259:Si1对应IRi接有从片;否则IRi没有连接从片从片
12、8259:ID0ID2编码说明从片INT引脚接到主片哪个IR引脚CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/EN CAS0INTA CAS1 CAS2INT IR0 IR1SP/EN IR7CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/ENINTAINTR+5V8259级联工作示意图返回ICW4(方式控制 A0=1)000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:特殊全嵌套方式(SFNM1)普通全嵌套方式(SFNM0)数据线的缓冲方式:缓
13、冲方式(BUF1)非缓冲方式(BUF0) 主片/从片选择:主片(M/S=1)从片(M/S=0)中断结束方式:自动中断结束(AEOI1)非自动中断结束(AEOI0)微处理器类型:16位80 x86(PM1)8位8080/8085(PM0)初始化流程 2 操作命令字OCWD7D6D5D4D3D2D1D08259A工作期间,可以随时接受操作命令字OCWOCW共有3个:OCW1OCW3写入时没有顺序要求,需要哪个OCW就写入那个OCWOperation Command WordOCW1(中断屏蔽 A0=1)M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字内容写入中断屏蔽寄存器
14、IMRDiMi对应IRi,为1禁止IRi中断;为0允许IRi中断。各位互相独立。OCW2(优先级循环和中断结束A0=0)RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和EOI配合使用产生中断结束EOI命令和改变优先权顺序L2L0的3位编码指定IR引脚 OCW3(A0=0)0ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM设置中断屏蔽方式P、RR和RIS规定随后读取的状态字含义3 读取状态字CPU可读出IRR、ISR、IMR和查询字A0为低,由OCW3中RR和RIS位设定读取IRR或ISR,由OCW3中P位设定读取查询字而A0引脚为高电平时读取
15、的都是IMR查询字反映8259是否有中断请求8087中断请求RAM奇偶错I/O通道检查错 NMI屏蔽寄存器屏蔽位8253定时器键盘未用异步通信卡(辅)异步通信卡(主)硬盘软盘并行打印机NMIINTR01234567优先级8088CPU8259I/O通道8259在IBM PC系列机上的应用例 (P53):某火灾报警系统的部分接口电路如图所示。该系统 具有温度和烟雾浓度超限报警和自动灭火功能。当温度或烟雾浓度超限时,进行光报警;两者同时超限时,进行光、声报警,并开启电磁阀,进行喷淋灭火。按键A为手动报警按钮,按键B为解除报警按钮。半导体温度传感器的温度测量范围为0127,对应输出电压为0V5V。A
16、DC0809输入电压范围为0V5V。开关式集成烟雾传感器报警时输出高电平,正常工作时输出低电平。8253的通道0、通道1、通道2均工作于方式3(方波发生器),按BCD码计数。扬声器的报警声音频率为2kHz。8253、8255的方式控制字及8255的置位/复位控制字格式如图所示。 GATE0A0 CLK0A1 OUT0RD CLK1WR 8253 GATE1CS GATE2 OUT1D7D0 CLK2 OUT2IOWIOR A1 A0 PA7PA0D7D0 PB0 PB1CS PB2WR PC0RDA1 PC4A0 8255 PC1 PC5 PC6 PC7D7D0 IN0ADDAADDB ADD
17、CEOC IN7 OESTARTALE ADC 0809+5V烟雾传感器驱动电磁阀喷淋头温度传感器D7D08259CSA0驱动扬声器驱动1MHzD7D0D7D0发光二极管40H43H80H83HD7D020H21HA0+5V+5V按键B解除警报按键A手动报警IR7IR1IR08255的方式控制字格式如下:8255 端口C按位置0/置1控制字作用:指定PC口的某一位(某一个引脚)输出高平或低电平。注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口0D6D5D4D3D2D1D0特征位 不 用(写0)位 选 择000=C口0位001=C口1位111=C口7位1=置位(高电
18、平)0=复位(低电平)8253的方式控制字(A1A011)计数器读写格式工作方式BCDD7D6D5D4D3D2D1D000 计数器001 计数器110 计数器211 非法00 计数器锁存命令 01 只读写低字节10 只读写高字节11 先读写低字节 后读写高字节000 方式0001 方式1X10 方式2X11 方式3100 方式4101 方式50 二进制1 BCD码示例部分初始化、主程序及中断服务子程序如下:CODESEGMENTASSUME DS:DATA,CS:CODESTART: ;8259初始化MOV AL,13H ;初始化8259 ICW1OUT 20H,ALMOV AL, ;送中断类
19、型码基值OUT 21H,ALMOV AL,0DHOUT 21H,AL;8255初始化MOV AL, ;置8255工作方式OUT 83H,ALMOV AL,00H ;C口初始化OUT 82H,AL91H 08H;8253初始化MOV AL,37H ;置8253通道0方式控制字OUT 43H,ALMOV AL,00H ;置8253通道0计数初值OUT 40H,ALMOV AL,10HOUT 40H,ALMOV AL, ;置8253通道1方式控制字OUT 43H,ALMOV AL,00H ;置8253通道1计数初值OUT 41H,ALMOV AL,10HOUT 41H,ALMOV AL, 0B7H;
20、 置8253通道2方式控制字OUT 43H,AL 77H或7FH MOV AL, ;置8253通道2计数初值OUT 42H,ALMOV AL, ;OUT 42H,AL;中断设置MOV AH,25H;设置中断向量MOV AL,08H ;中断类型号为入口参数MOV BX, ;DS:DX指向4字节地址MOV DS,BXMOV DX, ;INT 21HMOV AH,25HMOV AL, ;MOV BX,SEG KEYAINTMOV DS,BX 00H 05H SEG KEYBINT OFFSET KEYBINT 09H MOV DX,OFFSET KEYAINTINT 21HSTI;数据采集MOV A
21、L,00H ;选ADC0809模拟量输入通道号OUT 81H,ALLOP:MOV AL, ;置PC4=1,锁存模拟量通道选择号OUT 83H,ALNOPMOV AL,08H ;置PC4=0,启动A/D转换OUT 83H,ALLOP1:IN AL,82H ;读8255C口,查询EOCTEST AL,01HJZ LOP1IN AL,80H ;读A/D转换结果CMP AL,0A0H ;判断是否高于上限 09HJA ABOVEIN AL,82H ;判断烟雾传感器是否报警TEST AL,02HJNZ BJMOV AL,0EHOUT 83H,ALJMP LOPABOVE:IN AL,82HTEST AL,
22、02HJZ BJMOV AL,0F0H ;启动报警及灭火功能OUT 82H,ALJMP LOPBJ:MOV AL,0FH ;光报警OUT 83H,ALJMP LOP;中断服务KEYAINT PROC FAR ;按键A中断服务子程序PUSH AXMOV AL,0F0HOUT 82H,ALMOV AL,20H ;给8259发中断结束命令OUT 20H,ALPOP AXIRETKEYAINT ENDP;中断服务KEYBINT PROC FAR ;按键B中断服务子程序PUSH AXMOV AL, ;OUT 82H,ALMOV AL,20H OUT 20H,ALPOP AXIRETKEYBINT END
23、PCODEENDSEND START 0XH或1XH请回答下列问题:1、程序空白处填空。2、超限报警温度是 。3、报警时,发光二极管显示器的闪烁频率是 Hz4、仅温度超限时,报警灯闪烁报警,若此时报警条件解除,报警灯将(继续、停止) 报警。5、火灾发生后,光、声报警,灭火系统启动,若此时报警条件解除,扬声器将(继续、停止) 报警。6、火灾发生后,光、声报警,灭火系统启动,若报警条件未解除,按解除报警键B,灭火系统将(继续、停止) 工作。 7、报警条件不成立,此时按手动报警键A,灭火系统将(一直、工作一下马上停止) 工作。 801停止继续继续一直例(P10):某实验室模拟行人过街交通信号灯控制系
24、统的 部分接口电路如图所示。平时,8段LED显示器不显示,而发光二极管红灯(LED1)亮,绿灯(LED2)灭。若有行人要过街,按下按键A或B后,8段LED显示器立即显示60s倒计时并保持红灯亮,绿灯灭。一旦倒计时时间到,则变为红灯灭,绿灯亮, 8段LED显示器此时显示30s倒计时让行人通过,该倒计时时间到,则系统恢复到平时状态。图中驱动器均为同相驱动器。8253的通道0、通道1、通道2均工作于方式2(分频器),按BCD码计数。利用它的通道1输出OUT1经反相器接8259的IR7,产生1s定时中断。按键A和按键B信号经或门接8259的IR2,产生中断请求。8255的PC4经驱动后接按键A和按键B
25、的一端,来控制是否允许按键产生中断请求,8255的PC5接8253的GATE0和GATE1,以控制通道0和通道1的计数。8253和8255的方式控制字见图。 GATE0A0 GATE1A1 RDWR 8253 CLK0 CS OUT0D7D0 CLK1 OUT1IOWIOR A1 A0 PA7PA0D7D0CS PB7PB0WR RDA1 8255A0 PC4PC0 PC5dpa十位D7D08259CSA01MHzD7D0D7D0绿灯40H43H80H83HD7D020H21HA0按键B按键AIR7IR2驱动器1驱动器2驱动器3dpa个位红灯+PC1PC0PC4PC2PC3af b de c
26、g dp八段LED显示器8255的方式控制字格式如下:8255 端口C按位置0/置1控制字作用:指定PC口的某一位(某一个引脚)输出高平或低电平。注意:C口控制字虽然是对端口C操作,但应写入到控制口地址,而不是写入到C数据口0D6D5D4D3D2D1D0特征位 不 用(写0)位 选 择000=C口0位001=C口1位111=C口7位1=置位(高电平)0=复位(低电平)8253的方式控制字(A1A011)计数器读写格式工作方式BCDD7D6D5D4D3D2D1D000 计数器001 计数器110 计数器211 非法00 计数器锁存命令 01 只读写低字节10 只读写高字节11 先读写低字节 后读
27、写高字节000 方式0001 方式1X10 方式2X11 方式3100 方式4101 方式50 二进制1 BCD码示例P11 初始化程序及主程序为START,按键中断服务子程序为KEYINT,定时中断服务子程序为TIMEINT,程序如下:DATE SEGMENTTABDB 3FH,06H,5BH, ,6FH;09的段码DATAENDSCODESEGMENTASSUME DS:DATA,CS:CODESTART: MOV AL,13H ;初始化8259 ICW1OUT 20H,ALMOV AL,08H ;送中断类型码基值OUT 21H,ALMOV AL,0DH ;一般中断结束方式OUT 21H,
28、AL MOV AL, ;置8255工作方式OUT 83H,ALXOR AL,AL ;A口、B口、C口初始化OUT 80H,ALOUT 81H,ALOUT 82H,ALMOV AL, 35H ;置8253通道0方式控制字OUT ,ALMOV AL,00H ;置8253通道0计数初值OUT 40H,AL MOV AL,10H OUT 40H,ALMOV AL,75H;置8253通道1方式控制字OUT 43H,AL 43H80H MOV AL, ;置8253通道1计数初值OUT 41H,ALMOV AL, ;OUT 41H,AL MOV AH,25H;设置中断向量MOV AL,0AH ;中断类型号为入口参数MOV BX; ;DS:DX指向4字节地址MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第2课《梅岭三章》说课稿 2023-2024学年统编版语文九年级下册
- 初一历史上册鲁教版第三单元第13课大一统的汉朝说课稿
- 活动一 一次性筷子使用情况调查教学设计-2025-2026学年小学综合实践活动四年级上册沪科黔科版
- 蓄电池的性能指标
- 蓄电池的使用与维护
- 2025年殡葬改革试题及答案解析
- 三年级下册心理健康教案-26《和拖延的坏朋友说再见》 北师大版
- 2025年2月消毒科专科模拟考试题(附答案)
- 蒸汽小火车水彩水墨画课件
- 2025年高考生物试题分类汇编生物的变异与进化(原卷版)
- 2025-2026学年人教版(2024)小学数学三年级上册(全册)教学设计(附目录P296)
- 医院检验科实验室生物安全管理手册
- 维生素D与女性生殖健康的预防
- 个人会员入会申请表
- 音乐节活动预算模版
- 《Photoshop图像处理》课件-第一讲 认识PS
- 新媒体运营全套PPT完整教学课件
- 出境竹木草制品自检自控计划书(2021年报海关)
- 压力容器材料
- 100个最具争议的涉税经典稽查案例深度解析1增值税退税
- 高等数学上册ppt课件完整版
评论
0/150
提交评论