8259实验报告

合集下载

西电 机电微机原理实验报告

西电 机电微机原理实验报告

微机原理实验报告姓名:学号:实验一8259中断实验一、实验目的1.掌握PC机中断处理系统的基本原理。

2.掌握外部扩展中断源的设计方法。

3.学会编写中断服务程序。

二、实验原理PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。

中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。

三、实验内容实验要求实现8259控制器的IR1、IR3两路中断都可以通过IRQ向PC机发起中断请求,用SP1、SP2单次脉冲模拟两个中断源。

IR1中断时,在它的中断服务程序中编程显示“IR1 OK AND EXIT!”;IR3中断时,在它的中断服务程序中编程显示“IR3 OK AND EXIT!”。

采用查询方式完成。

图1-1 扩展中断电路四、实验步骤1、连接线路SP1和SP2分别接到IR1和IR3,IR1和IR3与L0和L1指示灯相连,8259CS 接到Y0上,最后将/RD、/WR、INT分别与IOR、IOW、IRQ相连接,连接好后打开电源。

2、编写程序3、汇编、编译、连接及运行五、实验程序DATA SEGMENTIOPORT EQU 0FF00H-0280HMY8259_ICW1 EQU IOPORT +280H ;实验系统中8259的ICW1端口地址MY8259_ICW2 EQU IOPORT +281H ;实验系统中8259的ICW2端口地址MY8259_ICW3 EQU IOPORT +281H ;实验系统中8259的ICW3端口地址MY8259_ICW4 EQU IOPORT +281H ;实验系统中8259的ICW4端口地址MY8259_OCW1 EQU IOPORT +281H ;实验系统中8259的OCW1端口地址MY8259_OCW2 EQU IOPORT +280H ;实验系统中8259的OCW2端口地址MY8259_OCW3 EQU IOPORT +280H ;实验系统中8259的OCW3端口地址MSG1 DB 0DH,0AH,'DVCC PCI CARD INTERRUPT',0DH,0AH,'$'MSG2 DB 0DH,0AH,'PRESS ANY KEY TO EXIT!',0DH,0AH,'$'MSG3 DB 0DH,0AH,'IR1 OK AND EXIT!',0DH,0AH,'$'MSG4 DB 0DH,0AH,'IR3 OK AND EXIT!',0DH,0AH,'$'DATA ENDSSTACKS SEGMENTDB 100 DUP (?)STACKS ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKS,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACKSMOV SS,AXMOV AX,DATAMOV DS,AXMOV DX,OFFSET MSG1MOV AH,09HINT 21HMOV DX,OFFSET MSG2MOV AH,09HINT 21HSTART1: MOV DX,MY8259_ICW1 ;初始化实验系统中8259的ICW1 MOV AL,13H ;边沿触发、单片8259、需要ICW4OUT DX,ALMOV DX,MY8259_ICW2 ;初始化实验系统中8259的ICW2MOV AL,08HOUT DX,ALMOV DX,MY8259_ICW4 ;初始化实验系统中8259的ICW4MOV AL,01H ;非自动结束EOIOUT DX,ALMOV DX,MY8259_OCW1 ;初始化实验系统中8259的OCW1MOV AL,0F5H ;打开IR1和IR3的屏蔽位OUT DX,ALQUERY: MOV DX,MY8259_OCW3 ;向8259的OCW3发送查询命令MOV AL,0CHOUT DX,ALNOPNOPNOPMOV DX,MY8259_OCW3IN AL,DX ;读出查询字TEST AL,80H ;判断中断是否已响应JZ QUERY ;没有响应则继续查询AND AL,07HCMP AL,01HJE IR1ISR ;若为IR1请求,跳到IR1处理程序CMP AL,03HJE IR3ISR ;若为IR1请求,跳到IR1处理程序JMP EOIQUERY1: MOV DL,0FFHMOV AH,06HINT 21HJZ START1MOV AH,4CHINT 21HIR1ISR: MOV DX,OFFSET MSG3 ;IR1处理,显示字符串'IR1 OK AND EXIT'MOV AH,09HINT 21HJMP EOIIR3ISR: MOV DX,OFFSET MSG4 ;IR1处理,显示字符串'IR3 OK AND EXIT'MOV AH,09HINT 21HEOI: MOV DX,MY8259_OCW2 ;向实验系统中8259发送中断结束命令MOV AL,20HOUT DXMOV AL,20H ;SEND EOIOUT 0A0H,ALOUT 20H,ALPOP DSPOP DXPOP AXJMP START1CODE ENDSEND START六、实验结果接好电路,编好程序,打开电源后,两个LED指示L0和L1灯都熄灭;编译、链接、运行程序,8259控制器的IR1、IR3两路中断可通过IRQ向PC机发起中断请求,按下SP1,IR1中断,指示灯L0亮,电脑屏幕上显示“IR1 OK AND EXIT!”;按下SP2, IR3中断,指示灯L1亮,电脑屏幕上显示“IR3 OK AND EXIT!”七、实验中遇到的问题及解决方法最初认为要按照原理图把所有线都接上,后来知道了直接用排线连接就好,同时还能降低短路的可能性。

8259、8253实验报告

8259、8253实验报告

数字逻辑与CPU实验报告实验内容:8259中断控制器、8253可编程定时/计数器接口实验姓名:班级:学号:实验一8259中断控制器实验一、实验目的1、掌握8259的工作原理。

2、掌握编写中断服务程序的方法。

3、掌握初始化中断向量的方法。

二、实验内容用单脉冲发生器的输出脉冲为中断源,每按一次产生一次中断申请,点亮或熄灭发光二极管。

三、实验方法(1)连线1、单脉冲发生器输出P+与8259的IR0相连;2、8259的片选CS8259与CS0相连;3、8259的INT与8086的INT相连;4、CS273与CS1相连;5、00与LED1相连;其他线均已连好。

(2)在8086实验系统软件中编辑程序,编译链接后,调试程序,程序流程图如图2。

(3)调试通过后,在中断服务程序内设置断点,运行程序,当接收到中断请求后,程序停在中断服务程序内的断点处。

四、程序源代码CODE SEGMENT PUBLICASSUME CS:CODEORG 100H;设置堆栈起点0100HSTART: 图2 程序流程图 MOV DX,4A0HMOV AX,13H ;写ICW1,单片8259,要写ICW4OUT DX,AXMOV DX,4A2HMOV AX,80H ;写入ICW2,设定IR0中断类型吗为80HOUT DX,AXMOV AX,01 ;写入ICW4,设定一般嵌套,非自动EOI方式 OUT DX,AXMOV AX,0 ;写入OCW1,设定允许中断。

OUT DX,AXMOV AX,0MOV DS,AXMOV SI,200H ;中断向量预存放在0100:0200H(向量码80H) MOV AX,OFFSET HINT;取中断服务程序的入口地址MOV DS:[SI],AXADD SI 2MOV AX,CSMOV DS:[SI],AXSTI;开中断JMP $;原地跳转HINT:;中断服务程序XOR CX,0FFH;CX全部取反(8位)MOV DX,4B0H;CS273接口的地址,与8个LED灯相连MOV AX,CX;输出高低电平控制LED灯的亮灭OUT DX,AXMOV DX,4A0H ;OCW2的的地址MOV AX,20H;写入OCW2,一般EOI命令,全嵌套方式OUT DX,AXIRET;中断返回CODE ENDSEND START五、实验结果程序调试通过后,当我们按一次单脉冲发生器的输出开关,对应连好的灯就会亮。

8259中断实验报告

8259中断实验报告

8259中断实验报告8259中断实验实验报告实验报告实验名称8259A中断控制器实验姓名学号班级教师日期一、实验内容与要求1.1 实验内容了解8259A终端控制器的工作原理,了解PC中断的原理和过程,设计并编写程序,设置8259A的命令字,定义中断服务程序,使在TPC-USB平台上每按一次单脉冲开关产生一次中断,在屏幕上依次显示“The 1 TPCA Interrupt!”、“The 2 TPCA Interrupt!”、??、“The 10 TPCA Interrupt!”,中断10次后程序退出,并在屏幕上显示“The TPCA Interrupt end!”。

1.2 实验要求(1) 具有一定的汇编编程的基础,能编写一些基本语句来实现实验。

实验前根据实验流程图,写出对应代码;(2) 要了解8259A中断控制器的内部结构和外部引脚,理解芯片的工作原理和工作过程。

熟悉8259A芯片的命令字,对其进行编程;(3) 熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接好实验电路;(4) 连接PC与TPC-USB平台,用微机实验软件运行程序,每按一次TPC-USB平台上的单脉冲开关产生一次中断,要在屏幕上依次显示“The 1 TPCA Interrupt!”、“The 2 TPCA Interrupt!”、??、“The 10 TPCA Interrupt!”,中断10次后程序退出,并在屏幕上显示“The TPCA Interrupt end!”。

二、实验原理与硬件连线2.1 实验原理8259A是一种可编程中断控制器,可协助CPU进行中断管理。

8259A 的内部结构如图1所示。

单片8259A工作时,每次中断处理过程如下:(1) 当IR7 ~ IR0 上有中断请求,则IRR 相应的位置1;(2) 对于已进入IRR且未被IMR屏蔽的中断请求,PR电路进行优先级判定,得到最高级的中断请求;(3) 控制逻辑接收中断请求,向CPU发INT 信号;(4) 若CPU允许中断,则在当前指令结束后连续发出2个中断应答信号INTA,进行中断响应。

【实验】8259中断控制器实验报告

【实验】8259中断控制器实验报告

【关键字】实验8259中断控制器实验报告篇一:8259中断控制器实验报告8259中断控制器实验报告作者:一实验目的1,掌握8259A的工作原理。

2,掌握编写中断服务程序方法。

3,掌握初始化中断向量的方法。

二,实验设备CPU挂箱,8086CPU模块图1-cpu挂箱三,实验内容用电平开关的输出作为中断源,每个开关对应于一个中断源。

在中断服务程序中,通过74LS273输出一个数据,以点亮于中断源对应位置的LED灯。

四,实验原理1.本实验用到三部分电路:电平开关电路、简单I/O扩展电路和8259中断控制器电路;2.8086的中断系统是向量中断方式,内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量,不同的中断向量对应不同的偏移地址;3.中断类型由8359通过数据总线送给8086,8086内部电路会将该类型值自动乘4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中断服务程序;4.中断类型的高5位由8359寄存器ICW2决定,低3位由中断源IRx的编码自动填充,IRO~IR7的编码分别是000,001,010,011,100,101,110,111。

五,实验步骤1,实验接线CS0-CS8259 CS1-CS273 00~07-LED1~LED8 K1~K8-IR0~IR7 INT-INT(8086CPU 板) INTA-INTA(8086CPU板) 2,编译调试程序3,全速运路程度,拨动某一电平开关,观察LED的亮灭情况。

六,实验结果全速运路程序,由上向下拨动开关时,相应位置的LED灯点亮,其余LED灯全灭七,源代码ASSUME CS:CODECODE SEGMENT PUBLICORG 100H START: MOV CX,0 START1:CLIMOV DX,04A0HMOV AX,13HOUT DX,AXMOV DX,04A2HMOV AX,80HOUT DX,AXMOV AX,01HOUTDX,AXMOV AX,00HOUT DX,AXNOPMOV AX,0MOV DS,AXMOVADD DI,2DI,200H MOV DS:[DI],100H;初始化中断向量表MOV AX,OFFSET int0MOV DS:[DI],AXADD DI,2MOV DS:[DI],100HADD DI,2MOV AX,OFFSET int1MOV DS:[DI],AXADD DI,2MOV DS:[DI],100HADD DI,2MOV AX,OFFSET int2MOV DS:[DI],AXADD DI,2MOV DS:[DI],100HADD DI,2MOV AX,OFFSET int3MOV DS:[DI],AXADD DI,2MOV DS:[DI],100HADD DI,2MOV AX,OFFSET int4MOV DS:[DI],AXADD DI,2MOV DS:[DI],100HADD DI,2MOV AX,OFFSET int5MOV DS:[DI],AXADD DI,2MOV AX,OFFSET int6MOV DS:[DI],AXADD DI,2MOV DS:[DI],100HADD DI,2MOV AX,OFFSET int7MOV DS:[DI],AXADD DI,2 ;上述程序为芯片8259的初始化程序MOV DS:[DI],100H MAIN:MOV AX,0STIWAITING: CMP AX,0HJE WAITINGMOV DX,04B0HOUT DX,AXMOV CX,0DELAY: LOOP DELAYJMP START1 Int0:CLINOPMOV AX,OFEHIRET Int1:CLINOPMOV AX,OFDHIRET Int2:CLINOPMOV AX,OFBHIRET Int3:CLINOPMOV AX,OF7HIRET Int4:CLINOPMOV AX,OEFHIRET Int5:CLINOPMOV AX,ODFHIRET Int6:CLINOPMOV AX,OBFHIRET Int7:CLINOPMOV AX,O7FHIRET篇二:8259中断控制实验报告深圳大学实验报告班级:实验时间:实验报告提交时间:教务处制篇三:微机接口实验报告8259中断控制器实验实验六8259中断控制器实验1 实验目的(1) 学习中断控制器8259的工作原理。

8259中断控制器实验报告

8259中断控制器实验报告

竭诚为您提供优质文档/双击可除8259中断控制器实验报告篇一:8259中断控制器实验报告8259中断控制器实验报告作者:一实验目的1,掌握8259A的工作原理。

2,掌握编写中断服务程序方法。

3,掌握初始化中断向量的方法。

二,实验设备cpu挂箱,8086cpu模块图1-cpu挂箱三,实验内容用电平开关的输出作为中断源,每个开关对应于一个中断源。

在中断服务程序中,通过74Ls273输出一个数据,以点亮于中断源对应位置的LeD灯。

四,实验原理1.本实验用到三部分电路:电平开关电路、简单I/o扩展电路和8259中断控制器电路;2.8086的中断系统是向量中断方式,内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量,不同的中断向量对应不同的偏移地址;3.中断类型由8359通过数据总线送给8086,8086内部电路会将该类型值自动乘4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址,之后就进入中断服务程序;4.中断类型的高5位由8359寄存器Icw2决定,低3位由中断源IRx的编码自动填充,IRo~IR7的编码分别是000,001,010,011,100,101,110,111。

五,实验步骤1,实验接线cs0-cs8259cs1-cs27300~07-LeD1~LeD8K1~K8-IR0~IR7InT-InT(8086cpu板)InTA-InTA(8086cpu板)2,编译调试程序3,全速运行程度,拨动某一电平开关,观察LeD的亮灭情况。

六,实验结果全速运行程序,由上向下拨动开关时,相应位置的LeD灯点亮,其余LeD灯全灭七,源代码Assumecs:coDecoDesegmenTpubLIcoRg100hsTART:moVcx,0sTART1:cLImoVDx,04A0hmoVAx,13houTDx,AxmoVDx,04A2hmoVAx,80h ouTDx,AxmoVAx,01houTDx,AxmoVAx,00houTDx,AxnopmoVAx,0moVDs,AxmoVADDDI,2DI,200hmoVDs:[DI],100h;初始化中断向量表moVAx,oFFseTint0moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint1moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint2moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint3moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint4moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint5moVDs:[DI],AxADDDI,2moVAx,oFFseTint6moVDs:[DI],AxADDDI,2moVDs:[DI],100hADDDI,2moVAx,oFFseTint7moVDs:[DI],AxADDDI,2;上述程序为芯片8259的初始化程序moVDs:[DI],100hmAIn:moVAx,0sTIwAITIng:cmpAx,0hJewAITIngmoVDx,04b0houTDx,AxmoVcx,0 DeLAY:LoopDeLAYJmpsTART1Int0:cLInopmoVAx,oFehIReTInt1:cLInopmoVAx,oFDhIReTInt2:cLInopmoVAx,oFbhIReTInt3:cLInopmoVAx,oF7hIReTInt4:cLInopmoVAx,oeFhIReTInt5:cLInopmoVAx,oDFhIReTInt6:cLInopmoVAx,obFhIReTInt7:cLInopmoVAx,o7FhIReT篇二:8259中断控制实验报告深圳大学实验报告班级:实验时间:实验报告提交时间:教务处制篇三:8259中断控制实验报告实验六8259中断控制一、实验目的1.学习8086/8088cpu中断系统的知识。

微机原理8259中断控制完整实验报告

微机原理8259中断控制完整实验报告

实验5 8259中断控制实验实验时间2019年11月27日
实验类型■验证性□设计性□综合性
1. 实验目的
掌握8259中断控制器的工作原理
2. 实验内容及过程(主要内容、操作步骤)
利用系统总线上中断请求信号MIR6,设计一个单一中断实验3. 测试数据及实验结果
4. 实验分析及总结(主要考察内容)
1.显示字符“7”时,前面的“0137H”中的“37H”是“7”的ASCII码,若要改变显示的字符,就更改ASCII码。

2.中断服务程序的入口地址有段基址和段内偏移,故有32位,一个中断在中断向量表里面占4个字节,这4个字节就是中断服务程序的入口地址。

实验第一步就是在初始化中断向量表,就是告诉系统中断服务程序在哪里,填上IQR6的段基址和段内偏移(38H-3BH)。

其次就是对8259A主从片进行初始化,很多东西可以不初始化,就用到了主片,8259A从片上也接了一个中断。

再下面就是中断服务程序,实验中中断服务程序有延时,但是在正常编程情况下中断服务程序决不允许有延时,中断服务程序要快进快出
教师评阅
评价指标:实验目的、操作步骤、设计、算法、程序结构、实验结果、实验分析、实验总结。

实验3 8259中断控制器实验(20131104)

实验3 8259中断控制器实验(20131104)

实验三、8259中断控制器实验1.实验目的(1).掌握中断控制器8259 IP核的工作原理,熟悉对8259的初始化设置。

(2).掌握中断服务程序的编写方法。

(3).掌握程序固化及脱机运行程序的方法。

2.实验原理8259的工作原理。

参考微机原理与接口技术相关教材。

使用中断控制器8259,首先要对8259初始化,对初始化命令字ICW1~ICW4进行设置,初始化命令字的格式如表3-1所示。

8259 - P rogrammble Intrrupt Controller图3-1 8259 可编程中断控制器表3-1 初始化命令字ICW1~ICW4数据格式:子程序的入口地址写入中断向量表。

另外要编写相关的中断服务子程序。

8259的端口地址如下:PIC_ICW1 EQU 20HPIC_ICW2 EQU 21HPIC_ICW3 EQU 21HPIC_ICW4 EQU 21Hppt 8255的端口地址是:port A 378h ;PA接2个LED数码管port B 379h ;PB接8个LED 发光二极管port C 37ah ;PC口ppt_ctrl 37bh ;控制字口ppi 8255的端口地址是:port A 060h ;PA接4×4键盘和LCD液晶模块port B 061h ;PB 最低位控制计数器2门控信号port C 062h ;PC pc.0控制ppi portA 输入使能ppt_ctrl 063h ;控制字口定时器/计数器8254的端口地址:PIT_CNT0 EQU 40HPIT_CNT1 EQU 41HPIT_CNT2 EQU 42HPIT_CTRL EQU 43H3.实验内容(1)中断计数显示程序本实验主要验证中断控制器8259的中断控制功能。

中断请求信号由按键产生,该按键向8259的IR1发出中断请求,每中断一次,寄存器加1计数,并通过8255的PA口外接的数码管显示出中断的次数。

PA 口输出使能由PC口最低位控制。

8259中断控制实验报告

8259中断控制实验报告

8259中断控制实验报告实验报告:8259中断控制实验一、实验目的:学习和掌握8259中断控制器的工作原理和使用方法。

二、实验设备:计算机、8259中断控制器芯片、连接线、示波器等。

三、实验原理:1.8259中断控制器简介8259是Intel公司推出的一个通用中断控制器芯片,它可以管理多种设备的中断请求,并对中断请求进行优先级排序和处理。

8259具有级联功能,可以通过级联实现更多的设备中断管理。

2.8259工作原理8259中断控制器有两个主要模块:中断请求译码器和中断向量地址寄存器。

中断请求译码器用于判断中断请求的优先级,按照优先级排序,将中断请求发送给CPU。

中断向量地址寄存器用于存储中断向量的地址,CPU根据中断向量的地址来执行相应的中断服务程序。

3.8259中断控制器的寄存器8259中断控制器有多个重要的寄存器,包括中断屏蔽寄存器、中断请求寄存器、中断服务地址寄存器等。

中断屏蔽寄存器用于屏蔽或打开特定中断请求。

中断请求寄存器用于存储当前的中断请求状态。

中断服务地址寄存器用于存储中断向量的地址。

四、实验内容:1.配置8259中断控制器将8259中断控制器连接到计算机,并通过连接线将适当的引脚连接到需要中断控制的设备上。

2.编写中断服务程序根据实验要求,编写相应的中断服务程序,并将其存储在中断服务地址寄存器指定的内存地址中。

3.设置中断向量地址将中断向量的地址存储在中断向量地址寄存器中,使CPU能够根据中断请求执行相应的中断服务程序。

4.测试中断控制功能通过测试设备向8259中断控制器发送中断请求,观察计算机是否能正确处理中断请求,并执行相应的中断服务程序。

五、实验结果与分析:经过以上实验步骤,我们成功配置了8259中断控制器,并编写了相应的中断服务程序。

在测试过程中,通过向8259中断控制器发送中断请求,我们观察到计算机正确地处理了中断请求,并执行了我们编写的中断服务程序。

这表明我们成功地完成了8259中断控制实验。

试验三8259实验

试验三8259实验

实验三、使用8259的单级中断控制实验一、实验目的:1、通过本实验,要掌握8259的使用方法。

二、实验内容8259的IR3引脚接单脉冲发生电路。

产生的中断次数由8086计数,并将计数个数显示在一位LED上。

三、实验分析:本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0-IR7对应的中断类型号为8-F,其中断矢量关系如下表所示。

中断向量表的写入:使用STOSW 命令将AX的内容存储在ES:DI地址。

ES=0,DI=002CH。

AX先为中断服务程序的地址偏移量(offset INTQ3)、后为段地址0000.A.Y6是由74LS138输出端引出的,由CPU地址线的A4、A5、A6分别连到138的ABC端。

所以,可以确定Y6作为选通信号A6A5A4=110。

B.CPU的A0和8259的A0相连。

C.故8259A 有2 个端口地址。

选择的是60H、61H. 60H 用来写ICW1, 61H 用来写ICW2、ICW3、ICW4,初始化命令字写好后,再写操作命令字。

OCW2、OCW3 用口地址60H,OCW1用口地址61H。

所以:对8259的初始化值如下:ICW1:13HICW2:08HICW4:09HIMR :0F7H图中,使用了3号中断源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。

CPU响应中断后,在中断服务中,对中断次数进行计数并显示。

使用[0701H] 存放计数次数,从1到F。

如果〉F ,重新显示。

所以中断服务程序需要更改计数值。

四、实验线路连接1)8259模块上的INT1连8088的INTR(在主板键盘矩阵下面)。

2)8259模块上的INTA连8088的INTA(在主板键盘矩阵下面)。

3)MP区SP插孔和8259的3号中断IR3插孔相连,SP端初始为低电平。

4)8259模块上的D0~D7连到BUS 2区的XD0~XD7。

微机 实验三 8259可编程中断控制器实验

微机 实验三 8259可编程中断控制器实验

集美大学计算机工程学院实验报告课程名称:微型计算机指导教师:颜庆茁实验成绩:实验编号:实验三实验名称:8259可编程中断控制器实验班级:计算12姓名:学号:上机实践日期:2014.11上机实践时间:2学时一、实验目的1、了解8259A芯片的工作原理。

学会使用8259A中断控制芯片实现对外部中断的响应和处理;2、了解8259A内部结构和熟悉8086的接口逻辑;3、掌握对8259A的初始化编程方法和8086是如何响应中断、退出中断。

二、实验设备STAR系列试验仪一套、星研集成软件环境、PC机一台三、实验内容1、设计8259A与8086CPU硬件连接图,分配8259A端口地址为9000H,9001H;2、设计8259A的外围连接,实现拨动单脉冲开关触发8259A中断,8086计数中断次数并显示于G5区的数码管LED上;3、中断次数的显示需调用系统给定的显示子程序DISPLAY8。

程序开始处必须设置外部连接,告诉汇编程序该显示程序在何处(即对应单元必须送10H),若要让它显示数字,则把数字值直接送到响应的显示缓冲区单元就可以显示了;4、要保证DISPLAY8能正常显示,必须使得8279键盘/LED控制器能正确运行;5、基于所设计的硬件及其连接,编写程序流程图,并编写程序实现8086对中断次数的计数及显示。

四、实验拓展思考1、从8259A收到上升沿,到8088响应中断,试画出这个过程的时序图。

2、把出发脉冲改为由8253产生,中断时间间隔为1S,设计硬件连接图,编写程序流程图,并设计程序实现。

3、设计一实时时钟。

五、实验步骤1、电路设计2、在STAR系列试验仪上完成连线3、编写程序流程图及汇编程序程序流程图:8259可编程中断控制器实验程序见附录4、在星研集成软件环境中测试程序,并观察STAR系列试验仪中实验结果(1)全速运行程序后,看到LED显示屏上按1s频率刷新,实现秒、分60进制进位,这说明实验结果正确,实现实时时钟。

8259中断控制实验

8259中断控制实验

深圳大学实验报告课程名称:实验项目名称:学院:专业:指导教师:报告人: 学号: 班级:实验时间:实验报告提交时间:教务部制一般中断实验,为了保护现场,程序开头都会引用堆栈把把现在的程序放入堆栈中进行保护,所以.PUS.DS就起到这样的作用.在中断程序结束后,为了能回到之前执行的程序入口,还得用PO.D.指令返回现场.这个实验是关于8259的单中断,不牵涉级联问题,所以,8259的初始化只需要看主片就可了.初始化的时候,一般先使用CLI指令将所有的可屏蔽中断禁止,然后写入始化字.8259有四个初始化控制字ICW1,ICW2,ICW3,ICW4,由于8259只有一根地址线,因此对各个制字的操作是按照一定的顺序并结合某些数据位来进行寻址设置的.当初始化完成后,对8259的操作命令字的寻址是通过8259的地址线A0和某些数据位结合来进行的.其初始化控制字和控制命令辽的赋值由我已经在注释中给出.另外,在初始化程序中我们用了STI这条指令打开中断,那么进入MIR7中断程中,我们为什么又执行STI这条指令呢,会不会重复了?经过实验,我们知道这条指令并不是没用的,如果少后面这条STI指令,实验中我们会发现,当按一次KK1开关的时候,屏幕会显示一个字符7,但是,再按KK1的时候,就没有反应了,起初并不知道怎么解释这个现象,后来才知道8086CPU执行完一次中断后,会自动将相应的中断位屏蔽,所以,如果我们想按一次KK1就发生一次中断,就得重新在程序中打开中断,也就是STI.另外,RET指令是短信返回指令,而IRET指令则是中断短程返回指令,一般中断程序也大多是短程的.那么,中断发生的时候,CPU又是怎样进入中断子程序的呢?这就需要我们正确地设置中向量表的了.实验板上主中断序号7可用,也就是我们得利用3CH-3FH这矢量地址.所以在程序开始的候,就采用MO.AX.OFFSE.MIR7,MO.SI.003CH,MO.[SI].AX这三句来获得偏移地址IP,接着高址位置又用MO.AX.CS,MO.SI.003EH,MO.[SI].AX这三条指令来获得CS.CPU根据CS,IP 就能转入正确的中断程序执行中断了.而中断程序结尾处,用了MO.AL.20. OU.20H.AL以及IRET这三条指令.是为了说明这是正常的EOI, 可以通知8259A此次服务结束.深圳大学学生实验报告用纸注: 1.报告内的项目或内容设置, 可根据实际情况加以调整和补充。

8259中断控制器实验的实验报告

8259中断控制器实验的实验报告

8259中断控制器实验的实验报告实验报告:8259中断控制器实验一、实验目的本实验的目的是通过对8259中断控制器的实验,掌握和理解8259中断控制器的原理、工作原理和使用方法。

通过实验能够进一步了解中断控制器的中断分配和中断处理等功能。

同时还能够通过实验,对中断优先级以及中断的屏蔽和响应进行深入了解。

二、实验原理1.8259中断控制器简介8259中断控制器是用于管理和控制多个硬件设备的中断请求的重要芯片。

它是一个具有8个中断请求输入和8个中断向CPU输出的优先级解码器。

中断控制器主要由两个部分组成:中断请求器部分和中断控制器部分。

中断请求器部分用于产生中断请求信号,而中断控制器部分用于优先级解码和中断分配。

2.8259中断控制器的工作原理8259中断控制器可以管理多个硬件设备的中断请求,同时对中断信号进行优先级判断和派发给CPU进行相应处理。

当一些硬件设备发生中断时,会发送中断请求信号给8259中断控制器,然后8259将根据中断请求的优先级判断是否屏蔽或者响应该中断请求。

3.8259中断控制器的使用方法在使用8259中断控制器时,首先需要设置中断控制器的工作模式和中断请求的优先级,然后对中断控制器的屏蔽和响应进行相应的配置。

使用中断控制器时,还需要对中断服务程序进行适当的编程,以实现中断的处理逻辑。

三、实验步骤1.实验前的准备工作(1)准备实验所需的开发板和8259中断控制器。

(2)将8259中断控制器与相应的硬件设备连接。

(3)准备PC机和开发板的通信线缆。

2.8259中断控制器的设置和初始化(1)通过编程方式将8259中断控制器设置为特定的工作模式。

(2)设置中断请求(IRQ)的优先级。

3.中断服务程序的编写(1)根据需求编写中断服务程序,即中断处理逻辑。

(2)将中断服务程序与8259中断控制器的相应中断请求进行关联。

4.实验结果的观察和分析(1)观察测试硬件设备的输出结果。

(2)分析实验结果,判断是否成功实现中断控制和处理。

实验一 8259单级中断控制器实验

实验一 8259单级中断控制器实验

实验一8259单级中断控制器实验一、实验目的⒈掌握8259中断控制器的接口方法。

⒉掌握8259中断控制器的应用编程。

二、实验内容利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。

三、实验接线图图6-6四、编程指南⑴8259芯片介绍中断控制器8259A是专为控制优先级中断而设计的芯片。

它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。

因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。

即中断结构可以由用户编程来设定。

同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。

⑵本实验中使用3号中断源IR3,“”插孔和IR3相连,中断方式为边沿触发方式,每拨二次AN开关产生一次中断,满5次中断,显示“8259——good”。

如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。

五、实验程序框图IR3中断服务程序:IR7中断服务程序:六、实验步骤1、按图6-6连好实验线路图。

⑴ 8259的INT连8088的INTR;⑵ 8259的INTA连8088的INTA;⑶“”插孔和8259的3号中断IR3插孔相连,“”端初始为低电平;⑷ 8259的CS端接FF80H孔;⑸连JX4→JX17。

2、DJ-8086k软件启动和联机⑴启动和联机。

双击桌面上‘DJ-8086k’快捷图标,即可运行DJ-8086k软件;⑵新建文件:单击菜单栏“文件”或工具栏“新建”图标,即会建立一个新的源程序编辑窗口,此时可在此窗口编辑、输入源程序(注:新建文件扩展名为 .ASM)。

或打开文件F3:单击菜单栏“文件”或工具栏“打开”图标,弹出“打开文件”的对话框,然后选择要装入的源文件,单击“确定”即可装入源文件。

;3、调试程序⑴编译装载F9:打开源文件,依次单击:调试”\“编译装载F9”或工具栏上的编译装载图标,状态栏会提示正在编译、编译成功、正在装载数据、装载数据结束,几秒钟后便会弹出‘源文件调试窗口’,如编译出错,会提示错误信息,待修改源文件正确后,重新编译装载即可;⑵连续运行;单击菜单栏“调试”下的“连续运行”或单击工具栏的连续运行图标,即全速连续运行程序,系统显示8259-1。

8259中断控制器实验

8259中断控制器实验

实验五、8259中断控制器实验和作业实验题目:8259中断控制器点亮LED灯实验一、实验目的了解8259中断控制器的基本使用,掌握中断程序编程技术。

二、实验内容使用单脉冲电路产生的脉冲信号作为386EX模块8259中断请求输入,每按一次单脉冲按键,触发一次中断,通过8255 PC0驱动LED交替亮和灭,硬件连接如题图所示。

基础三题图、8259中断控制器实验连线示意图三、实验提示MIR5是接到PC的主8259A中断控制器的IR5端,因此不需要对8259A初始化(ICW1-ICW4),但要进行设置中断矢量和打开中断等操作;注意:TPC实验平台中采用的是非自动结束,则需要在中断结束前(中断服务程序的最后)发中断结束命令。

另外、写入中断屏蔽字应采用“读—修改—写”过程,如下所述:IN AL,21HAND AL,0DFH软件实现流程图.MODEL SMALL.386CODE SEGMENTASSUME CS:CODESTART: MOV DX,203HMOV AL,90H ;设置8255控制字,OUT DX,ALMOV CL,0CLI ;关386 CPU中断;写入中断屏蔽字OCW1时,采用读取-修改-写入的顺序IN AL,21HAND AL,11011111B ;MASK BYTEOUT 21H,AL;将中断入口地址写入中断向量表PUSH DSMOV BX,0MOV DS,BXLEA AX,CS:INT_PROC ;将中断程序的入口地址给AXMOV BX,5 ;N=IRX 中断IR5MOV SI,30H ;BASE =30H 基址ADD SI,BX;基址+IR5=中断类型号为35HSAL SI,2 ; 中断类型号为35H X 4=中断向量存于SIMOV DS:[SI],AX ;将入口地址AX送到中断向量表中PUSH CSPOP AXMOV DS:[SI+2],AXPOP DSSTI ;开386 CPU中断LLL: JMP LLLINT_PROC PROC FARPUSH AXCMP CL,0JZ SET0MOV DX,203H ;PC0=1MOV AL,01OUT DX,ALMOV CL,0JMP ENDINTSET0: MOV DX,203H ;PC0=0MOV AL,00OUT DX,ALMOV CL,1ENDINT:MOV AL,20HOUT 20H,ALPOP AXSTIIRETINT_PROC ENDPCODE ENDSEND START。

实验三 8259 中断控制器实验

实验三 8259 中断控制器实验

实验三8259 中断控制器实验一、实验目的1.掌握8259 中断控制器与微机的接口方法。

2.掌握8259 中断控制器的编程。

二、实验内容1.硬件线路原理图如图。

2.编程提示(1) 8259 芯片介绍8259 是专用控制中断优先级而设计的集成电路,可对中断源的优先级排队、识别、及提供中断矢量。

单块8259 可编程实现8 级中断管理,并可选择优先模式及中断请求方式。

另外由多片8259 级联,可构成多达64 级的矢量中断系统。

(2) 程序方框图主程序IR3 中断服务程序IR7 中断服务程序(3)初始化编程:由CPU向8259A送初始化命令字ICW。

在8259A开始正常工作前,必须写初始化命令字使其处于开始状态。

操作命令编程:由CPU向8259A送操作命令字OCW,可以在8259A初始化后,根据需要在程序的任何地方写入。

(4 Array 4. 硬件连线及实验结果(1) 8259 的CS6插孔连线EX1插孔。

(2) 8259 的INT 插孔连线INTR 插孔。

(3) 8259 的INTA 插孔连线INTA 插孔。

(4) 8259 的IR 3插孔连线插孔。

(5) D 0~7数据线用扁平电缆连接数据总线。

本实验用 3 号中断源IR3,与插孔线连,中断方式为边沿触发方式。

程序每按一次AN 键产生一次中断,满5次中断,显示“8259 Good”。

如果中断触发信号不符号要求,则自动转到7 号中断,显示“Err”,以示出错。

例 IBM PC/XT 系统初始化中,设ICW1=13H ,表示系统中8259A 为单片方式,上升沿触发,要求设置ICW4。

指令为: MOV AL ,13H OUT 20H ,AL中断类型号基值,即IR0的类型号。

其中低3位初始时为0,高5位由用户设定。

工作过程中,低3位值由IR0~IR7中响应哪级中断(对应000~111)来确定。

在IBM PC/XT 系统中,T7~T3=00001,所以对应8个中断的类型号为08H~0FH 。

实验六 8259中断控制器实验

实验六 8259中断控制器实验

实验六 8259中断控制器实验实验项目名称:8259中断控制器实验实验项目性质:普通所属课程名称:微机原理与应用实验计划学时:2一、实验目的1、熟悉并且理解中断技术,体验中断技术对于实时的可编程系统的意义。

2、掌握中断技术所涉及的线路连接、初始化、优先级、屏蔽、中断响应、转入中断服务程序、中断结束、反复接收中断的过程与参数设置,尤其是硬件处理与软件处理的交汇点——中断向量表。

3、掌握中断控制各参数的初始化和更新方法。

二、实验内容和要求1、用单脉冲发生器(P0)作中断源,每按一次产生一次中断申请,改变一个发光二极管的亮灭状态。

如果没有中断源,则不产生中断,发光二极管的亮灭状态保持不变。

2、实验原理图三、实验主要仪器设备和材料1、EL实验箱2、计算机3、中断控制板四、实验方法、步骤及结果测试1、将中断控制板插入EL实验箱左上角的40针插座上;2、将单脉冲发生器的输出P0与8259A中断控制板的中断源IR0相连;3、将8259中断控制板的片选信号CS59与CS7相连;4、从CS0~CS7片选信号中选一个信号CS1(04b0h)与输出接口芯片74LS273的片选信号CSU8相连,74LS273的输出信号SO0接一个发光二极管L1;5、编程并调试,在中断服务程序设置断点,按下PUL键、产生单脉冲后,能够观察到发光二极管亮灭控制器的状态翻转,以及相应的发光二极管的亮灭;6、实验源程序(实验程序名T4.ASM)Assume cs:codeCode segment publicOrg 100hStart:Mov dx,3f0h ;8259初始化Mov al,13h ;ICW1设置Out dx,alMov dx,3f2hMov al,80hOut dx,al ;ICW2设置中断类型为80HMov al,03hOut dl,al ;ICW4设置Mov ax,00hOut dx,al ;OCW1设置,允许所有8个中断Mov ax,00h ;设置中断向量表OUT DX,AXMOV AX,00hMov ds,axMov si,200hMov ax,offset hintMov ds:[si],axAdd si,2Mov ds:[si],0100h ;设置中断服务程序入口地址XOR AL,AL ;初始化发光二极管亮灭控制器STI ;IF<-1,开中断Waiting:NOPJMP waiting ;在主程序无限循环Hint: ;中断服务子程序XOR AL,1 ;每响应中断、进入中断服务程序,发光二极管状态翻转一次MOV DX,04B0HOUT DX,ALIRETCode endsEnd start说明:8086的中断系统是向量中断方式,不同类型的中断向量存于不同的位置,其计算方法是:中断类型N*4中断类型的高5位由8259读出,低3位有IR的编码确定,IR0=000IR1=001...IR7=111五、实验报告要求1、试说明本实验中8259A中断控制器各寄存器ICW1、ICW2、ICW4、OCW1的初始化设置含义。

8259中断实验报告

8259中断实验报告

8259中断实验报告引言本实验旨在通过实践掌握8259中断控制器的工作原理和使用方法。

8259中断控制器是一种在计算机系统中用于管理和调度中断请求的硬件设备。

本实验将通过编写代码并进行实际测试,来展示8259中断控制器的功能和效果。

实验过程步骤一:准备工作在开始实验之前,我们需要准备以下材料和工具:•一台支持8259中断控制器的计算机•8259中断控制器的手册或技术资料•一份适用于目标计算机系统的编程环境步骤二:了解8259中断控制器在开始编写代码之前,我们需要对8259中断控制器有一定的了解。

查阅8259中断控制器的手册或技术资料,了解其工作原理、寄存器结构和编程方法。

步骤三:编写初始化代码在开始使用8259中断控制器之前,我们需要对其进行初始化配置。

根据目标计算机系统的要求,编写初始化代码,并将其加载到计算机系统中。

步骤四:编写中断处理程序中断处理程序是在发生中断请求时由8259中断控制器调用的代码段。

根据实际需求,编写中断处理程序,并将其加载到计算机系统中。

步骤五:测试代码在完成初始化和中断处理程序的编写后,我们需要进行代码测试。

通过触发中断请求,检查中断处理程序是否能够正确地被调用和执行。

步骤六:分析实验结果根据测试结果,分析实验中发生的问题和异常情况。

比较预期结果与实际结果之间的差异,并进一步优化代码和配置。

结果与讨论在本实验中,我们成功地使用了8259中断控制器,并编写了相应的初始化代码和中断处理程序。

经过测试,中断处理程序能够正确地被调用和执行。

然而,在实验过程中也遇到了一些问题。

例如,可能会出现中断处理程序无法正确响应中断请求的情况。

这可能是由于配置不当或代码逻辑错误所致。

在遇到问题时,我们可以通过查阅8259中断控制器的手册或技术资料,以及调试工具来进行排查和修复。

通过本实验,我们进一步加深了对8259中断控制器的理解,掌握了其工作原理和使用方法。

在实际应用中,8259中断控制器可以广泛应用于各种计算机系统,提供可靠的中断管理和调度功能。

8259中断实验报告

8259中断实验报告

8259中断实验报告8259中断实验报告概述:8259中断控制器是一种重要的硬件设备,用于管理和处理计算机系统中的中断请求。

本实验旨在通过对8259中断控制器的实际应用,深入理解中断的概念、工作原理和实现方法。

实验目的:1. 了解中断的基本概念和作用;2. 掌握8259中断控制器的工作原理;3. 熟悉8259中断控制器的编程方法;4. 实现一个简单的中断处理程序。

实验设备:1. 计算机;2. 8259中断控制器;3. 开发工具。

实验步骤:1. 硬件连接:将8259中断控制器与计算机主板相连,确保连接正确稳定。

2. 编程准备:打开开发工具,创建一个新的工程,选择适当的编程语言。

3. 初始化8259中断控制器:在程序中调用相应的函数,设置8259中断控制器的工作模式、中断向量表等。

4. 编写中断处理程序:根据实际需求,编写一个简单的中断处理程序,例如键盘输入中断处理程序。

5. 编译、链接和调试:对程序进行编译、链接,生成可执行文件,并进行调试,确保程序的正确性和稳定性。

6. 实验结果分析:运行程序,观察中断处理程序的执行情况,分析中断的触发条件、处理过程和效果。

实验心得:通过本次实验,我深入了解了中断的概念和作用,掌握了8259中断控制器的工作原理和编程方法。

在实际操作中,我遇到了一些问题,例如连接错误、程序调试等,但通过不断尝试和调整,最终成功实现了一个简单的中断处理程序。

这次实验对我来说是一次很好的学习机会,不仅加深了对中断的理解,还提高了我的编程能力和问题解决能力。

总结:中断是计算机系统中一个重要的概念,对于提高系统的响应速度和处理效率具有重要意义。

8259中断控制器作为中断管理和处理的关键设备,其工作原理和编程方法需要我们深入了解和掌握。

通过本次实验,我对中断和8259中断控制器有了更深入的理解,并通过实际操作加深了对中断处理程序的编写和调试的经验。

这对我今后的学习和工作都具有重要的参考价值。

实验六 8259外部中断实验

实验六 8259外部中断实验

实验六 8259外部中断实验实验四 8259外部中断实验姓名:学号:班级:1、实验要求:用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。

要求程序中对每次中断进行计数,并将计数结果显示在LED数码管上。

2、实验目的:(1)学习8088/86与8259的连接方法。

(2)学习8088/86对8259的控制方法。

3. 实验器材:(1)G2021+实验平台 1 台(2)G6W仿真器 1 台(3)连线若干根(4)8259芯片1 片(5)万用表 1 块(6)Lab8088板 1 块4、实验电路:5、实验说明:编程时注意:(1)正确地设置可编程中断控制和工作方式。

(2)必须正确地设置中断服务程序地址。

8259可外接8个中断源,本实验只响应INT0中断,8259也可以多级连接以响应多个中断源。

实验时,将单脉冲信号接到8259的INT0脚。

每次中断时,可看到LED显示会加1。

6、实验框图:输出计数值设置中断服务程序地开计数值加1中断入口设置中断控制器工作方式中断允许输出中断结束命令等待中断中断返回主程序框图 EXTINT中断子程序框图 7、程序清单:(IN8088A/B04.ASM) OUTBIT equ 0e101h ; 位控制口CLK164 equ 0e102h ; 段控制口(接164时钟位) DAT164 equ 0e102h ; 段控制口(接164数据位)ICW1 equ 00010011b ; 单片8259, 上升沿中断, 要写ICW4 ICW2 equ 00100000b ; 中断号为20HICW4 equ 00000001b ; 工作在8086/88 方式 OCW1 equ11111110b ; 只响应INT0 中断 CS8259A equ 0A000h ; 8259地址CS8259B equ 0A001hdata segmentLEDBuf db 6 dup(?) ; 显示缓冲 Num db 1 dup(?) ; 显示的数据 DelayTdb 1 dup(?)LEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h,7ch, 39h, 5eh, 79h, 71h CNT db 0 data endscode segmentassume cs:code, ds: dataDelay proc nearpush ax ; 延时子程序 push cxmov al, 0 mov cx,ax loop $pop cx pop ax ret Delay endpDisplayLED proc nearmov bx, offset LEDBufmov cl, 6 ; 共6个八段管 mov ah, 00100000b ; 从左边开始显示 DLoop:mov dx, OUTBIT mov al, 0out dx,al ; 关所有八段管 mov al, [bx]mov ch, 8 ; 送164 DLP:push ax mov ah, 0 test al, 80h jz GN1mov ah, 1 GN1:mov dx, DAT164 ; 输出数据位 mov al, ah and al,0fdh out dx, almov dx, CLK164 ; 送出时钟脉冲 ;mov al, 1 or al,02h out dx, al;mov al, 0 and al,0fdh out dx, alpop ax shl al, 1 dec ch jnz DLPmov dx, OUTBIT mov al, ahout dx, al ; 显示一位八段管push ax mov ah, 1 call Delaypop axshr ah, 1 inc bx dec cl jnz DLoopmov dx, OUTBIT mov al, 0out dx,al ; 关所有八段管 retDisplayLED endpIEnter proc near push ax push dxinc CNTmov dx, CS8259Amov al, 20h ; 中断服务程序结束指令 out dx, alpop dx pop ax iret IEnter endpIInit procmov dx, CS8259A mov al, ICW1 out dx, almov dx, CS8259B mov al, ICW2 out dx, almov al, ICW4 out dx, almov al, OCW1out dx, al ret IInit endpStart proc near climov ax, data 实验截图:实验总结:通过这个实验,我基本了解了如何用8088/86控制8259可编程中断控制器,实现对外部中断的响应和处理。

实验九 中断控制器8259实验

实验九 中断控制器8259实验
300H 8255B口 8255B口 301H 8255C口 8255C口 302H 8255控制寄存器 8255控制寄存器 303H
初始化
附录3 发送到LED的值 附录3 发送到LED的值

思考题
① 将A口改为B口,应如何修改程序 口改为B
和连线?
② 修改程序,使之向发光二极管输出的同 修改程序, 时,在显示器上同步输出.
附录1 几个DOS 附录1 几个DOS中断 DOS中断
功能01H,07H和 功能01H,07H和08H 功能描述:从标准输入设备(如:键盘) 功能描述:从标准输入设备(如:键盘)读入一个字 符.该中断在处理过程中将一直处于等待状态直 到有字符可读为止.该输入还可被重定向,如果 这样做,则无法判断文件是否已到文件尾 入口参数:AH=01H,过滤掉控制字符,并回显 入口参数:AH=01H,过滤掉控制字符,并回显 =07H,不过滤掉控制字符,不回显 =07H,不过滤掉控制字符,不回显 =08H,过滤掉控制字符,不回显 =08H,过滤掉控制字符,不回显 出口参数:AL=输入字符的ASCII码 出口参数:AL=输入字符的ASCII码
;LED灯熄灭
MOV AX,3572H INT 21H MOV INT0A_OFF,BX MOV BX,ES MOV INT0A_SEG,BX CLI MOV AX,2572H MOV DX,SEG LEDLIGHT PUSH DS MOV DS,DX MOV DX,OFFSET LEDLIGHT INT 21H POP DS STI IN AL,0A1H AND AL,0FBH OUT 0A1H,AL IN AL,21H AND AL,0FBH OUT 21H,AL
8259主片和从片简图 8259主片和从片简图
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在80x86系列PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理15级硬件中断,但其中部分中断号已经被系统硬件占用,具体使用情况如表6-2示。两片8259A的端口地址为:主片8259使用020H和021H两个端口;从片使用0A0H和0A1H两个端口。系统初始化两片8259的中断请求信号均采用上升沿触发,采用全嵌套方式,优先级的排列次序为0级最高,依次为1级、8级~15级,然后是3级~7级。
图6-3 OCW命令字格式
表6-1 8259寄存器及命令的访问控制
A0
D4
D3
读信号
写信号
片选
操作
0
0
1
0
读出ISR,IRR的内容
1
0
1
0
读出IMR的内容
0
0
0
1
0
0
写入OCW2
0
0
1
1
0
0
写入OCW3
0
1
×
1
0
0
写入ICW1
1
×
×
1
0
0
写入OCW1,ICW2,ICW3,ICW4
3. PC微机系统中的8259
8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。ICW1-ICW4各命令字格式如图6-2所示,OCW1-OCW3各命令字格式如图6-3所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。
在扩展系统总线上的INTR对应的中断线就是PC机保留中断其中的一个。对INTR中断的初始化PC机已经完成,在使用时主要是将其中断屏蔽打开,修改中断向量。
表6-2 PC微机系统中的硬件中断
中断号
功能
中断向量号
中断向量地址
主8259A IRQ0
日时钟/计数器0
08H
0020H~0023H
主8259A IRQ1
中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。8259A的内部结构和引脚如图6-1所示。
实验步骤及说明:
(1)按实验内容要求编写实验程序
(2)编译连接实验程序。
(3)运行实验,按键盘若干次,观察实验现象。
(4)画出实验流程图。
五、实验结果与结论:
((a)主程序(b)中断处理程序
六、实验中遇到的问题与实验心得:
通过此次实验,把课堂上的理论知识很好的应用到了设计中来,不仅对8259键盘及显示接口技术的知识有更多的了解,而且对这门课也认识很多。并且希望通过此次设计能在日后学习中有所用处
键盘
09H
0024H~0027H
主8259A IRQ2
接从片8259A
0AH
0028H~002BH
主8259A IRQ3
串行口2
0BH
002CH~002FH
主8259A IRQ4
串行口1
0CH
0030H~0033H
主8259A IRQ5
并行口2
0DH
0034H~0037H
主8259A IRQ6
软盘
0EH
现代微机原理与接口技术实验报告
填写时间:2011年12月29日
课程名称
现代微机原理与接口技术
实验名称
8259单级中断控制器实验
姓名
Xxx
学号
Xxxx
专业年级
Xxx
一、实验目的:(1)掌握8259的工作方式及应用编程
(2)掌握8259的典型应用电路接法
二、实验设备:PC机一台
三、实验原理:
1.8259控制器的介绍
从8259A IRQ12
保留
74H
01D0H~01D3H
从8259A IRQ13
协处理器中断
75H
01D4H~01D7H
从8259A IRQ14
硬盘控制器
76H
01D8H~01DBH
从8259A IRQ15
保留
77H
01DCH~01DFH
四、实验内容步骤及说明:
编写中断处理程序,利用PC机给实验系统分配的中断线,使用单次脉冲单元的KK1+按键模拟中断源,每次PC机响应中断请求,在显示器上显示一个字符。
2.8259寄存器及命令的控制访问
在硬件系统中,8259仅占用两个外设接口地址,在片选有效的情况下,利用A0来寻址不同的寄存器和命令字。对寄存器和命令的访问控制如表6-1所示。
图6-1 8259内部结构和引脚图
图6-2(a)ICW1格式
图6-2(b)ICW2格式
图6-2(c)ICW3格式
图6-2(d)ICW4格式
0038H~003BH
主8259A IRQ7
并行口1
0FH
003CH~003FH
从8259A IRQ8
实时钟
70H
01C0H~01C3H
从8259A IRQ9
保留
71H
72H
01C8H~01CBH
从8259A IRQ11
保留
73H
01CCH~01CFH
相关文档
最新文档