《微机原理与接口技术》实验指导书
2.9可编程中断控制器8259A的操作
2.9.1实验目的
(1)学习8259中断控制器的工作原理。 (2)学习8259可编程控制器的应用编程。 (3)掌握使用计算机内8259的方法。 (4)掌握修改中断向量的方法。
2.9.2 实验设备
QTH-2008PC实验设备一台,键盘、鼠标、显示器各一件。
2.9.3 实验内容
编写一按键中断处理程序,计数按键中断次数,当按键中断产生10次后,显示按键次数并结束应用。
2.9.4 实验原理
中断控制是微机系统的主要管理方式之一,也是处理器与外设之间通信的最有效方法之一。它可以减少系统为反复查询外部设备状态而消耗的时间,提高了系统的整体运行效率。在现代32位微机系统中,系统的中断有两类:软件中断和硬件中断。硬件中断可以实现微机系统对外设的管理,由8259中断控制器来完成。
28
《微机原理与接口技术》实验指导书
图2-9-1 8259的OCW命令字格式
1、PC微机系统中8259A的应用
在现代PC微机系统中,系统中包含了两片8259A中断控制器,经级连可以管理16级硬件中断,其中部分中断源已经被系统硬件占用,具体使用情况如表6-1-2示。两片8259A的端口地址为:主片在020H-03FH,实际使用020H和021H两个端口;从片在0A0H-0BFH范围,实际使用0A0H和0A1H两个端口。
2、中断向量表
80x86微机系统中能处理256个中断向量,其类型号为00H-0FFH,但其的中断处理方式及过程应根据CPU的工作模式加以区分。在保护模式下,系统中有一张中断描述符表,记录所有中断/异常处理程序的入口。在实模式下微机系统采用矢量中断,无论是内部中断还是外部中断均对应一个相应的中断向量码,每个中断向量占用4字节,分别存放中断服务程序的IP和CS。存放256个中断矢量需要占用1K字节的空间,该区域称为中断向量表,被放置于内存从0开始的1K字节区域中。图6-1-3显示了中断向量表的结构。表6-1-4中显示了PC微机在实模式下所有中断的使用情况及中断功能。对于微机系统没有使用的中断向量,可以作为软中断被用户使用。使用前,只需要将软中断处理程序入口填入对应中断矢量即可。而微机系统已经占用的中断向量可以根据需要修改其中断向量。填写或修改中断矢量的方法为:
MOV [中断矢量*4],IP地址 MOV [中断矢量*4+2],CS地址
29
《微机原理与接口技术》实验指导书
表2-9-1 PC微机系统中的硬件中断
中 断 源 主8259A IRQ0 主8259A IRQ1 主8259A IRQ2 主8259A IRQ3 主8259A IRQ4 主8259A IRQ5 主8259A IRQ6 主8259A IRQ7
功 能 定时中断 键盘中断 接从8259A COM2 COM1 硬盘/并口2中断 软盘 打印机 中断向量号 中 断 源 主8259A IRQ8 主8259A IRQ9 主8259A IRQ10 主8259A IRQ11 主8259A IRQ12 主8259A IRQ13 主8259A IRQ14 主8259A IRQ15 功 能 实时钟 保留 保留 保留 保留 写处理中断 硬盘控制器 保留 中断向量号 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH 70H 71H 72H 73H 74H 75H 76H 77H 2.9.5 实验步骤及说明
(1)系统8259中断 ①实验连线:
?
信号源模块的单脉冲开关1H或1L与PC104总线模块的IRQ4或#IRQ4相连接。
②编写相应的程序,记录中断次数并显示,当计满10次,程序退出。 (2)扩展8259中断 ①实验连线
?
8259模块的数据线(AD0~AD7)、地址线(A0~A7)分别连接到PC104模块的数据线(D0~D7)、地址线(A0~A7),8259模块的WR、RD分别连接到PC104模块的IOWR、IORD。 ? ?
8259模块的CS、INTA、INT分别连接到PC104模块的IOY0、IOY1、IRQ6
8259模块的IRQn (n 为0至7)8个中断中的任意一个连接到信号源模块的 1L或者2L
②运行8259.ASM 按点触开关KN09或 KN10,观看显示器屏幕。 ③分析程序8259.asm。
2.9.6 实验问题
1、需要对系统8259进行初始化吗? 2、在中断处理程序中,将指令
MOV AL,20H OUT 20H,AL
去掉,会出现什么现象?为什么?
30
《微机原理与接口技术》实验指导书
2.10 A/D转换实验
2.10.1 实验目的
掌握0809A/D转换芯片的硬件电路和软件编程。
2.10.2 实验设备
QTH-2008PC实验设备一台,键盘、鼠标、显示器各一件。
2.10.3 实验说明
ADC0809的主要性能:
(1) 8位逐次逼近型A/D转换器,所有引脚的逻辑电平与TTL电平兼容。 (2) 带有锁存功能的8路模拟量转换开关,可对8路0~5V模拟量进行分时切换。 (3) 输出具有三态锁存功能。
(4) 分辨率:8位,转换时间:100μs。 (5) 不可调误差:±1LBS,功耗:15mW。 (6) 工作电压:+5V,参考电压标准值+5V。
(7) 片内无时钟,一般需外加640KHz以下且不低于100KHz的时钟信号。 ADC0809的内部结构:
ADC0809是CMOS的8位模/数转换器,采用逐次逼近原理进行A/D转换,芯片内有模拟多路转换开关和A/D转换两大部分,可对8路0~5V的输入模拟电压信号分时进行转换。模拟多路开关由8路模拟开关和3位地址锁存译码器组成,可选通8路模拟输入中的任何一路,地址锁存信号ALE将3位地址信号ADDA、ADDB、ADDC进行锁存,然后由译码电路选通其中的一路,被选中的通道进行A/D转换。A/D转换部分包括比较器、逐次逼近寄存器(SAR)、256R电阻网络、树状电子开关、控制与时序电路等。另外ADC0809输出具有TTL三态锁存缓冲器,可直接连到CPU数据总线上。 ADC0809的多路转换:
在实时控制与实时检测系统中,被控制与被测量的电路往往是几路或几十路,对这些电路的参数进行模/数、数/模转换时,常采用公共的模数、数模转换电路。因此,对各路进行转换是分时进行的。此时,必须轮流切换各被测电路与模数、数模转换电路之间的通道,以达到分时切换的功能。 ADC0809转换时序:
首先输入地址选择信号,在ALE信号作用下,地址信号被锁存,产生译码信号,选中一路模拟量输入。然后输入启动转换控制信号START(不小于100ns ),启动A/D转换。转换结束,数据送三态门锁存,同时发出EOC信号,在允许输出信号控制下,再将转换结果输出到外部数据总线。
31

