单片机课设万年历报告29941.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《单片机课设万年历报告29941.pdf》由会员分享,可在线阅读,更多相关《单片机课设万年历报告29941.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 单片机课程设置万年历报表 一、系统介绍:电子万年历是一种非常广泛的日常计时工具,在现代社会中越来越流行。可对年、月、日、时、分、秒等多种功能进行计时,DS1302 使用寿命长,误差小。数字电子万年历采用直观的数字显示,可同时显示年、月、日、时、分、秒等信息,还具有时间校准等功能。本设计是基于 51 系列单片机的电子万年历设计,可显示年、月、日、时、分、秒的信息,并具有日期和时间可调功能。在设计的同时,更全面地准备了单片机的理论基础和外围扩展知识。在软硬件设计上,没有良好编制依据知识和实践经验,会受到很大的限制。每个功能需要什么样的硬件来实现,程序怎么写,算法怎么实现等等,没有一定编制依据是不
2、可能很好的。实现。在编写程序的过程中,发现仅凭现有的相关知识很难单独完成编写任务。在老师和同学的帮助下,程序的编写完成了。万年历的设计过程在硬件和软件方面是同步设计的。硬件部分主要由 AT89C5 1单片机、LED 显示电路、定时按键电路组成。在单片机的选择上,我使用了 AT89C5 1 单片机,适用于很多复杂的控制应用。软件方面主要包括日历程序、时间调整程序、显示程序等。该程序是用高级语言 C 编写的,以便更容易调整时间。所有程序都写好后,确认没有问题后,将单片机嵌入到 Proteus 软件中进行仿真。在大部分后总在老师和同学的帮助下,电子万年历的设计都是自己努力完成的。二、系统功能说明 一
3、、设计要求:1.具有年、月、日、周、时、分、秒等功能;2.具有年、月、日、周、时、分、秒的调整和校准功能;2、单片机芯片的选型方案及演示:以 89C51 芯片为硬件核心,数码管显示,为了让用户更清晰易懂,万年历日期和时间分别显示,同时对应两个 74LS138 芯片控制数码管显示器,还有 74LS373解码芯片,74LS21 芯片用来控制键盘的功能。如图所示:74LS138 的 8 个输出管脚要么随时为高电平 1,即芯片处于非活动状态,要么只有一个为低电平 0,其余 7 个输出管脚全部为高电平 1。两个输出脚同时为 0,说明芯片已经损坏。74LS373 原理图 当 74LS373 用作地址锁存器
4、时,OE 应为低电平,当锁存使能端 G 为高电平时,输出 Q 1 Q 8 的状态与输入 D1D 8 的状态相同;当 G 发生负跳变时,输入端 D 1 D 8 的数据被锁存到 Q 1 Q 8 中。51 单片机的 ALE 信号可以直接接74LS373 的 G。在 MCS-51 单片机系统中,经常使用 74LS373 作为地址锁存器,其连接方法如上图所示。其中,输入端 1D8D 接单片机的 P0 口,输出端提供低 8位地址,G 端接单片机的地址锁存使能信号 ALE。输出使能端 OE 接地,表示输出三态门常开。显示模组选型方案:LED 数码管用于动态扫描。LED 数码管价格适中,最适合显示数字。并且,
5、采用动态扫描方式与单片机连接时,占用的单片机端口线较少。使用多个数码管显示 LED 数码管使用二极管显示数字和字母,具有亮度高、界面设计简单、价格相对便宜等优点,因此使用 LED 数码管作为显示器。数码管电路 3、键盘的选择 采用独立的按键电路。每个按键占用单独的 I/O 接口线,每个 I/O 口的工作状态互不影响。该款键盘采用端口直接扫描方式。而且这个实验课使用的键盘很少,所以使用独立键比较实用。4.实现定时:直接用单片机定时计数器提供秒信号,用程序计算年、月、日、时、分、秒。这种方案虽然减少了芯片的使用,节省了成本,但实现的时间误差比较大。5.电路设计的最终决定 综上所述,本工作的方案选择
6、:采用 AT89S51 作为主控系统;LED 数码管动态扫描显示。两个 74LS138 和一个 74LS21 芯片。图-5 LED 动态扫描显示 实验经验:经过两周的学习和实验,我终于完成了单片机万年历课程的设计。从开始接到课程设计要求,到万年历的实现,再到报告的完成,每一步对我来说都是一次新的尝试和挑战。这也是我在大学期间独立完成的最大项目。这段时间,我学到了很多知识,也有很多感悟。我开始了独立的学习和实验,查阅了相关的资料和书籍,逐渐把脑海中模糊的概念弄清楚了,一步步改进了自己很不成熟的作品。,每一次进步都是我学习的收获。这份报告的撰写也将使我受益终生。我觉得做报告是我必须用心去做的事情。
7、这是我自己学习和研究的真实过程。没有学习,就不可能有研究的能力。你自己的研究不会有突破。通过这次 MCU 课程,我获得了丰富的理论知识,大大提高了我的实践能力。在 MCU 领域,对我以后进一步学习计算机知识有很大的帮助。参考 1 建中.单片机原理与应用。中国电子科技大学,2006.02 2 君莫 MCU 中级课程。航空航天大学出版 2006.03 3 于发山单片机原理与应用技术。中国矿业大学,2003.12 4 凌霄微机原理与应用中国矿业大学,2004.08 5 何立民.选定的 MCU 应用技术。航空航天大学,2000.08 6 万广义.单片机实验和实用教程。航空航天大学,2005.01 7
8、周航慈.微控制器程序设计基础。航空航天大学,1991.11 8 黄遵熹单片机原理接口及应用西北工业大学,1997.05 9镇江,杜铁军,群.流行单片机实用子程序及应用实例M.:电子科技大学,2002 10紫文编微控制器原理与应用电子科技大学 2006 11 王发能单片机原理与应用科学 2004 附上源代码:#include 位 p1_0=P10;位 p1_1=P11;位 p1_2=P12;位 p1_3=P13;位 p1_4=P14;位 p3_2=P32;无符号字符码 zimal13=0X 3F,0X06,0X5B,0X 4F,0X66,0X6D,0X7D,0X07,0X 7F,0X 6F,0
9、x40,0 x80,0 x00,;/*共阴字号,显示 0-9 字号,后三位代表-,.off*/unsigned int year,month,day,hour,minute,second;/定义变量year,month,day,hour,minute,second;无效延迟();/延时函数;void xianshi(unsigned int h,min,s);/显示时间函数;void ymdxianshi(unsigned int year,month,day);/显示年月日;无效凤鸣();/蜂鸣器功能;int 飞跃(无符号整数年);/判断闰年函数;无符号整数 h,m,s=5;/记录计时时间;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 万年历 报告 29941
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内