- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子钟单片机课程设计报告含源码推荐
一、总设计思路
电子时钟是我们日常生活中最常见的一种钟表,由于它结构简单、功耗低、时间精度比较准、等优点,使得广泛应用,在未来肯定有很大的市场。这次课程设计我的目的就是尝试着做一个电子时钟。
1、系统功能
显示时间、声音提示、调整时间、设置闹钟的功能。
2、功能硬件实现方案
时间显示:时间的显示我选用的是六位七段数码管,由于数码管控制简单,而且显示效果好,所以选用它。由于静态显示方式比较占资源,而且电路比较复杂,所以我们选择了动态显示方式,电路简单,效果挺好。
时间调整和闹钟设置:是通过外部两个按键触发单片机中断进而控制时间的调整。其中一个按键是模式选择按键通过触发外部中断0来选择功能,功能主要是选择要调时、调分、调秒、闹钟调时、闹钟调分、闹钟调秒六种模式。第二个按键通过触发外部中断1来在相应的模式下对时间的大小做调整。
声音提示:通过利用蜂鸣器来作为发生装置,有整点提示功能和闹铃功能。
时间发生:利用单片机自带定时器0做定时,通过软件控制来产生时、分、秒。
功能软件实现方案
由于单片机C语言已经全面普及,它的程序容易理解、简单易写、可移植性好,所以我们选择用单片机C语言来写。
开发环境
操作系统:window 7旗舰版64位
程序编辑编译软件:KEIL μVision V4.60.6.10
仿真软件;Proteus Version 7.8
5.、总设计原理框图
硬件设计
定时和程序执行及控制模块:我们选择的是宏晶科技生产的STC89C52RC芯片,它在很多硬件资源上比8051提升了不少,所以在后期我们可以做更多扩展和维护。
时间显示模块::采用六个七段带小数点的共阴极数码管。
声音提示模块:采用简单蜂鸣器做声音提示。
调时模块:通过两个简单按键来触发中断调时。
时钟复位模块:采用11.0592MHz的晶振,提供单片机工作频率。
设计原理图
芯片解说
STC89C52:是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥 有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。 另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬 件复位为止。最高运作频率35MHz,6T/12T可选。
十进制时分秒转化要显示数据流程图:
定时模块流程图:
定时器0中断流程图:
时间处理函数:
调时模块流程图:
外部中断0:
外部中断1:
显示模块流程图:
软硬调试
硬件实物图:
软件程序见附录一,硬件我们用的是星嵌公司生产的实验板,具体的程序下载见附录二。
实验板采用USB和串口转换芯片来下载程序下载软件用的是STC-ISP软件,很方便的实现软硬调试。
结论
天才来自于百分之九十九的汗水和百分之一的灵感。这次课程设计让我深刻的理解了项目的整个规划和实现过程。
参考资料
《单片机原理与应用》 清华大学出版社
附录一 程序详单
Main.h
#ifndef _REG52_H_
#define _REG52_H_
#includereg52.h
#define uchar unsigned char
#define uint16 unsigned short int
#endif
#includedisplay.h
#includetiming.h
#includechang_time.h
Main.c
#includemain.h
uchar num_time[3] = {0, 0, 0}; //当前时间存储空间
uchar alarm_time[3] = {12, 0, 0}; //闹钟时间存储
uchar run_time[3] = {0, 0, 0}; // 跑秒时间存储
uchar char_time[6];
文档评论(0)