AT89C51单片机控制的多功能秒表系统设计

版权申诉
0 下载量 139 浏览量 更新于2024-06-25 收藏 387KB PDF 举报
"这篇文档是关于基于单片机的多功能秒表系统课程设计的报告,主要涉及了AT89C51单片机的使用,系统设计包括定时器/计数器、显示电路、电源电路、键盘电路等,并通过汇编语言编程实现各种功能,如加、减计时,多时间记录,以及Proteus软件的仿真验证。" 这篇报告详细介绍了基于单片机的多功能秒表系统设计过程,主要器件为AT89C51单片机,它以其小巧、功能强大、通用性强等特点被广泛使用。该秒表系统利用单片机的定时器/计数器功能,结合外部电路实现计时和显示。系统设计包括以下几个关键部分: 1. 电源:采用7809电源提供稳定的+5V电压,为系统供电。 2. 复位电路:上电加按钮复位电路确保系统在启动时处于预设状态。 3. 晶体振荡电路:为单片机提供精确的时钟信号,确保计时精度。 4. 显示电路:使用LED数码管并通过P0口驱动,实现两位数的动态显示,显示范围为00至99秒。 5. 键盘电路:通过按键控制计时,包括计时的加、减、切换不同计时值以及快加和复位功能。 在软件设计方面,程序用汇编语言编写,采用了模块化设计,包括加1、减1、延时、快加、复位和显示等多个子程序,便于独立设计、调试和管理。源代码通过WAVE工具进行编译和调试,而硬件系统的仿真则借助于Proteus软件,能够直观地观察到系统运行效果。 关键词涵盖了多功能秒表、单片机技术、子程序模块化设计以及Proteus仿真技术的应用,整个设计充分展示了单片机在实时计时应用中的实用性。 在报告中,还详细阐述了设计任务、要求、系统总体方案以及各硬件模块的具体设计,如电源电路的选取、复位电路的构建、晶体振荡电路的设计,以及显示和键盘电路的实现方式。此外,软件设计部分讨论了设计思路,提供了系统流程图,有助于理解整个秒表系统的运作逻辑。 通过这个课程设计,学生不仅掌握了单片机的基本原理和应用,也锻炼了实际问题的解决能力和系统集成能力,对提升电子工程领域的实践技能大有裨益。
2023-02-27 上传
单片机课程设计 题 目 基于单片机的 多功能秒表 目 录 1 设计总体方案 1 1.1 设计要求与目的 1 1.2 设计思路 1 1.3工作原理 2 1.4 功能说明 2 2 主要元器件介绍 3 2.1 AT89C51单片机 3 2.2 四位共阴数码管 5 3 系统硬件设计 6 3.1 电源电路 6 3.2 时钟电路 6 3.3 复位电路 7 3.4 显示电路 7 3.5 键盘电路 8 4 软件设计 9 5 系统调试及结果分析 11 6 总结 12 参考文献 13 附录1:总体电路原理图 14 附录2:元器件清单 15 附录3:实物图 16 附录4:源程序 17 1 设计总体方案 1.1 设计要求与目的 设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计时器定时和计数的原理 ,结合显示电路、用四位共阴极LED数码管以及按键来设计秒表计时器,实现暂停与清零 功能,并多次计数。 在设计系统前,我们主要考虑以下一些原则:节约元器件,尽量降低系统实现成本;硬 件电路尽量简单,使得硬件实现、问题检查、软件编程以及系统调试的难度都降低;能 在软件上实现,使芯片利用率尽可能高;软件设计方案要优化,使得做成实物尽可能简 单,方便仿真与检测;设计方案要和当前的试验平台相应;充分利用各种资源,尽量采 用成熟与经典的电路。 1.2 设计思路 因为秒表的设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方 法。模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可以分为功能 模块和控制模块两类。我们通过模块化程序设计可按适当的原则把一个情况复杂、规模 较大的程序划分为一个个较小的、功能相关而又相对独立的模块。 根据电子秒表的设计要求,主要设计一个计数系统、译码驱动、数码显示系统、控制 系统。其主要核心技术在于产生秒表信号的计数脉冲与计数器之间的级联。 1.3工作原理 本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结 合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计 计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,包括显示 程序,加减计数程序,快加快减程序,中断,延时程序等,并调试运行,硬件系统利用 proteus强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 1.4 功能说明 开始按钮是用来开始进行计数的。停止按键用来暂停程序的运行,当按下暂停键时, 程序停留在原地,等待再次按下暂停键,再次按下暂停键后,程序继续运行。计数按钮 用来记录数据,每按下一次计数按钮,程序自动记录一个数据,并存放到指定内存单元 中。复位按钮是用来对程序复位,每当程序出现死循环的时候,按下复位键即可跳出死 循环,回到程序的开始。 这些功能分别用开始/暂停键、记录键、上翻键、下翻键以及复位键来实现。还有一 个是清零键,用于对当前数码管的计数进行清零,但是对芯片内存单元保存的记录并不 产生影响,这点事清零键与复位键的区别。 2 主要元器件介绍 2.1 AT89C51单片机 AT89C51单片机是低电压、高性能CMOS 8位微处理器,是一种带2k字节闪存可编程可擦除只读存储器。单片机的可擦除只读存储 器可以反复擦除1000次,含128字节内部RAM,32个I/O口线,2个16位定时/计数器,一个 全双工串行通信口,片内振荡器及时钟电路。空闲时停止CPU的工作,但允许RAM、定时 /计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止 工作并禁止其他所有部件工作直到下一个硬件复位。引脚图见图2-1所示: 图2-1 AT89C51引脚图 VCC:供电电压。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门 电流。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门 电流,当P2口被写"1"时,其管脚被内部上拉电阻拉高,且作为输入 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口 写入"1"后,它们被内部上拉为高电平,并用作输入。 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁