基于AT89C52单片机的电子秒表设计与仿真

news2024/12/25 12:36:57

点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/87755619?spm=1001.2014.3001.5503
在这里插入图片描述

源码获取
主要内容:
本设计以AT89C52单片机为核心,采用常用电子器件设计,包括电源开关、按键、数码管显示、LCD1602液晶。将软、硬件有机的结合起来,使得系统能够实现四位LCD显示,最大显示时间为09:59:99,有开始、暂停、复位、记录和查看功能,并设有每秒提醒功能。
基本要求:
1、设计电子秒表,精度为0.01秒;
2、具有开始、暂停、复位等功能;
2、每到一秒提示,此功能可以关闭;
3、按键启动、停止秒表读数;
4、运行结果。
主要参考资料:
[1]胡汉才单片机原理及其接口技术第二版清华大学出版社2004
[2]汪贵平新编单片机原理及应用。机械工业出版社 2010.0
[3]戴佳.单片机C51语言应用程序设计. 电子工业出版社 2006.7
[4]朱民雄.计算机语言技术.北京航空航天大学出版社 2002. 1
[5]李鸿. 单片机原理及应用.湖南大学出版社. 2004.8
[6]刘建清.单片机技术. 国防工业出版社 2006.8
完 成 期 限:12 月 11 日 - 12 月 26 日
指导教师签名:
课程负责人签名:

摘 要
本次设计是基于AT89C52单片机的电子秒表的设计,单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计内容为以AT89C52单片机为核心的秒表,采用两个4位LED数码管显示以及外部中断电路来实现数字秒表的基本功能。它采用键盘输入,单片机技术控制。设计内容以硬件电路设计,软件设计和PCB板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示计时。
本次课程设计主要完成具备基本功能的电子秒表的理论和实践设计,电子秒表是重要的记时工具,广泛运用于各行各业中。作为一种测量工具,电子秒表相对其它一般的记时工具具有便捷、准确、可比性高等优点。提高了精确度,而且可以大大降低错误率。因此电子秒表常常用于体育竞赛及各种其他要求有较精确时间的各领域中。

关键词:AT89C52单片机;电子秒表;数码管
目录
摘 要 1
第一章 概论 2
1.1概述 2
1.2课程设计目的 2
1.3 任务要求 2
1.4 方案设计 2
第二章 系统的硬件电路 4
2.1 系统的总体方案 4
2.2时钟电路 4
2.3复位电路 5
2.4显示模块设计 5
2.5按键电路 6
第三章 系统设计 7
3.1 系统功能简介 7
3.2程序的主模块 8
第四章 仿真与调试 9
4.1系统仿真 9
4.2硬件调试 11
第五章 心得体会 12
第六章 参考文献 13

第一章 概论
1.1概述
近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。
人们在日常生活中,有很多时候要精确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。本设计利用AT89C52单片机的定时器/计数器定时和记数的原理,使其能精确计时。计时精度达到0.01s,四个按钮开关分别实现开始、暂停、清零、保存、读取的功能。显示电路由两个四位共阴极数码管组成。
电子秒表精确度的提高,使它的运用越来越广泛,它解决了传统的由于计时精度不够造成的误差和不公平性是各种体育竞赛的必备设备之一。
1.2课程设计目的
(1)掌握52单片机的基本使用方法和相关电子器件的应用。
(2)掌握键盘的使用,灵活运用中断。
(3)掌握PROEUS的仿真与调试。
(4)秒表具有启动/停止、保存、读取、复位功能。
(5)单片机为控制核心,实现方案设计、电路的设计、程序设计,并在PROTEUS电子设计平台实现仿真。
1.3 任务要求
1、设计基于AT89C52数码管显示的电子秒表。
2、通过按键控制开始、清零、暂停和停止能够准确计时并显示。
3、开始显示00:00:0。
4、方便做出实物。
5、最大计时09:59:99、最大精确到0.01秒。
1.4 方案设计
(1)在性价比满足应用系统要求的基础上,选择更可靠、更熟悉的单片机,缩短研制周期。
(2)尽可能选择较成熟的典型应用电路,以提高系统的可靠性。
(3)单片机内部的资源与外部扩展资源应在满足应用系统设计要求的基础上留有余地,为进一步升级和扩展其功能提供方便。
(4)应充分结合软件方案统筹考虑硬件结构,通常硬件功能较完善,其相应的软件就简单,但硬件成本较高;而硬件功能略低,其相应的软件就复杂。实际中应尽量以软件替代硬件来降低成本。
(5)整个系统的相关器件应尽可能做到性能匹配,如电平、速度的匹配等。

第二章 系统的硬件电路
2.1 系统的总体方案
本系统采用AT89C52单片机为中心器件,利用其定时器/计数器定时和记数的原理,如图2-1所示,结合硬件电路如复位电路,晶振电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用C语言编写程序,包括显示程序,计数程序,中断,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
在这里插入图片描述

        图:2-1 系统电路原理图

2.2时钟电路
单片机属于数字电路,其工作实在统一的时钟电路脉冲控制下一拍一拍地进行,这个脉冲是由单片机振荡电路和控制器中的时序电路电路发出的。单片机内部有一个高增益反向放大器,用于构成振荡器,但要形成时钟脉冲,外部还需要附加电路。STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图2—3所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在5,50MHz之间选择,电容值在22 pF之左右,电容值的大小可对频率起微调的作用。
在这里插入图片描述

              图:2-2时钟电路图 

2.3复位电路
复位时单片机的初始化操作。复位电路有两种:上电复位和上电加键复位。上电自动复位是通过外部复位电路的电容充电来实现的,在电路加电工作业后,系统处在正常工作状态,且振荡器工作稳定以后,在RST端维持2个机器周期以上的高电平,单片机就可完成复位操作。只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。上电加键复位是通过使复位端经电阻与Vcc电源接通而实现的,而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。当复位按键弹起后,电源通过电阻对电容重新充电,RST引脚端出现复位正脉冲。其维持时间取决于RC电路的时间常数。
在这里插入图片描述

               图:2-3复位电路图

2.4显示模块设计
显示模块是两个四位一体的共阴极数码管,用于显示秒表记录的数据,显示模块电路图如图2-5所示。
在这里插入图片描述

             图:2-4显示模块设计图

2.5按键电路
按键是常开的按键开关,每个按键都被赋予一个代码,称为键码。按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/0端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动 持续时间的长短与开关的机械特性有关,一般在5,10ms之间。本设计中是用软件程序来去除抖动。
由于系统使用到的按键数并不多,所以不选用矩阵键盘而选用独立式键盘电路。。直接用I/0口线构成单个按键电路,每个按键占用一条I/0口线,每个按键的工作状态不会产生互相影响。Key3接开始/暂停按键,key5接复位按键,key4接保存按键,key3和4接读取按键,然后按键都与地相接。按键电路图如图2-5所示:
在这里插入图片描述

                  图:2-5按键电路

第三章 系统设计
3.1 系统功能简介
(1)开机后,点击开始按钮,计时开始。
(2)停止按键用来暂停程序的运行,当按下暂停键时,程序停留在原地,等待次按下暂停键,再次按下暂停键后,程序继续运行。
(3)记录按钮用来记录数据,每按下一次计数按钮,程序自动记录一个数据,存放到指定内存单元中,该系统可以同时记录多个数据。
(4)复位按钮是用来对程序复位,每当程序出现死循环的时候,按下复位键即跳出死循环,回到程序的开始。
在这里插入图片描述

图 3-2 系统流程图
3.2程序的主模块
本程序主要分为四部分:主程序模块、显示模块、按键中断模块、定时模块。
(1)主程序分析:主程序负责整个程序的调用和转跳,实现启动与暂停、复位、读取之间的切换。程序开始时进行系统初始化,之后显示“00:00:00”,接着等待“启动”按键触发。
(2)显示模块分析:显示模块负责把分、秒、毫秒通过四位LCD显示出来,中间通过“:”隔开。首先根据定时器用来保存分、秒、毫秒的寄存器的值,判断得知每个数字的段码,把分的高位送到数码管的第一位,再把分的低位送到数码管的第二位,接着把“:”的段码送到数码管的第三位,同样的方法把秒和微秒送到数码管,然后循环扫描每一位把时间显示出来。
(3)按键中断服务程序分析:产生外部中断时,进行按键判断,程序采用3次条件转跳进行按键判断,每个按键都标志相应的值:“启动/停止”时把定时器开放或与停止,“复位”时,把用来保存时间的寄存器清0,“保存”时,把用来保存时间的寄存器的值保存到连续的单元中,“读取”时把保存时间的单元依次读取出来放回到用来保存时间的寄存器里。
(4)定时程序分析:当按了“启动”键时,开放定时,以10MS作为一个计时单位,每计100个10毫秒(即1秒),就进一位,用(INCR6)实现,R6加了60次之后,R7就加1,表示“分”加1。

第四章 仿真与调试
4.1系统仿真
Proteus仿真测试结果如下图:
在这里插入图片描述

图:4-1仿真效果图1

在这里插入图片描述

图:4-2 仿真效果图 2

在这里插入图片描述

图:4-3 仿真效果图 3
4.2硬件调试
硬件调试一般分为四个步骤:
第一个是目测法。这个方法是我们最常用的方法之一,只要是检查一些很明显的错误,如电解电容的电极是否连错、焊点否光亮饱满无虚焊,用万用板连的线是否连好了、焊盘有否脱落。
对单片机应用系统中所用的器件与设备,要仔细核对型号,检查它们对外连线(包括集成芯片引脚)是否完整无损。通过目测查出一些明显的器件、设备故障并及时排除。
第二个是万用表测试。目测检查后,可进行万用表测试。先用万用表复核目测中认为可疑的连接或接点,检查它们的通断状态是否与设计规定相符。再检查各种电源线与地线之间是否有短路现象,如有再仔细查出并排除。
第三个是上电检查。首先检查所有插座或器件的电源端是否有符合要求的电压,接地端电压是否接近于零,接固定电平的引脚端是否电平正确。在对各芯片、器件加电过程中,是否出现打火、过热、变色、冒烟、异味的现象。如出现这些现象,应立即断电,仔细检查电源加载的情况、各个芯片是否插反等,找出产生异常的原因并加以解决;并且用万用表测各芯片的引脚电平是否合理。再有就是,在加电期间,通过给合逻辑功能简单的芯片加载固定输入电平,用万用表测其输出电平的方法来判定该芯片的好坏。在调试过程中,没有注意STC89C52与之对应的连接以及要注意的地方,最后结果功能不可以实现,经过查找电路,发现应该是读取片内的内容,31引脚/VPP要接高电平,结果在设计的时候没有注意,功能就实现不了。
第四个是复位检查。在上电检查后,按一下复位按钮,看实验板上的LED灯是否闪烁。如果不闪烁,那么说明复位有问题。就要仔细检查复位的电容是否接错了电极,线是否连错。刚开始时,我就把复位按键给接错了,把它和开始、停止键同时接地了,应该是并联电容接的。
第五章 心得体会
经过一个星期的课程设计,让我更加巩固了有关于单片机电路设计上的一些知识,运用所学的知识制作了一个基于52单片机的电子秒表设计。学会如何的去思考电路的制作,确定方案是这次课程设计的首要任务,确定了方案后,我们才知道如何的去实现它的功能,查找关于这方面的资料,然后动手去分析和制作电路。
通过本次电子秒表的设计,让我对单片机知识的实际应用有了更深刻的理解和体会,这次课程设计,不仅提高了动手能力,对设计的整个流程有了一定的了解,更了解到了单片机知识应用的广泛性和前景。设计的成功,极大地提高了自信心,促进了对单片机的学习兴趣,明白了理论联系实际的重要性。此次设计清楚了一项设计的整体流程:明确设计要求、功能及功能模块的设计,查阅相关资料并确定元器件,电路连接、调试、调整改进与检查,电路成型,总结;设计电路时,和搭档上网查阅了很多资料,这培养了搜索的能力,开拓了视野。调试过程中掌握了一些电路调试的方法和规律,同时也掌握了如何来检查和排除实验中的所遇到的一些常见故障,明白了动手的重要性,懂得了实践出真知的道理。电路的连接和调试极大地提高了动手实践能力,这也是目前较为缺乏的。作为工科的学生,就应该具备这样的动手能力。最后,设计报告的制作还培养了整理知识的能力。
总之,这次设计,认识到了知识的局限性,培养了动手能力,懂得了团队合作精神,对今后的学习起到了极大的促进作用。

第六章 参考文献
[1]胡汉才单片机原理及其接口技术第二版清华大学出版社2004
[2]汪贵平新编单片机原理及应用。机械工业出版社 2010.0
[3]戴佳.单片机C51语言应用程序设计. 电子工业出版社 2006.7
[4]朱民雄.计算机语言技术.北京航空航天大学出版社 2002. 1]
[5]李鸿. 单片机原理及应用.湖南大学出版社. 2004.8
[6]刘建清.单片机技术. 国防工业出版社 2006.8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/493149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全 等级保护 网络设备、安全设备知识点汇总

网络设备、安全设备知识点汇总 1、防火墙(Firewall) 定义:相信大家都知道防火墙是干什么用的, 我觉得需要特别提醒一下,防火墙抵御的是外部的攻击,并不能对内部的病毒 ( 如ARP病毒 ) 或攻击没什么太大作用。 功能:防火墙的功能…

coturn中turnutils_peer和turnutils_uclient使用说明

coturn的作用有两个:寻找反射地址以及流转发,本人写过webrtc janus服务器部署在公网,coturn转发媒体流 coturn下面的工具turnutils_stunclient用于查找反射地址。 而turnutils_peer和turnutils_uclient用于测试转发功能,再次给以…

STL中priority_queue自定义类型使用和源码简单分析

priority_queue使用 这里说一下优先级队列的其他的用法,这里我们先看默认的究竟是建立大堆还是小堆? #include <iostream> #include <queue>int main() {int arr[] { 10, 2, 1, 3, 5, 4, 0 };std::priority_queue<int> q;for (size_t i 0; i < sizeo…

基于springboot的私人健身与教练预约管理系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代…

计算机网络学习笔记-概述

目录 信息时代 互联网 因特网发展的三个阶段 制定互联网的正式标准阶段 互联网组成&#xff1a;边缘部分核心部分 边缘部分 核心部分 计算机网络 体系结构 OSI 七层参考模型&#xff1a;物理层 数据链路层 网络层 运输层 会话层 表示层 应用层 TCP/IP 4层参考模型&a…

【K8S系列】深入解析k8s网络

序言 你只管努力&#xff0c;其他交给时间&#xff0c;时间会证明一切。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 Kubernetes (k8s) 是一个容器编排平台&#x…

(8) 支持向量机分类器SVC案例:预测明天是否会下雨

文章目录 案例介绍1 导库导数据&#xff0c;探索特征2 分集&#xff0c;优先探索标签3 探索特征&#xff0c;开始处理特征矩阵3.1 描述性统计与异常值3.2 处理困难特征&#xff1a;日期3.3 处理困难特征&#xff1a;地点3.4 处理分类型变量&#xff1a;缺失值3.5 处理分类型变量…

Typora + PicGo + Gitee 搭建免费图床

搭建准备 本次搭建过程需要以下介质&#xff1a;Typora PicGo Gitee/GitHub &#xff0c;「免费&#xff01;」 Typora Typora 是一款 markdown 编辑器&#xff0c;支持几乎所有的 markdown 格式&#xff0c;神器&#xff01; 支持 macOS、Windows、Linux 三种操作系统&am…

Composition API 的优势、新的组件(Fragment,Teleport,Suspense)【Vue3】

四、Composition API 的优势 1. Options API 存在的问题 使用传统OptionsAPI中&#xff0c;新增或者修改一个需求&#xff0c;就需要分别在data&#xff0c;methods&#xff0c;computed里修改。 2. Composition API 的优势 我们可以更加优雅的组织我们的代码&#xff0c…

Packet Tracer - 在思科路由器上配置 AAA 认证

Packet Tracer - 在思科路由器上配置 AAA 认证 拓扑图 地址分配表 设备 接口 IP 地址 子网掩码 默认网关 交换机端口 R1 G0/1 192.168.1.1 255.255.255.0 不适用 S1 F0/1 S0/0/0 (DCE) 10.1.1.2 255.255.255.252 不适用 不适用 R2 G0/0 192.168.2.1 255.2…

(4)基本组件

目录 1. Designer 设计师** 2. Layout 布局*** 3. 基本组件 3.1 QWidget** 3.2 ui指针 3.3 QLabel 标签** 3.4 QAbstractButton 按钮类** 示例 1. Designer 设计师** Designer是一款独立的用于设计Qt界面的应用程序。 Designer程序保存的文件格式为.ui&#xff0c;这是Qt中的界…

腾讯云轻量应用服务器修改镜像系统有哪些限制?

腾讯云轻量应用服务器镜像可以更换或修改吗&#xff1f;可以&#xff01;镜像可以修改&#xff0c;镜像是指轻量服务器的预装操作系统&#xff0c;轻量服务器创建成功后镜像也是可以更换的。 镜像是轻量服务器的预装操作系统&#xff0c;轻量应用服务器的镜像不仅包含操作系统&…

看我如何通过帮助服务台轻松黑掉数百家公司

导语&#xff1a;几个月前&#xff0c;我发现黑客可以利用一个漏洞访问目标公司的内部通信。 这个漏洞只需要点击几下&#xff0c;就可以访问企业内部网络、 Twitter等社交媒体账户&#xff0c;以及最常见的Yammer和Slack团队。 更新: The Next Web 写了一篇我发现的这个漏洞的…

SAP BusinessObjects BI crack

SAP BusinessObjects BI crack 通过基于驱动程序标准的数据库、报告工具&#xff0c;甚至自定义应用程序&#xff0c;加入SAP BusinessObjects BI报告和分析。 与BI分析、报告、ETL工具和自定义解决方案集成。 SAP BusinessObjects BI奇妙功能中的CData驱动程序&#xff1a; BI…

数据结构与算法基础(王卓)(35):交换排序之快排【第一阶段:第一遍遍历】

目录 快速排序&#xff1a; 法一&#xff1a; 法二&#xff1a;&#xff08;常用、重难点&#xff09; 第一阶段&#xff1a;第一遍遍历 Project 1: 问题&#xff1a; Project 2: 问题&#xff1a; Project 3: 问题&#xff1a; Project 4: Project 5: 快速排序&am…

spring-模型数据和视图---视图解析器的说明以及大量代码演示

目录 spring-模型数据 ● 说明 应用实例需求 创建后面所有代码执行成功之后跳转的vote_ok.jsp页面 方式 1: 通过 HttpServletRequest放入 request 域 创建 Master类 创建Pet类 创建model_data.jsp 修改 VoteHandler增加方法 创建vote_ok.jsp, 显示数据 完成测试(Post…

初级算法-动态规划

主要记录算法和数据结构学习笔记&#xff0c;新的一年更上一层楼&#xff01; 初级算法-动态规划 一、斐波那契数二、爬楼梯三、使用最小花费爬楼梯四、不同路径五、不同路径二六、整数拆分七、不同的二叉搜索树八、0-1背包九、分割等和子集十、最后一块石头的重量十一、目标和…

深入浅出分支语句—【C语言】

目录 前言&#xff1a;为什么要学习分支和循环语句呢&#xff1f; 1. 语句的分类 2. 分支语句&#xff08;选择语句&#xff09; 2.1 if-else语句 注意点&#xff1a;if-else语句后面不加{}&#xff0c;默认只能跟一条语句 2.2 switch语句 注意点&#xff1a; 前言&…

平衡二叉树旋转机制

概念 平衡二叉树的旋转机制是一种通过对树进行旋转操作来保持其平衡的方法。 分类 平衡二叉树的旋转机制包括两种基本类型的旋转&#xff1a;左旋和右旋&#xff0c;以及它们的组合。 左旋 左旋是将一个节点的右子节点旋转到它的位置上&#xff0c;同时将该节点移到其左侧&…

关于低代码开发,你是真的了解了吗?

在低代码开发已是大势所趋的今天&#xff0c;不少企业都切身感受到了低代码开发带来的便利。低代码开发平台的优势在当下数字化浪潮中&#xff0c;为企业提供了定制专属的数字化解决方案。 低代码本身没有太强的行业属性&#xff0c;这也让低代码开发平台能够更加灵活地适应不同…