单片机课程设计报告-电子万年历设计-精品

时间:2025-07-09

九 江 学 院

单片机课程设计报告

题目:电子万年历

专业:自动化 班级:A0931 姓名:

学号:10911010118 组员: 指导老师: 二零一二年二月

目录

绪论

1.内容提要.....................................3 2.概述.........................................3 3.硬件电路.....................................4.软件流程.....................................5.程序清单.....................................6.变量说明.....................................7.硬件系统的检测与调试.........................8.设计体会.....................................9.实物图.......................................

4 6 15 32 33 33 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位共阳数码管上,一次只能显示时、分、秒、和星期信息。时和分,分和秒之间用小数点来区分。秒和星期之间用一横来区分。同理,显示年、月、日、星期时年和月,月和日之间用小数点来区分,日和星期之间用一横来区分。那什么时候让数码管显示时分秒星期,什么

时候显示年月日星期呢?我们可以在程序中设定。比如我们可以设定每分钟的40~44秒的时候显示年月日,其余时间显示时分秒。让数码管的动态扫描每次都扫描32H~39H单元里面的内容,而在40~44秒时我们往32H~39H里面送时分秒星期的值,在其余时间我们往32H~39H送年月日星期的值。这样就实现了万年历的显示问题。

实现了时间的产生和显示问题后,还有一个按键功能的实现问 …… 此处隐藏:3317字,全部文档内容请下载后查看。喜欢就下载吧 ……

单片机课程设计报告-电子万年历设计-精品.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219