### 微机原理与接口技术实验报告分析
#### 实验背景
本次实验是基于安徽工业大学陆勤老师的指导,旨在深入理解和掌握微机系统的原理及接口技术的实际应用。实验选取了微机系统中常用的三个器件——8253定时/计数器、8255并行接口芯片以及8259中断控制器进行综合实验。
#### 实验目的
1. **理解8253计数器的工作原理**:通过设置不同的工作模式来实现定时或计数功能。
2. **掌握8255并行接口的应用**:学习如何通过编程控制8255实现数据的输入输出操作。
3. **熟悉8259中断控制器的配置**:了解中断请求的处理机制,包括初始化设置和中断服务程序的设计。
#### 实验设备与环境
- 微机系统实验箱
- PC机
- 实验所需的软件开发环境
#### 实验内容
##### 8253计数器实验
- **目标**:实现计数器1以方式0(硬件重装初值)计数,计满3个数后产生中断,并在中断发生5次后结束。
- **实验线路**:根据提供的电路图进行连线。
- **实验程序**:使用汇编语言编写程序实现上述功能。
- 初始化8259A中断控制器,设置为边沿触发、单片模式,且需要发送ICW4命令。
- 设置8253计数器1工作于方式0,计数初值为3,采用BCD编码。
- 控制8255A的各个端口工作模式,以便配合实验需求。
- 开启中断并进入循环等待状态,在此过程中,通过中断服务程序更新计数器值并判断是否达到指定次数。
##### 8255并行接口实验
- **目标**:利用8255实现数据的输入输出操作。
- **实验程序**:在实验代码中可以看到8255A被配置为:A口方式0输出,C口上半部输出,B口方式0输出,C口下半部输出。通过这种方式,可以方便地实现数据的显示等功能。
##### 8259中断控制器实验
- **目标**:学习8259A的初始化和中断服务程序设计。
- **实验程序**:实验中通过设置8259A的控制字来实现中断请求的处理。包括写入ICW1、ICW2、ICW3、ICW4等命令,这些命令用于初始化8259A的工作方式。此外,还设计了中断服务程序来响应由8253计数器产生的中断。
#### 实验步骤详解
1. **初始化8259A**:
- 写入ICW1设置为边沿触发、单片模式。
- 写入ICW2设置中断向量。
- 写入ICW4设置为8086/8088系统兼容模式。
2. **配置8253计数器1**:
- 发送控制字设定通道1为方式0,BCD编码,只读/写低字节。
- 设置计数初值为3。
- 开启中断。
3. **配置8255A**:
- 设置A口为方式0输出,C口上半部输出,B口方式0输出,C口下半部输出。
4. **主程序流程**:
- 跳转至`START0`处执行初始化操作。
- 进入无限循环`WATING`,等待中断发生。
- 当计数器计满时,触发中断。
- 中断服务程序`INTREEUP3`中更新计数器值,并检查是否达到指定次数。
- 如果达到指定次数,则清除中断标志,退出中断服务程序。
#### 结论
本实验通过实际操作加深了对8253定时/计数器、8255并行接口芯片以及8259中断控制器的理解和掌握。不仅学习了这些器件的基本原理,还掌握了它们的具体应用方法。通过对实验程序的编写和调试,进一步提高了编程能力和问题解决能力。这对于后续更复杂的微机系统设计具有重要意义。
1