毕业设计(论文)基于SPI总线接口的数字电子万历仿真设计.doc
《毕业设计(论文)基于SPI总线接口的数字电子万历仿真设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于SPI总线接口的数字电子万历仿真设计.doc(53页珍藏版)》请在三一办公上搜索。
1、 本科毕业设计(论文)题目:基于SPI总线的数字电子万年历的仿真设计 作者: 二级学院: 电子与信息工程学院 专业班级: 电气工程及其自动化(2)班 指导教师: 职称: 高工,讲师 2015 年 6 月 10 日摘要本次设计的课题主要内容是多功能数字电子万年历,由于当今社会的飞速发展,单一的电子时钟已经无法满足人们的日常生活。因此发明一种多功能数字电子万年历的是一种必然的走向。而本人设计的数字万年历是以AT89C51单片机为中心,通过DS1302时钟芯片等辅助芯片来实现在LCD上显示年份、月份、日期、星期、小时、分钟、秒,以及实时温度的显示。该电子万年历通过4个按键来调节日期与时间,通过以软件
2、编程的方式来完成以上各项功能。而这样设计的数字电子万年历具有成本低廉,使用简单,功能齐全,基本符合当代人的生活需求。关键词:电子时钟;AT89C51单片机;辅助芯片;软件编程ABSTRACTThe main subject of the contents of this design is versatile digital electronic calendar, due to the rapid development of todays society, a single electronic clock has been unable to meet peoples daily liv
3、es. Therefore, the emergence of multi-function digital electronic calendar is inevitable. And I designed the electronic calendar is based on AT89C51 microcontroller as the core, through the DS1302 clock chip and other auxiliary chip to achieve is displayed on the LCD the year, month, day, week, hour
4、, minute, second, and real-time temperature display. The electronic calendar by four buttons to adjust the date and time, by way of software programming to accomplish the above functions. And this design of digital electronic calendar with low cost, easy to use, full-featured, in line with the needs
5、 of contemporary life.Keywords: electronic clock; AT89C51 single chip; chip; software programming目录1. 绪论12. 系统概述22.1. 硬件简述22.2. 软件概述23. 系统方案选择及论证33.1. 各项模块的方案选择33.1.1. 单片机型号的选择及论证33.1.2. 时钟芯片的方案选择及论证33.1.3. 温度传感器的方案选择及论证43.1.4. 显示模块的方案选择及论证43.2. 总体方案的确定44. 系统硬件电路的设计54.1. 系统硬件功能及原理介绍54.1.1. AT89C51单片
6、机的功能及原理54.1.2. DS1302时钟芯片的功能及原理84.1.3. DS18B20温度传感器的功能及原理84.1.4. LCD1602液晶显示屏的功能及原理94.2. 主要模块电路设计94.2.1. 单片机主控制模块设计104.2.2. 时钟芯片模块的设计104.2.3. 温度传感器模块的设计114.2.4. 显示模块的设计114.2.5. 键盘模块的设计124.3. 系统电路的仿真125. 系统程序的设计145.1. LCD1602的程序设计155.2. DS1302程序设计165.3. DS18B20程序设计176. 软件和硬件的结合调试186.1. 硬件的调试186.2. 软件
7、的调试186.3. 软件与硬件的结合调试19结论20致谢21参考文献22附录一:仿真图23附录二:程序源代码241. 绪论从古至今,人们为了记录时间,从观察天象到在器具上刻线,以及到后来出现的万年历,可谓是历史悠久。而在我国,相传万年历的出现是在1000多年以前的商朝,是一个叫做万年的人所创造的。后人为了纪念他,所以将这种历法成为“万年历”。实际上万年历是以一个特定的历法的推算法则为基础的,用来编排年、月、日、节气等信息,做为人们查阅的工具书,而且这个伟大的文化也因此成就了人类。如今随着世界上的现代科技的神速发展,尤其突出的是现代的电子行业方面的的发展,给人们的生活带来了根本性的变化,从而在人
8、们的生活中出现了很多的电子产品,而这些都是以单片机为基础的。万年历也从传统的纸质万年历升级为现在的数字电子万年历,所谓的电子万年历即是以计算机等电子产品的方式出现的万年历。数字电子万年历的出现极大的方便了人们的日常生活,并且飞速的被应用于车站、工厂、餐厅、学校、剧院等工作娱乐场所,并、而且越来越受人们的青睐。但是,伴随着电子行业的爆炸性发展,单一的电子日历已经不能再满足人们的日常生活需求了。并且使用电子万年历的人们希望该产品有一个多功能的集合,比如加上时钟、闹钟以及温度等来取得更为巨大的便利,而所有的这些,又全是以数字化的电子时钟为基础的。因此,加强实际的电子日历及其扩展应用的研究,具有非常重
9、要的意义,而且具有很大的实用价值。本次设计介绍的数字万年历是结合了程序和电路图来进行的。电路图的主要构成都有单片机AT89C51,时钟芯片DS1302、温度传感器DS18B20、闹钟电路以及控制电路等其他一些辅助电路,在LCD上不仅显示出公历的年份、月份、日期,而且能够显示星期、小时、分钟、秒数以及当时附近的温度。让此万年历能够及时的将这些信息反馈给用户,以便用户进行各项工作。而软件部分则是以C语言进行编程,通过单片机将指令发送到各项电路中去,以实现万年历功能的正常运行,并且使其具有自我调节功能。而且通过C语言进行编程的好处是可以随时的根据不同需求对此万年历进行细微的调节,让此万年历具有显示其
10、他的一些信息。并且C语言相对于汇编语言来说也具有编写简单,易于理解的优点,便于用户进行学习与改写。2. 系统概述2.1. 硬件简述本文设计的数字电子万年历是以AT89C51单片机作为CPU(Central Processing Unit,计算机中央处理器),构成了以单片机为核心来控制整个电路。并且结合了时钟芯片DS1302,使其不仅显示出公历的年份、月份、日期,而且能够显示星期、小时、分钟、秒数等信息,并且能够自我调节和具有去电保存功能。而且在此基础上另外加上一个温度传感器DS18B20,能够监测到附近的实时温度,并且在LCD上显示出来。并且此系统通过4个按键对整个系统进行基本的调节,按键分别
11、为控制键,加“1”键,减“1”键,退出键组成。总体方案图如图2-1所示。单片机控制模块AT89C51液晶显示模块LCD1602温度采集模块DS18B20时钟模块DS1302控制模块键盘控制图2-1 总体方案图2.2. 软件概述 该系统通过C语言的编写来实现以上各项功能,C语言具有撰写简单,易于修改的特点。在数字电子日历中,包括闹铃程序,时钟计时程序,液晶显示程序等。并且可以通过软件烧录进单片机之中,对时钟芯片DS1302、闹钟程序等进行指令的修正和改良,让其能够在LCD显示器中显示出年份、月份、日期、小时、分钟、秒数、星期以及实时温度。 由于本次设计采用的是C语言编程,程序内容比较大,因此本次
12、将采用先写主程序然后再在其中读写模块子程序的办法进行程序的编写。其中子程序部分包括时钟芯片模块,温度检测电路模块以及LCD显示屏模块,这些将在下文进行详细的介绍。3. 系统方案选择及论证3.1. 各项模块的方案选择3.1.1. 单片机型号的选择及论证 方案一:使用单片机AT89C51做为CPU(Central Processing Unit,计算机核心处理器),AT89C51单片机是采用4kb可进行编写的闪存存储装置的低能耗的单片机,拥有32个I/O口线,两个16位定时/计数装置,并且与MCS-51系列兼容。它的数据保存期限为十年,在静止状态时的工作范围为0Hz-24Hz,具有可编程的串行通道
13、。对于单片机程序的烧录和调试都有很好的作用,并且该单片机具有高性能,成本低的特点,符合本次设计的要求。 方案二:采用单片机AT89S52做为系统的CPU。AT89S52单片机是采用8kb的可不停的读取1000次的一个只读程序存储器的单片机。它是AT89C51单片机的精简版,因此也具有51单片机的所有功能与特点,并且AT89S52单片机能够在3V的超低电压下工作,也是一种低能耗,高性能的单片机。但是AT89S52单片机相对来说入手的成本会比较高。 根据以上的那些描述,通过以上两个单片机的各方面的比对可以得出,本次的数字万年历设计只需用AT89C51单片机便可。3.1.2. 时钟芯片的方案选择及论
14、证 方案一:采用时钟芯片DS1302来进行时间的计数。DS1302是一种实时时钟芯片,它是由美国拉莱斯公司研发并且发售的。该时钟芯片具有低消耗,高性价比的特点,并且能够提供年份、月份、日期、小时、分钟、秒数、星期的计数,能够自动调节大小月,而且具有闰年补偿功能。而且该时钟芯片的静态RAM空间是31字节的,所以在掉电后计时还是非常精准的。并且该产品与单片机的连接仅仅只有3跟线,看起来非常的简洁。 方案二:直接使用单片机自带的内部定时计数器进行时间的计数,而后结合程序代码实现年份、月份、日期、星期、小时、分钟、秒等的计数。采用此种方案即便不再需要外加一个芯片了,少了一个电路模块的设计,降低制作成本
15、,节约设计时间。可是,使用此方法实现的计数误差会在走时一段时间后变得越来大,而且非常占用单片机的内部存储空间。因此本次设计不采用此方案进行时间的排版。 通过以上的描述,选择时钟芯片DS1302会更加适合本次设计的数字电子万年历。3.1.3. 温度传感器的方案选择及论证方案一:采用DS18B20温度传感器进行实时的温度监测。温度传感器DS18B20是一种具有“一线便是所有”的温度传感器,该产品是由美国达拉斯公司首次推出的世界上面第一个具有以上特点的传感器,它与CPU的连接只要一根线。而且该温度传感器具有精准度高,体积小,抵抗外界的干扰能力优秀的特点。此温度传感器的工作的直流电压值是3.05.5V
16、/DC。它能够监测到的温度为55+125,其测量温度时的误差只有1,并且在-10 至+85范围内的是否精确度更高,只有0.5。方案二:采用热敏电阻作为温度检测的温度传感器。这是利用热敏电阻的电阻值与外界温度变化有着函数关系的特性,然后串联一个相同电阻值的电阻进行分压,分别采集两个电阻的电压值,并进行A/D变换。这样设计的时候就需要连接一个A/D转换电路,增加了设计的时候的难度和成本。而且该热敏电阻与温度的函数关系并不是很严谨,其函数曲线不是一条圆滑的曲线,因此测量时会产生比较大的误差,所以不会选择用热敏电阻做为本次设计的温度监测。通过上述介绍,本次设计必然会选用DS18B20温度传感器进行温度
17、的监测。3.1.4. 显示模块的方案选择及论证方案一:采用LCD1602液晶显示屏,此显示屏具有体积小、质量轻盈、能耗小、成像清晰的特点。并且该显示屏与单片机的连接方式是采用简单牢靠的数字方法进行连接,这样使用起来就显得非常的简便。而且其在显示屏上显示的内容也较为丰富,非常实用。方案二:采用数码管来显示系统数据,该数码管的内部组成是八个发光的二极管,这样对于那些只有数字字符的显示会比较适合,而且购买价钱不贵,但是本次设计的电子万年历需要显示的内容比较多,也不仅仅是数字字符了,因此需要比较多的数码管,并且设计的时候电路复杂、编程麻烦。并且数码管显示不稳定,存在抖动现象,需要通过某些软件延时进行消
18、抖,操作起来比较的麻烦。通过以上描述,本次设计的电子万年历毫无疑问的会使用LCD1602液晶显示屏。这样可以更加直观、清晰的体现此万年历的功能。3.2. 总体方案的确定通过了上述的各项电路模块的方案论证以及各项模块的简单介绍,因此本次设计的总体方案确定为采用单片机AT89C51为核心,使用时钟芯片DS1302进行计时和计数以及用DS18B20温度传感器对周围环境进行温度检测,并且将各项结果通过转换能够在液晶显示器LCD1602中呈现出来。4. 系统硬件电路的设计4.1. 系统硬件功能及原理介绍 本系统的电路系统框图如图4-1所示,AT89C51单片机通过C语言的写入对时钟芯片DS1302和温度
19、传感器DS18B20进行操控,然后再在其中读取出相应的数据,进而发出指令让LCD1602作出相应的显示。单片机控制模块AT89C51温度采集模块显示模块时钟模块键盘控制模块图4-1 单片机实现液晶显示电子万年历的总框图4.1.1. AT89C51单片机的功能及原理AT89C51单片机是美国一家公司研制并且生产的一种拥有4K字节只读存储器,并且拥有CMOS8位微处理器的一个中央处理装置。该单片机使用ATMEL高质量的闪烁存储装置的技术来进行制造的,同时也和工业上规定的MCS-51系列单片机兼容。具有ATMEL装置的AT89C51是一种高品质的微型控制装置,因为在一小个的芯片中便结合了拥有多功能的
20、8位CPU与闪烁存储器,为很多控制系统都提供了一种性价比非常高的方法,并且能够应用于很多高性价比的场合。下图图4-2为单片机实际框图。AT89C51具备如下几个标准功能:4K字节的只读存储器,一个串行可编程通道,拥有1000多个字节的内部RAM,16位定时/记数器也有两个,32个可以用来编程的I/O口总线,还有5个中断源,片上振荡器以实时钟电路。同时,AT89C51的运行工作频率范围在0Hz24Hz之间,而且拥有节电模式可以选择。这种单片机在没有运行的时候会停止内部主要功能的工作,但是还有RAM即串行通信口还是在工作的。掉电模式下只会保存RAM内的东西,但是振荡器只有在其他硬件启动并且已经成功
21、复位之后才会再次的运行起来。图4-2 单片机实物图表4-1 单片机管脚功能表管脚口简单功能介绍VCC供电电源电压GND接地P0在进行外部程序的数据存储的时候,它可以吸收8个逻辑门的电流,这也被人们称为了数据第八位。在FIASH编程时,P0口作为一个原始的输入端口,P0口接收指令字节,当FIASH检查,P0输出指令字节,并且需要与主机连接电阻并进行检查,而此时的P0口外部电位必定会被向上拉伸。P1是一个输入输出脚P2同样是个输入输出脚P3P3.0输入口P3.1输出口P3.2中断口0P3.3中断口1P3.4定时器输入口P3.5定时器输出口P3.6写入数据口P3.7读取数据口RST用来系统重启后进行
22、复位用的PROG接收脉冲,提取信息PSEN选择外部存储器VPP选择内部存储器XTAL1接收各种脉冲信号XTAL2输出各种脉冲信号 由上面的表中可以得出所有的引脚排列以及功能用处了,而下图就给出了单片机是如何具体用这些引脚和内部的各大模块进行数据的交换与传输的。具体请看图4-3.图4-3 AT89C51方框图4.1.2. DS1302时钟芯片的功能及原理 DS1302 做为美国达莱斯公司自主研发的一种高现价比、低电压损耗、拥有31个字节的静态RAM,采用特殊的涓细电流充电方式供电的实时时钟电路,它能够对年、月、日、星期、时、分、秒进行计时,拥有24h和12h的计时方式,还能够区分大小月份以及具有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 SPI 总线接口 数字 电子 万历 仿真 设计
链接地址:https://www.31ppt.com/p-4149763.html