基于8086的电子时钟设计:利用8254和8255实现

4星 · 超过85%的资源 需积分: 15 21 下载量 102 浏览量 更新于2024-08-02 收藏 135KB DOC 举报
"交通灯微机原理课程设计" 在本次微机原理课程设计中,主要的任务是构建一个基于8086 CPU的电子时钟系统,该系统能够准确计时并将时间显示在数码管上。设计的核心是利用8254定时器芯片进行定时,并通过8255接口芯片控制数码管的显示。 1. 设计任务详解: 设计的电子时钟需具备计时功能,从0开始计时,并在数码管上逐秒更新。每过60秒,分钟计数器加1;每过60分钟,小时计数器加1。8254芯片被配置为周期性地产生计数,当计数值达到9秒后,会复位并重新开始计时,同时通过8255向数码管发送数据,使得数码管能够动态地显示当前的秒数。 2. 设计要求解析: - 总体内容:构建一个电子时钟,能够实时显示时间,并具备计时功能。 - 接口设计:设计出完整的接口电路,包括8254定时器和8255接口芯片的连接,确保电路能在实验平台上正常工作并通过调试。 - 程序设计:绘制程序流程图,编写全部程序代码,并提供详细的程序设计说明和注释。 3. 设计思路: - 8254芯片作为定时器,接收30KHz的脉冲输入,每秒在OUT0端产生一个脉冲变化,触发中断请求。 - 中断处理程序负责控制进位逻辑,依据秒、分的进位规则更新计数器。 - 数码管显示的控制通过8255实现,根据预设的二进制码控制小键盘的X1, X2, X3, X4列,从而点亮对应的数码管。 - 四个数码管的显示顺序和逻辑控制:秒的个位、十位,分的个位、十位,通过不同的二进制码和8255的A、B端口发送到小键盘,实现数码管上的数值显示。 4. 电路原理与电路图(简述): 电路主要包括8086 CPU、8254定时器、8255并行接口和数码管显示部分。8086 CPU通过地址线和数据线与外围设备通信,8254接收来自CPU的指令来设置计数模式和初始计数值。8255则根据CPU的命令控制数码管的段选和位选,以显示正确的数字。电路图会详细描绘这些组件之间的连接方式,包括地址线、数据线和控制线的布局。 5. 程序设计要点: - 定时器初始化:设置8254的计数模式,如方式2,使它在接收到脉冲时递减计数。 - 中断服务程序:处理秒、分、小时的进位逻辑,更新数码管显示的数据。 - 数码管显示控制:根据当前计数值,计算对应的二进制码,然后通过8255的端口发送出去。 - 键盘扫描:虽然在这个设计中未明确提到,但为了实现数码管的选择和可能的用户交互,还需要实现对小键盘的扫描。 总结,这个交通灯微机原理课程设计实际上是一个电子时钟系统的实现,涉及到了微处理器、定时器、接口芯片和显示驱动等多个方面的微机原理知识。通过这样的设计,学生可以深入理解微机系统的工作原理以及硬件与软件的交互方式。