本课程基于微机原理,旨在通过设计电子时钟项目,让学生掌握微处理器的应用、汇编语言编程及硬件接口技术等关键技能。
### 电子时钟课程设计知识点总结
#### 一、课程设计目的与意义
- **目的**: 此次课程旨在让学生深入理解8255、8259及8253等芯片的工作原理及其编程方法,通过实际操作使学生掌握这些芯片的应用技巧。
- **意义**: 学生不仅能够将理论知识应用到实践中,还能学习如何利用微机原理解决现实问题。此外,该课程有助于培养学生的系统设计能力、编程能力和综合解决问题的能力。
#### 二、开发环境及设备
- **开发环境**:
- PC机: 安装Windows 98操作系统。
- 实验箱: 提供硬件接口和资源。
- 导线: 连接各个组件的工具。
- **所需设备**:
- **8253定时器**: 生产秒脉冲,作为中断请求信号源。
- **8255并口**: 用于连接小键盘与LED显示输出。
- **8259中断控制器**: 管理来自外部的中断请求。
- **LED显示屏**: 显示时、分、秒信息。
- **小键盘**: 控制时间设置和启动/停止操作。
#### 三、设计思想与原理
- **设计理念**:
- 主要组件: 使用8088微处理器,配合使用8253定时器计数器、8255接口芯片以及8259中断控制器。
- 工作流程:
- 利用8253定时计数器生成周期性中断信号以更新时间显示。
- 通过8255接口接收小键盘输入,并控制LED显示屏输出。
- 使用8259管理由8253产生的中断请求。
- **设计原理**:
- 依靠8253定时器的周期性中断信号来更新时间显示。
- 利用8255接口处理来自小键盘的时间设置和启动/停止操作。
- 时间格式设定为HH:MM:SS,最大支持时间为59:59:59。
#### 四、具体模块设计
- **主程序模块**: 控制整个流程的进行,包括初始化芯片及响应中断和服务请求。
- **小键盘模块**: 接收用户按键输入(如设置时间或启动/停止时钟)。
- **显示模块**: 负责将当前时间信息展示在LED屏幕上。
- **定时模块**: 利用8253计数器实现时间更新逻辑。
#### 五、程序流程图
- **主程序流程**:
- 初始化8255、8253和8259芯片。
- 进入循环等待中断或服务请求的发生。
- 根据接收到的请求执行相应的子程序处理。
- **键盘扫描程序流程**:
- 检测是否有按键被按下。
- 识别并响应用户的操作指令。
- **中断处理程序流程**:
- 接收8253定时器产生的中断信号。
- 更新时间显示数据。
- 向8259发送中断结束标志。
#### 六、芯片结构
- **8259A的内部构造及引脚功能**:
- 内部包括优先级管理、请求识别和向量提供等功能模块。
- 引脚作用:
- D7~D0: 双向数据线。
- WR(低电平有效): 写入信号输入端口。
- RD(低电平有效): 读取信号输入端口。
- INT: 中断输出引脚。
- INTA(低电平有效): 中断响应请求信号。
- **8255的内部构造及引脚功能**:
- 是一种通用并行接口芯片,支持三种工作模式。
- 主要用于扩展I/O端口,例如连接小键盘或LED显示器等设备。
- **8253定时器的内部构造及引脚功能**:
- 一个可编程的计时/计数器芯片。
- 支持多种操作模式,可用于生成精确的时间信号。
#### 总结
通过电子时钟课程设计的学习过程,学生们不仅能够掌握关于8255、8259和8253等芯片的基本原理及其应用方法,还能学会如何进行系统集成的设计与调试。这种实践性学习对于提升学生的动手能力和创新思维具有重要意义。同时,该课程也帮助学生更好地理解微机原理在实际问题解决中的作用。