实验 3 8259中断控制器实验
【实验目的】
了解8259中断控制器的基本使用,掌握中断程序编程技术。 【实验内容】
使用单脉冲电路产生的脉冲信号作为8259中断请求输入,每按一次单脉冲按键,触发一次中断,产生一次中断反应,并判断8259中断输入端。
8259产生的中断反应到386EX模块的8259中断控制器,由386EX CPU做中断处理。 【实验接线图】
数码管跳线接到“CPU”一侧,8259中断IRQ0---IRQ7分别接单脉冲
8259CS8259_INTIRQ0IRQ7PLUS单脉冲
【386EX中断系统简介】
386EX CPU内部有两个8259中断控制器,一个主8259,一个从8259,其级联方式与PC机相同。主从8259使用的命令字和端口地址与PC DOS兼容。386EX模块允许用户使用的中断请求信号端子有两个,分别是中断请求信号区的IRQ0和IRQ1,它们分别对应主8259芯片中断请求引脚IR5和从8259中断请求引脚IR0。因8259初始化已由固件完成,因此用户编程时只需写入中断屏蔽字和中断向量,而无需再次初始化。 有关中断控制参数如下:
用户输入 中断引脚 IRQ0 IRQ1 对应8259 引脚输入 IR5 IR0 中断屏蔽字 11011111B 11111110B 中断类型号 35H 70H 8259端口地址 20H,21H 0A0H,0A1H 0-FIRQ0地址译码10-1F数码管LED_CS总线信号区
注意:写入中断屏蔽字OCW1时,应采取读-修改-写序列。
即 主片:IN AL, 21H 从片: IN AL, 0A1HH AND AL,0DFH AND AL, 0FEH OUT 21H,AL OUT 0A1H, AL
【8259简介】
1、8259中断控制器介绍
1)8259中断控制器是Intel公司专为控制优先级中断而设计的芯片。它将中断源识别、排队以及提供中断矢量等电路集于一片中。
2)只需对8259编程一片8259就可以管理8级中断,最多可用9片8259A来构成64级的主从式中断系统。
31
3)每一级中断都可以屏蔽或允许。
4)8259A可提供相应的中断向量,从而能迅速地转至中断服务程序。 5)通过编程使8259A工作在多种不同的方式。 6)工作时只需要一组+5V电源。 2、8259中断控制器内部结构及管脚分配
图3-1 8259 内部结构
图3-2 8259管脚分配 3、8259命令寄存器及访问控制
8259的命令共有七个,分两类。一类是初始化命令字,有四个分别是ICW1-ICW4,另一类是操作命令字,有三个分别是OCW1-OCW3.各命令字的格式如下:
图3-3 ICW1格式
32
图 3-4 ICW2格式
图 3-5 ICW3 格式 A0 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNM BUF M/S AEOI uPM
1-8088/8086CPU 0-8080/8085CPU 1-自动EOI方式 0-非自动EOI方式 0 × 非缓冲方式 1 0 缓冲方式从片 1 1 缓冲方式主片 图 3-6 ICW4 格式 1-特殊完全嵌套方式 0-一般完全嵌套方式
图 3-7 OCW1 格式
33
图 5-8 OCW2 格式
图 3-9 OCW3 格式
【实验程序】
【撰写实验报告】实验报告包括的内容 1、写出实验序号、实验题目;
2、依次写清楚本实验的目的、原理、器材等内容; 3、详细写出实验步骤、内容;
4、写出实验结果并按要求对实验结果进行分析;
5、可以谈谈做该实验的体会:成败的原因、关键及今后应注意的事项。
34
实验 4 拨动开关和LED显示实验
【实验目的】
掌握使用8255并行接口连接拨动开关,控制LED显示输出的技术。 【实验内容】
按图4-2将8255端口A与8位拨动开关连接,8255端口B与8位LED连接,选择 8255 为方式0工作,编程序完成LED实时显示开关状态的功能,即每位LED对应一位开关状态。开关往下拨动,对应LED灭,开关往上拨动,对应LED点亮。
编程涉及8255端口地址有四个,由于8255片选信号线与地址译码区的0~FH连接,即8255的I/O偏移地址为0~3,加上前一个实验所获知的I/O基址,两者相加之后才是最终访问8255的I/O地址。注意,该地址一定是一个16位数,所以I/O操作要使用IN AL,DX 和OUT DX, AL指令。 【实验接线图】
8255PA0K0拨动开关PA7PB0K7L0LED显示灯L70-F地址译码PB7CS
【实验程序框图及端口地址】
开始写8255控制字从8255的A口输入开关状态从8255的B口输出显示 【实验程序】
【撰写实验报告】实验报告包括的内容
35