基于8086的电子时钟设计:利用8254和8255实现
4星 · 超过85%的资源 需积分: 15 131 浏览量
更新于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的端口发送出去。
- 键盘扫描:虽然在这个设计中未明确提到,但为了实现数码管的选择和可能的用户交互,还需要实现对小键盘的扫描。
总结,这个交通灯微机原理课程设计实际上是一个电子时钟系统的实现,涉及到了微处理器、定时器、接口芯片和显示驱动等多个方面的微机原理知识。通过这样的设计,学生可以深入理解微机系统的工作原理以及硬件与软件的交互方式。
502 浏览量
2009-01-06 上传
163 浏览量
222 浏览量
2024-06-27 上传
112 浏览量
2024-11-07 上传
352 浏览量
tt123123123
- 粉丝: 0
- 资源: 14
最新资源
- nlp_research_project
- 【容智iBot】2一分钟带你了解AI和RPA的区别.rar
- 小波相位同步_baiyang.zip_MATLAB 小波变换_eeg data_mixture1rq_脑电数据_脑电数据小波
- udacity-intro-to-programming:纳米级编程入门的所有代码,包括动物交易卡python冒险游戏像素艺术制作者等项目以及其他附带项目
- D.O.G.-开源
- Android库绘制漂亮而丰富的图表。-Android开发
- DefendLineII-开源
- 05_TestingGrounds:“饥饿游戏”启发的FPS具有较大的户外地形。 先进的AI,基本网络,拾音器,骨架网格物体,检查点等。 (参考号:TG_URC)http:gdev.tvurcgithub
- 320kbps
- 【容智iBot】1自动化执行业务流程.rar
- chaski:适用于Android的Wi-Fi网络共享的轻量级框架
- LAB08-CVDS
- JVM-java-springboot-demo.zip
- mybatistest.7z
- e-commerce:电子商务迷你项目
- Sketch-Pebble-Templates:用于Sketch的Pebble模板