基于单片机的6位电子时钟

这篇具有很好参考价值的文章主要介绍了基于单片机的6位电子时钟。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

点击链接获取Keil源码与Project Backups仿真图

https://download.csdn.net/download/qq_64505944/87413394

基于单片机的6位电子时钟

源码获取

摘 要

近年来随着科技的飞速发展,人们对单片机技术的应用正在不断加深。单品微型计算机简称单片机,是典型的嵌入式微控制器,又称单片微控制器,它不是完成某个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O 设备。

单片机作为应用最广泛的控制系统之一,具有体积小,易于控制,价格便宜,安全可靠等等优良的性能而被广泛的关注。无论是小到儿童玩具,到工业控制系统,大到航天航空系统的设计与操作之中,随处可见单片机的踪影。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

电子时钟亦称数显钟,是一种用数字电路技术实现时、分、秒计时的装置,与机械时钟相比,直观性为其主要显着特点,且因非机械驱动,具有更长的使用寿命,相较石英钟的石英机芯驱动,更具准确性。电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。相对于其他时钟类型,它的特点可归结为“两强一弱”: 比机械钟强在观时显着,比石英钟强在走时准确,但是它的弱点为显时较为单调。

关键词:单片机技术;CPU;电子时钟;

1 概述

1.1 设计背景

近年来随着科技的飞速发展,人们对单片机技术的应用正在不断加深。单片机作为应用最广泛的控制系统之一,具有体积小,易于控制,价格便宜,安全可靠等等优良的性能而被广泛的关注。无论是小到儿童玩具,到工业控制系统,大到航天航空系统的设计与操作之中,随处可见单片机的踪影。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

电子时钟亦称数显钟,是一种用数字电路技术实现时、分、秒计时的装置,与机械时钟相比,直观性为其主要显着特点,且因非机械驱动,具有更长的使用寿命,相较石英钟的石英机芯驱动,更具准确性。电子钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、码头、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大地方便。相对于其他时钟类型,它的特点可归结为“两强一弱”: 比机械钟强在观时显着,比石英钟强在走时准确,但是它的弱点为显时较为单调。

1.2 设计目的

以单片机为核心,设计一个定电子时钟,分别显示“时-分-秒”。显示范围范围从0小时0分0秒到23小时59分59秒,通过定时器来定时时分秒,每过一秒刷新一次显示时间,也可通过按钮控制时间。

1.3 设计思路

可以通过把定义事件定为100ms采用中断方式进行溢出次数的累计,计满十次即可得到秒计时。片内RAM中规定三个单元作为秒、分、时单元由秒到分,从分到时通过软件累加并进行比较的方法来实现

2 开发环境

本次电子时钟设计是在Windows操作系统下利用了利用Keil uVision4和Proteus 8 Professional软件完成系统软硬件的设计及模拟调试。

2.1 Keil uVision4简介

Keil uVision4是一款非常专业且权威的单片机开发工具。 Keil4免费版提供了包括C编译器、宏汇编、连接器、库管理和仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起;在学习单片机,微型计算机控制等课程,或者在protuse软件上,Keil uVision4免费版会给你很大帮助。

2.2 Proteus简介

Proteus 软件是英国Labcenter electronics 公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它 EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/DsPIC33 、AVR、ARM、8086和MSP430“等,2010年即将增加Cortex 和 DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil 和MPLAB等多种编译器。

2.3 Windows系统

Windows 平台以其全新的界面简单快捷的操作方式而成为软件开发的趋势。根据本系统的运行环境和实际情况,选择Windows10(旗舰版)作为开发测试和运行的平台。

3 系统总体方案与硬件设计

3.1 方案设计

根据功能和指标要求,本系统选用MCS-51系列单片机AT89C51为主控机。硬件系统是指构成微机系统的实际装置,通常是由单片机、数码管显示、定时器计数、矩阵按键和外部中断等组成。单片机芯片选择AT89C51,显示区域使用8位LED数码管设计如图3-1所示:

基于单片机的6位电子时钟

图3.1 方案设计图

3.2 方案模块介绍

定时器:定时时间,使得显示数据按秒进行刷新。

中断:可进行时间的改变,通过这三个按钮可以调节时间。

数码管:进行时间的显示。

3.3 外设原理介绍

输出电路:本项目采用8位LED数码管动态扫描显示电路,笔段A~DP分别与单片机的P0口相连,公共端分别受单片机的P2口控制。

控制电路:通过定时器的定时1秒钟不断刷新来改变显示的数值,对输入的信息进行分析,本项目用C51单片机来实现。

中断电路:通过INT0、INT1和INT2三个中断来增加了调整时钟上时分秒的功能。

4 程序设计

4.1 系统电路图

基于单片机的6位电子时钟

图4.1 系统总电路图

5 仿真测试

5.1 软件调试

整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序进行分别调试。

(1)Keil软件中生成hex文件如图所示:

基于单片机的6位电子时钟

图5-1 生成程序hex图

5.2 仿真调试

在Keil中调试完成后,生成文件,再到Proteus中进行仿真。首先在Proteus根据电路所需要实现的功能画好电路原理图,当检查电路完全没有错误后,双击芯片,再将在Keil中生成的hex文件导入芯片,接着点击play键开始进行电路仿真。

基于单片机的6位电子时钟

图5-2 导入程序hex图

5.3 调试结果

点击play键,电路开始进行仿真,开始仿真时显示器上显示12.00.00,片内RAM中规定三个单元作为秒、分、时单元由秒到分,从分到时通过软件累加并进行比较的方法来实现,随着时间变化秒数会慢慢增加。调试结果如图5-3所示:

基于单片机的6位电子时钟

图5-3 调试结果图

同时可以通过中断按钮来实现对时钟上时分秒时间的控制,通过三个按钮更改显示器上的时间实现时间的更改。实现截图如图5-4,图5-5所示

通过按钮调节分钟

基于单片机的6位电子时钟

图5-4 分钟调节图

通过按钮调节小时

基于单片机的6位电子时钟

图5-5 小时调节图

5.4 结果分析

经过测试,本次设计的基于单片机的电子时钟的功能基本实现成功,分别显示“时-分-秒”。显示范围范围从0小时0分0秒到23小时59分59秒,通过定时器来定时时分秒,每过一秒刷新一次显示时间,也可通过按钮控制时间。

但是,本次实验也有许多不足之处,还有很多地方需要改进,比如说,计算显示数字位数有限,可以对代码进行更精简的修整,从而使功能更加的强大,并且,可以运用于生活实际当中。

6 总结

通过本次的课程设计,我重新巩固了单片机课程所学的知识,感觉到内容很多,知识点很杂、很繁琐。通过自己的努力也更进一步掌握了单片机的内容构造和工作原理,以及接外部电路的情况。课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。

通过这次单片机课程设计,我对单片机原理的学习更加掌握和了解,为以后的学习奠定了基础。这次课程设计基于每周做的单片机项目,使得我对单片机整体构架有个初步的认识和见解,在课程设计的过程中,明白了合理的小组分工尤为重要,本课程设计我制作电子时钟,完成了正常电子时钟的显示功能、定时闹钟和调整时间功能,实现显示“小时.分钟.秒”的定时功能可灵活实现小时加、分钟加等功能。本设计具有较强的灵活性,可实现性高,具有较高的应用价值。虽然进行了代码多次优化与调试,但是对于部分功能仍存在显示出错的问题,我们在以后的学习中会继续完善代码,将软件与硬件完美结合,在单片机领域更加努力的学习。

参考文献

[1] 刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.

[2] 王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.

[3] 马忠梅等.单片机的C语言应用程序设计.北京航空航天大学出版社,2003.

[4] 王晋凯.简简单单学通51单片机开发 [M].清华大学出版社,2014.

[5] 刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.文章来源地址https://www.toymoban.com/news/detail-465133.html

到了这里,关于基于单片机的6位电子时钟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于51单片机、DS1302时钟模块的电子闹钟设计

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:以下是本篇文章正文内容,下面案例可供参考 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作

    2024年02月02日
    浏览(44)
  • 基于AT89C51单片机的电子时钟设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87695258?spm=1001.2014.3001.5503 源码获取 主要内容: 1.设计出电子数字钟的电路,并用protus进行仿真画出对应的电路图 2.设计出电子数字钟的源程序,并用Keil进行编辑生成HEX文件 3.在protus中进行测试。

    2024年02月09日
    浏览(43)
  • 基于AT89C51单片机的电子时钟设计与仿真

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87779867?spm=1001.2014.3001.5503 源码获取 主要内容: 使用DS1302芯片作为计时设备,用6个7段LED数码管或者LCD162作为显示设备,实现时钟功能; 基本要求: (1)可以分别设定小时、分钟和秒,复位后时

    2024年02月06日
    浏览(36)
  • 【毕业设计】34-基于单片机的智能数字电子定时器_电子时钟系统设计(原理图工程+PCB工程+源码+仿真工程+答辩论文)

    摘要 随着社会的进步,经济水平的提高,人们开始通过定时器来规划自己的时间,传统的时钟不能通过移动的方式,只能将其挂在墙上或者钟楼塔的形式出现。针对此问题,本次系统设计了一款智能数字电子定时器器系统,可以实现定时、启动、停止、数字显示、报警、闹钟

    2024年02月04日
    浏览(32)
  • 51单片机电子时钟(C语言)

     全部硬件电路分为四大部分: 控制模块51单片机; 显示模块LCD1602,由P0口控制; 计时模块DS1302,由P1口控制; 输入按键,由P3口控制。         实际设计硬件电路时应考虑到51单片机的电源、复位电路以及外接晶振,时钟芯片DS1302的备用电源等。 从1302的寄存器中读取数据

    2024年02月07日
    浏览(33)
  • 使用51单片机和DS1302时钟芯片做一个简易的电子时钟

    今天给大家推荐一个51单片机小实验,带你使用51单片机做一款简易的电子时钟,其中计时模块采用DS1302硬件模块,显示采用LCD显示屏,具体怎么实现开来一起看看吧! DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟和31字节静态 RAM,通过简单的串行接口与

    2024年02月11日
    浏览(32)
  • C51单片机的电子时钟(数码管显示)

    普中科技51单片机开发板STC89C52 查看这两个原理图,我们可以发现控制这8个数码管由P22、P23、P24这三个控制,就相当于三个二进制数来控制数码管,三个二进制数(000-111)总共有8个,每一个二进制代表控制一个数码管。而控制数码管的发光二极管P0-P7控制,例如要想数码管显

    2024年02月11日
    浏览(35)
  • 单片机课设 - 电子时钟 (仿真,仿真代码,实验板代码)

    1. 主要器件 : C51单片机、8位LED数码管(共阴极)… 2. 仿真图如下: 3. 主要特点 1. 24进制显示 2. 最下方三个按钮分别控制时、分、秒 上述代码包含的主要内容: 1. T1定时方式1,用到T1中断函数 2. 每50ms溢出一次,一共20次为 1s 记一次数 3. 按键知识,消抖动... 4. 移位知识,_c

    2024年02月11日
    浏览(27)
  • C51单片机的电子时钟(数码管显示+独立按键模块修改及暂停时间)

    IMG_1120 通过查看这三个原理图我们可以得知控制K1、K2、K3及K4是通过P31、P30、P32及P33来实现的,控制8个数码管是P22、P23及P24来实现, 控制发光二极管则由P00-P07来实现。 代码分为三部分分别为main.c、key.h、key.c scankey()函数的主要代码,通过软件入手提高系统的可靠性,防止外

    2024年02月05日
    浏览(42)
  • 测试、获取单片机STM32系统时钟值方法

          有时候,做一个项目出了问题,第一个要怀疑的是系统时钟,本篇是说明如何监控项目的系统 频率的。      在STM32标准库项目中,可以通过以下步骤来获取系统时钟: 打开项目的主文件(通常为main.c或stm32fxxx_it.c)。 在文件顶部,找到包含STM32的头文件,例如\\\"stm32

    2024年02月20日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包