基于.--AT89S51D单片机的多功能电子万年历设计

上传人:m**** 文档编号:474103086 上传时间:2022-10-29 格式:DOC 页数:9 大小:35KB
返回 下载 相关 举报
基于.--AT89S51D单片机的多功能电子万年历设计_第1页
第1页 / 共9页
基于.--AT89S51D单片机的多功能电子万年历设计_第2页
第2页 / 共9页
基于.--AT89S51D单片机的多功能电子万年历设计_第3页
第3页 / 共9页
基于.--AT89S51D单片机的多功能电子万年历设计_第4页
第4页 / 共9页
基于.--AT89S51D单片机的多功能电子万年历设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《基于.--AT89S51D单片机的多功能电子万年历设计》由会员分享,可在线阅读,更多相关《基于.--AT89S51D单片机的多功能电子万年历设计(9页珍藏版)》请在金锄头文库上搜索。

1、 .wd.单片机应用系统设计课 题: 基于AT89S51D单片机的多功能电子万年历设计姓 名: 班 级:学 号:指导教师:日 期:基于AT89S51单片机的多功能电子万年历的设计目录:第一章 绪论 设计背景及意义第二章 系统总体方案设计 1、系统设计硬件框图 2、系统实现的 根本原理第三章 硬件系统设计 1、选择元器件 2、硬件原理图第四章 软件系统设计 1、软件流程图 1.1主函数流程图 1.2LCD显示流程图 1.3DS1302流程图徐辰 2、系统的仿真调试2.1运行步骤2.2调试过程第五章 设计总结第六章 参考文献第七章 附录 1、源程序代码 1.1主函数源程序代码 1.2LCD显示源程

2、序代码 1.3DS1302源程序代码徐辰第一章 绪论设计背景及意义单片机原理及应用是一门技术性、应用性很强的学科,实践教学是它的一个极为重要的环节。不管是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验教学。如果不在切实认真的抓好实践技能的锻炼上下功夫,单凭课堂理论课的学习,势必出现理论与实践脱节的局面。任凭书本上把单片机技术介绍的多么重要、多么使用,我们仍会感到那只是空中楼阁,离自己十分遥远。本次课程设计的目的就是让我们大家在理论学习的根基上,通过完成基于AT89S51单片机的多功能电子万年历的设计,熟悉单片机仿真软件PROTEUS的使用方法,了解AT89C51单片机的硬件系统,掌握L

3、CD显示器LCD1602的工作原理和软硬件设计方法,为今后开发设计工作打下一定的根基。液晶显示器简称LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特性实现显示信息的。液晶显示器具有体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中得到了日益广泛的应用。液晶显示器按其功能可分为三类:笔段式液晶显示器、自负点阵式液晶显示器和图形点阵式液晶显示器。前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,到达图文并茂的效果。第二章 系统总体方案设计1、系统设计硬件框图2、系统实现的 根本原理1市场上使用的1602液晶显示器以并行操作方式居多,但也有并、

4、串口同时具有的。LCD1602每行显示16个字符,一共可以显示两行,第一行显示年、月、日,第二行显示时、分、秒,时间显示在1602液晶上,并且按秒实时更新2DS1302实时时钟通过串口接口与单片机进展通信,实时时钟日历电路提供秒、分、时、日、月、年的信息,内部含有31个细节静态RAM,可提供用户访问。3使用5个按键,随时调节年、月、日、时、分的大小4在主程序中调用其他子程序包括LCD显示模块及DS1302的控制模块,以实现电子万年历的功能 (5 ) LCD字符显示的工作原理:一个字符由6*8或8*8这样的点阵组成,要正确显示,必须要找到和屏上某几个位置对应显示RAM区的8个字节,并且要使每个字

5、节的不同的位为“1,其他的位为“0,为“1的点亮,为“0的点暗,通过明暗的变化显示某个字符。 6AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出I/O端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全

6、双工串行通信口,AT89C51可以按照常规方法进展编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本钱。7Proteus(海神)的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。该软件的特点:具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等支持大量的存储器和外围芯片。总之

7、该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。第三章 硬件系统设计1、选择元器件:单片机AT89S51,LCD显示屏,DS1302芯片,按键假设干,电阻假设干,电容器2、硬件原理图2-1:2-1硬件连接图第四章 软件系统设计1、设计原理启动DS1302,初始化芯片,设置初始时间,读出时间,存放在构造体SYSTEMTIME中,然后将时间转化为字符数组,送往LCD显示器。每隔1S读出时间,重复以上步骤。这样可以实现时钟的正常显示。也可以通过按下按钮对时间进展修改校正。2、软件流程图主函数流程图LCD显示流程图3、系统的仿真调试1安装并翻开单片机仿

8、真软件PROTEUS,选择需要的器件并连接电路2在KEIL环境中编译设计中需要的原程序,并生成.HEX文件(3)双击AT89C51器件,在翻开的“EDIT COMPONENT对话框中,在“PROGRAM FILE“一栏中将.HEX文件进展装载,界面如图3-1:3-1(4)点击运行按扭,观察仿真现象,则显示器显示情况如图4-1,且进入计时工作4-1显示模块(5)以下列图5-1中显示的五个按钮,从左至右分别代表分、时、日、月、年的设置,即点击相应的按钮,显示器上的相应位置的数字将会递增显示;5-1调节模块6点击以下列图6-1右边的按扭后,再进展第5步的操作,显示器上相应位置的数字将会递减显示。6-

9、1选择模块第五章 设计总结通过本次课程设计-完成基于AT89S51单片机的多功能电子万年历的设计,可以让我们在学习理论知识的根基上,更进一步的了解单片机,认识单片机,运用单片机。一单片机属于控制类数字芯片,目前气应用领域非常广泛:1、 工业自动化控制2、 智能仪器仪表3、 计算机外部设备和智能接口4、 家用电器二以往的测控仪器的显示局部大都采用LED式液晶显示屏进展参数设置和结果显示,其显示信息量少、形式单一、人机交互性差、操作人员要求高,而本设计中运用的液晶显示器 (LCD)具有功耗低、体积小、可编程驱动等其他显示方式无法比较的优点,不仅可以显示数字、字符还可以显示各种图形、曲线、汉字,并且

10、课实现屏幕上下左右滚动、动画等功能,人机界面更加友好,操作也更加灵活方便,使其成为智能仪器仪表和测试设备的首选显示器件。三显示功能最完整的点阵图形液晶模块的液晶显示可以分为三种 1、线段的显示 2、字符的显示3、汉字的显示在设计过程中,我认识到自己对单片机方面的知识了解的太少太少了,对于书本上的很多知识还不能灵活运用,有很多需要掌握的知识等着我们去学习去研究;从理论到实践的转化就是实际操作的过程,只有动手动脑,主动请教,查询资料,团结合作,不断的发现问题,不断的解决问题,才能有所收获,才能有更多的体会和快乐;学习是个长久的过程,并不是一下子就能融会贯穿的,要有坚持不懈的毅力,要有不怕困难的精神

11、,在前期刚开场做的时候,面对着课本,面对着课程题目,我有点懵,不知道从哪里下手,在教师的指导帮助下,在小组成员的共同努力下,我由根基到深化,由简单到复杂,循序渐进的完成了基于AT89S51单片机的多功能电子万年历有关模块的设计!第六章 参考文献1 林志琦.基于Proteus的单片机可视化软硬件仿真M.北京:北京航空航天大学出版社,2006.92 周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真M.北京:北京航空航天大学出版社,2006.53谢维成 单片机原理与应用及C51程序设计M.北京:清华大学出版社4谭浩强 C语言程序设计M清华大学出版社第七章 附录源程序代码1主函数程序#i

12、nclude #include LCD1602.h#include DS1302.hsbit Y=P10;sbit M=P11;sbit D=P12;sbit H=P13;sbit F=P14;sbit J=P23;sbit S=P24;unsigned char qn=20;char s=1;void Delay1ms(unsigned int count)unsigned int i,j;for(i=0;icount;i+)for(j=0;j4)*10 + (x&0x0F); if(s=1)x=x+1; else x=x-1; x=(x/10)12)x=0; Write1302(DS130

13、2_MONTH,x); if (D=0) x=Read1302(DS1302_DAY); x=(x&0x70)4)*10 + (x&0x0F); if(s=1)x=x+1; else x=x-1; y=Read1302(DS1302_MONTH); if(y=1|y=3|y=5|y=7|y=8|y=10|y=12)&x31)x=0; else if(y=4|y=6|y=9|y=11)&x30)x=0; else if(y=2&x29)x=0; x=(x/10)4)*10 + (x&0x0F); if(s=1)x=x+1; else x=x-1; if(x23)x=0; x=(x/10)4)*10 + (x&0x0F); if(s=1)x=x+1; else x=x-1; if(x59)x=0; x=(x/10)9

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号