基于AT89C51的单片机电子跑表设计详解

版权申诉
5星 · 超过95%的资源 1 下载量 163 浏览量 更新于2024-06-27 收藏 239KB DOC 举报
本文档详细介绍了基于单片机的电子跑表设计,主要包括以下几个方面的内容: 1. **设计内容及要求**: - 要求实现一个具备时钟和电子跑表功能的系统,开机状态下作为时钟,使用4位LED数码管显示小时和分钟,采用24小时计时制;通过按键控制切换至电子跑表模式,可以使用3位数码管进行计时,从00.0开始。 2. **系统总体方案设计**: - 选择了结构简单的单片机方案,具体采用了AT89C51单片机,该单片机拥有4k Flash存储器、128字节RAM、32个I/O口线等丰富的功能,包括定时/计数器和中断结构,以及全双工串行通信口等。 3. **硬件部分**: - **主控制器单片机**:选择AT89C51,强调了其低功耗模式和内存容量,以及内部定时器/计数器T0和T1用于实现时钟和计时模块。 - **时钟电路**:通过晶体振荡器和电容组成,确保稳定的时钟源,单片机的机器周期设定为1us。 - **显示接口电路**:使用4位共阴数码管,采用动态显示技术,通过P1和P2口线控制段选和位选信号。 - **键盘接口电路**:设计了4个按键与单片机的I/O口连接,用于控制电子跑表的不同功能,如切换、开始、暂停和重置。 4. **系统软件设计**: - **模块化设计**:采用C51编程语言,将软件划分为键盘扫描、时间处理和显示模块,提高了代码的组织性和可维护性。 - **主程序设计**:包含了主函数,以及6个功能函数和2个中断服务函数,实现了跑表的启动/暂停/清零等功能。 - **时间处理模块**:利用单片机的定时器功能处理时间显示。 - **键盘扫描模块**:负责处理用户输入,消除按键抖动,确保准确识别按键操作。 5. **调试与使用说明**:设计者还提供了系统调试和使用的详细指南,确保了设计的完整性和实用性。 本文档全面地阐述了一个基于AT89C51单片机的电子跑表设计过程,涵盖了硬件选型、接口设计和软件编程的各个方面,旨在提供一个结构清晰、功能齐全的解决方案。
2023-02-27 上传
目 录 第一章 课题设计内容及要求 2 1.1 内容 2 1.2 要求 2 第二章 系统方案设计 3 2.1设计方案 3 2.2 设计原理 3 第三章 系统硬件设计 4 3.1 硬件电路的设计方案及框图 4 3.2 单片机的选择 4 3.3 时钟与复位电路的设计 5 3.3.1 时钟电路 5 3.3.2 复位电路 6 3.4 LED显示电路的设计 7 3.4.1 控制方式 7 3.4.2 段驱动芯片选择 8 3.5 按键电路 8 第四章 系统软件设计 9 4.1 主程序的设计 10 4.2 时钟、跑表计时程序模块的设计 12 4.3 T1断程序流程图如下: 16 4.4 代码转换程序: 18 4.5 显示程序 19 第五章 系统的安装调试说明 21 第六章 总结与体会 22 参考文献 23 附 录 24 1.程序原理图 24 2.程序清单 24 第一章 课题设计内容及要求 1.1 内容 (1)本课题以单片机为核心,设计出电子跑表,具有以下功能: (2)具有电时钟和跑表功能; (3)做时钟时在4位LED 显示器上显示分、秒; (4)做跑表时显示范围000.0秒~999.9秒; (5)当按下启动按钮跑表开始计时,按下停止按钮停止计时,当按下复位按钮跑表 回零。 1.2 要求 用伟福编译程序,用Proteus画出电路图进行仿真。 第二章 系统方案设计 2.1设计方案 电子跑表的设计有多种方法,例如,可用中小规模集成电路组成电子跑表;也可用 专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子跑表;还可以利用单片 机来实现等等。本次单片机综合实验需要进行硬件设计与软件设计。 2.2 设计原理 (1)本系统采用AT89C51单片机、4位LDE显示、两块块74LS244芯片、4个调节按钮 、共同构成我的单片机电子跑表的硬件。 (2)计时单元由单片机内部的定时器/记数器来实现。 (3)时间显示功能通过LED数码管动态扫描来实现。由于数码管要显示时钟,还要 显示跑表,因此,我分别用31H、32 H计时钟,用R5、R6计跑表,当要显示哪一个的时候,就把哪一个地址送到显示地址35 H、36 H中,达到跑表显示与时钟显示互不影响。 (4)电子跑表的启动/复位/清零功能由软件来实现。P1.1接启动键,P1.3接停止键 ,P1.0接清零键。P1.2实现时钟和跑表的转换功能。 (5)由于跑表和时钟的中断服务程序有冲突,我们就把跑表的中断服务程序写成另 外的子程序了,这样就必须要引入标志位了,我们在此用42H标志位,用标志位来给跑表 计数。 第三章 系统硬件设计 3.1 硬件电路的设计方案及框图 根据设计要求和设计思路,确定该系统的设计方案,图1所示为该系统设计方案的硬 件电路设计框图。 硬件电路有五部分组成,即单片机按键输入电路,单片机时钟电路,复位电路,LED显示 器段码驱动电路,4位LED显示器电路。 图1 硬件电路设计框图 3.2 单片机的选择 根据初步设计方案的分析,设计这样一个简单的应用系统,可以选择带有EPROM的单 片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。本系统 选用AT89C51单片机。该芯片的功能与MCS-51系列单片机完全兼容。 下图为MCS51的管脚图。共有40个管脚,P口32个输入输出管脚本次设计用了16个。 3.3 时钟与复位电路的设计 3.3.1 时钟电路 单片机工作的时间基准是由时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接 一只晶振及两只电容就构成了单片机的时钟电路,如下图所示。 电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围(20- 40)pF。石英晶体选择6MHz或12MHz都可以,起结果只是机器周期时间不同,影响计数器 的计数初值。 3.3.2 复位电路 单片机的RST管脚为主机提供一个外部复位信号输入端口。复位信号是高电平有效, 高电平有效的持续时间应为2个机器周期以上。单片机的复位方式有上电自动复位和手工 复位两种。复位电路图是下图所示。下图是51系列单片机常用的上电复位和手动复位组 合电路。 3.4 LED显示电路的设计 3.4.1 控制方式 LED显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED 驱动器的选择较为简单,只要驱动器的驱动能力与显示器的电流相匹配即可,而且一般 只需考虑段的驱动;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合 完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。 此设计选用共阴极接法的4位时钟型LED显示器。其中管脚a,b,c,d,e,f,g为4位LED各 段的公共引出端;D1,D2,D3,D4分别是每一位的共阴极输出端;dp是小数点引出端。对于 这种结构的LE