点击链接获取Keil源码与Project Backups仿真图
https://download.csdn.net/download/qq_64505944/87413394
源码获取
摘 要
近年来随着科技的飞速发展,人们对单片机技术的应用正在不断加深。单品微型计算机简称单片机,是典型的嵌入式微控制器,又称单片微控制器,它不是完成某个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了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所示:
图3.1 方案设计图
3.2 方案模块介绍
定时器:定时时间,使得显示数据按秒进行刷新。
中断:可进行时间的改变,通过这三个按钮可以调节时间。
数码管:进行时间的显示。
3.3 外设原理介绍
输出电路:本项目采用8位LED数码管动态扫描显示电路,笔段A~DP分别与单片机的P0口相连,公共端分别受单片机的P2口控制。
控制电路:通过定时器的定时1秒钟不断刷新来改变显示的数值,对输入的信息进行分析,本项目用C51单片机来实现。
中断电路:通过INT0、INT1和INT2三个中断来增加了调整时钟上时分秒的功能。
4 程序设计
4.1 系统电路图
图4.1 系统总电路图
5 仿真测试
5.1 软件调试
整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序进行分别调试。
(1)Keil软件中生成hex文件如图所示:
图5-1 生成程序hex图
5.2 仿真调试
在Keil中调试完成后,生成文件,再到Proteus中进行仿真。首先在Proteus根据电路所需要实现的功能画好电路原理图,当检查电路完全没有错误后,双击芯片,再将在Keil中生成的hex文件导入芯片,接着点击play键开始进行电路仿真。
图5-2 导入程序hex图
5.3 调试结果
点击play键,电路开始进行仿真,开始仿真时显示器上显示12.00.00,片内RAM中规定三个单元作为秒、分、时单元由秒到分,从分到时通过软件累加并进行比较的方法来实现,随着时间变化秒数会慢慢增加。调试结果如图5-3所示:
图5-3 调试结果图
同时可以通过中断按钮来实现对时钟上时分秒时间的控制,通过三个按钮更改显示器上的时间实现时间的更改。实现截图如图5-4,图5-5所示
通过按钮调节分钟
图5-4 分钟调节图
通过按钮调节小时
图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.文章来源:https://www.toymoban.com/news/detail-465133.html
[5] 刘守义等.单片机技术基础[M].西安电子科技大学出版社,2007.文章来源地址https://www.toymoban.com/news/detail-465133.html
到了这里,关于基于单片机的6位电子时钟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!