微机原理与接口技术实验指导书
INT连接到INTR,8259的8路中断请求线IR0~IR7就成了单一INTR中断请求线的扩充。这8路中断源共用INTR的中断矢量,共用INTR的中断服务线程。在INTR的中断服务线程中通过对8259 OCW3的查询,以确定是IR0~IR7中哪个产生中断,然后转到相应的服务线程进行处理。将8259的OCW3中P位置1即可执行查询,查询字格式如图2-10所示。
图2-10 8259 OCW3查询命令字格式
本实验要求实现8259控制器IR0、IR1两路中断。用KK1+和KK2+模拟两个中断源,在IR0对应的服务程序中显示字符“0”,在IR1对应的服务程序中显示字符“1”。实验程序参考流程如图2-11所示。参考实验电路如图2-12所示。
实验步骤如下:
(1) 确认从PC机引出的两根扁平电缆已经连接在实验平台上。 (2) 首先运行CHECK程序,查看INTR中断号及相关信息。 (3) 参考实验流程图编写程序,然后编译链接。 (4) 参考实验接线图连接实验电路。
(5) 运行程序,按动KK1+、KK2+按键,观察中断响应是否正常。
图2-11 8259中断应用实验(2)参考程序流程图
26
微机原理与接口技术实验指导书
图2-12 8259中断应用实验(2)参考接线图
2.4.6 实验原始记录
记录程序调试中遇到的主要问题和解决方法。
2.2.7 实验报告与总结
(1)体会中断请求的“边沿触发”和“电平触发”特性,该如何编程和操作? (2)总结中断程序的调试方法和体会。
27
微机原理与接口技术实验指导书
2.5 8254定时/计数器应用实验
2.5.1 实验目的
(1) 掌握8254的工作方式及应用编程。 (2) 掌握8254的典型应用电路接法。
2.5.2 实验设备
PC微机一台、TD-PIT实验系统一套。
+
2.5.3 实验内容
(1) 计数应用实验。编写程序,应用8254的计数功能,用开关模拟计数,使每当按动KK1-8次后,产生一次计数中断,并在屏幕上显示一个字符‘8’。
(2) 定时应用实验。编写程序,应用8254的定时功能,实现一个秒表计时并在屏幕上显示。
2.5.4 实验原理
8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:
(1) 有3个独立的16位计数器; (2) 每个计数器可按二进制或十进制(BCD)计数; (3) 每个计数器可编程工作于6种不同工作方式;
(4) 8254每个计数器允许的最高计数频率为10MHz(8253为2MHz);
(5) 8254有读回命令(8253没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。
(6) 计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为n=fCLKi÷fOUTi、其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。 图2-13是8254的内部结构框图和引脚图,它是由与CPU的接口、内部控制电路和三个计数器组成。8254的工作方式如下述:
(1) 方式0:计数到0结束输出正跃变信号方式。
(2) 方式1:硬件可重触发单稳方式。 (3) 方式2:频率发生器方式。 (4) 方式3:方波发生器。
(5) 方式4:软件触发选通方式。 (6) 方式5:硬件触发选通方式。
28
微机原理与接口技术实验指导书
图2-13 8254的内部接口和引脚
825