- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
九 江 学 院
单片机课程设计报告
题目:电子万年历
专业:自动化
班级:A0931
姓名:
学号:10911010118
组员:
指导老师:
二零一二年二月
目录
绪论
1.内容提要.....................................3
2.概述.........................................3
3.硬件电路.....................................4
4.软件流程.....................................6
5.程序清单.....................................15
6.变量说明.....................................32
7.硬件系统的检测与调试.........................33
8.设计体会.....................................33
9.实物图.......................................35
绪论:
由单片机设计的系统已经被广泛应用到工业、商业、国防和日常生活等各个领域,具有使用灵活,性价比高的特点。其系统的的开发融合了硬件和软件的相关技术。本文介绍了使用单片机最小系统电路和数码管设计实现简易功能的电子万年历。
1 内容提要
本设计主要功能为用单片机和数码管简单地实现电子万年历功能。其中包含时、分、秒、年、月、日、星期的显示以及简单按键功能。硬件电路主要是晶振产生电路,数码管显示电路和按键电路。软件设计思想是:利用单片机的定时器设定每10ms产生一次溢出,100次溢出,也就是1秒后令时间加一秒。用2个4位共阳数码管来显示时间。主程序就是显示程序。利用数码管的动态扫描将时间值扫描并显示。设置时间值来控制什么时候显示年、月、日信息,什么时候显示时、分、秒信息。时间日期的显示调整则设定4个按键。按键1用来暂停时间,按下后秒不再加。按键2则用来选择需要显示的时间是日期(年、月、日和星期),按键3实现恢复时间秒加1。按键4功能为单片机自身的复位功能。该设计总体思路简单清晰,硬件容易实现。程序中涉及到了定时器的设置使用,中断的使用。
2 概述
2.1 系统主要功能
用单片机和数码管可以简易地实现电子万年历功能。该设计可以在两个4位数码管上显示时、分、秒、年、月、日、星期等信息。硬件组成简单,主要是单片机的数码管显示电路,晶振电路和按键电路。可以在程序中预先设置每一分钟的某一段时间用来显示时、分、秒和星期信息,另一段时间显示年、月、日和星期信息。可以看到时、分、秒和年、月、日交替显示。同时利用按键可以切换时间的显示。
2.2 小组工作描述:
小组经过讨论,确定好课题,阅读了相关书籍。刘升发主要负责写汇编程序和焊接电路;曾子亮主要负责整理设计报告。刘妞负责硬件检测,提供帮助和建议
2.3 资源安排:
本设计使用了一个12M晶振,两个33PF瓷片电容,一个10uF电容,四个10K电阻,一个2K电阻,一个1K的8脚上拉排阻,一块AT89C51单片机,2个4位的共阳数码管,4个按键和导线若干。
用AT89C51单片机定时器来产生时间,并执行动态扫描,用数码管显示时间。用4个按键实现时间的切换显示功能。
2.4 设计原理:
为了实现电子万年历的功能,首先要使时间可以变化,每过一秒单片机的时间也要加一秒,因此我们采用了定时器来产生时间。而12M晶振下AT89C51单片机的定时器采用工作方式1定时的最大定时时间为65.535ms,为了实现时间秒加一,我们设定定时器每10ms溢出一次,计算出定时器的初值是TH0=0D8H,TL0=0F0H。用一个变量来统计定时器的溢出次数,每当定时器溢出100次,我们就让秒加1,这样我们就可以得到准确的时间秒。秒加到60后,让秒清零,分加1;判断分加到60以后,分清零,时加1;判断时加到24后,时清零,日期和星期加1;判断日期到了31后,日期置1,月加1;判断月加到13后,月置1,年加1;判断年加到100时,年清零;判断星期加到8后,星期置1。这样时间的正确变化就实现了。
得到时间后,就要考虑怎么来显示了。我们采用数码管的动态扫描来显示时间。在两个4位共阳数码管上,一次只能显示时、分、秒、和星期信息。时和分,分和秒之间用小数点来区分。秒和星期之
文档评论(0)