大学毕业设计基于ds1302的电子万年历设计.docx
《大学毕业设计基于ds1302的电子万年历设计.docx》由会员分享,可在线阅读,更多相关《大学毕业设计基于ds1302的电子万年历设计.docx(35页珍藏版)》请在冰豆网上搜索。
大学毕业设计基于ds1302的电子万年历设计
基于DS1302的电子万年历设计
姓名:
张茜茜学号:
200840910152指导教师:
王中心
摘要:
本文介绍了一种智能一体化的电子万年历系统,该设计采用DS1302时钟芯片,主控芯片STC89C52型单片机,显示器件NOKIA5110LCD,外部手动设置模块键盘组成了电子万年历小系统,NOKIA5110LCD能一目了然地显示出年月日星期小时分秒,满足了人们在读取时更加直接的需要。
电子万年历集时间,日期,温度,闹钟于一体,且电路简洁,成本低廉,显示准确,符合了人们对时间的各种需求,使人们生活更加方便快捷。
关键词:
万年历STC89C52DS1302NOKIA5110
TheDesignofElectronicCalendarBasedonDS1302
Name:
ZhangqianqianStudentId:
200840910152Advisor:
Wangzhongxin
Abstract:
Thispaperintroducesakindofintelligentelectroniccalendarsystem,thiscalendarsmallsystemismadeupoftheDS1302clockchip,maincontrolchipmicrocontrollerSTC89C52,NOKIA5110LCDdisplaydevice,externalmanualsetupmodulekeyboard.NOKIA5110LCDcanclearlyshowwholetimetomeetpeopleeveryneedfortimerequest.Electroniccalendarincludetime,date,temperature,thealarmclockmoduleinonesystem,thesystemcircuitissimple,thecostislowbutitcandisplayaccuratetime,itcanmeetthedifferentneedsofpeopletotimeandhelppeople’lifebecomemoreconvenientandefficient..
Keywords:
calendarSTC89C52DS1302NOKIA5110
1.论序
1.1课题背景
随着科技的发展社会的进步,人类从观太阳、摆钟到现在电子钟得知时间,不断的研发新的计时产品。
为了更加精确明朗的查看时间,细化时间,比如星期、日期等,电子时钟诞生了,它集时间、日期、星期等功能于一身,具有电路简洁、显示直观、读取方便、功能多样等许多优点,顺应了电子产品的发展趋势,具有广阔的市场前景。
1.2基于DS1302的电子万年历设计的目的和意义
1.2.1设计目的
在当今电子产品迅速发展与智能产品逐步融入我们生活的时代,许多家电产品都趋于智能化和自动化。
目前,这类家电产品大都是含有单片机或者CPU控制器。
基于DS1302的电子万年历设计目的是为了使人们生活更加方便快捷。
1.2.2设计意义
单片机以其优异的性价比、强控制性、低电压等特点,应用领域无所不至,无论是家用领域还是工业生产等,单片机在其中都有极大的应用。
基于DS1302的电子万年历设计用单片机来实现简易的电子时钟,其具有成本低廉、操作简单,携带方便等优点。
1.3现代电子万年历系统设计的发展状况
随着系统不断先前更新发展,电子万年历在社会各行各业都已得到广泛运用。
电子万年历的发展经历了带有摆或摆轮游丝的机械钟或表、石英晶体振荡器钟表到现代的单片机数码计时器三个时期。
计时产品的计时日差也从原始的分级缩小到现在的1/600万秒,计时方式也从传统的指针式发展到现代的液晶数字式,电路简洁,成本低廉,显示准确,符合了人们对时间的各种需求,使人们生活更加方便快捷。
1.4课题内容
本文提出了一款基于AT89C52单片机的电子万年历设计方案,本系统以AT89C52单片机为主控芯片,与DS1302时钟芯片、小键盘、NOKIA5110液晶显示器等模块组成硬件系统。
它可以根据用户的需要随时对时间进行校对、时间选择、闹钟设置等。
1.5本章小结
本章我对本设计的课题背景,设计的目的和意义,设计的发展状况以及课题内容等作出了简要的介绍。
并对设计作出了一般性的总体规划。
2.基于DS1302的电子万年历系统总体设计方案
2.1总体设计框图
本设计的总体电路图如图1所示:
图1总体设计电路图
2.2系统设计的功能要求
①.具有年、月、日、时、分、秒、星期的显示与调节功能。
②.具有闹钟功能。
③.12小时制与24小时制的相互转化。
2.3系统设计的方案论证
单片机的应用领域无所不至,无论是民用部门、工业部门、事业部门和家用领域等都有它的身影,是因为它有如下特点:
单片机高性能低价格,它尽可能的把应用所需要的存储器、各种功能的I/O端口都集中在一块芯片上内。
单片机是将CPU、数据存储器、程序存储器、各种功能的I/O端口集成于一块芯片上,内部结构简单、体积小、稳定性较高。
在实时控制方面单片机指令系统中有功能极强的位操作指令,控制功能强。
另外,单片机低电压、低功耗。
正是这一特点使单片机应用于携带式产品和家用消费类产品中。
综上所述,该系统具有技术上的可行性。
完全能通过单片机的控制实现出来。
2.3.1单片机控制模块的选择
方案一:
采用传统的STC89C52作为电机的控制核心。
单片机算术运算功能强,自由度大、软件编程灵活,可用软件编程实现逻辑控制和各种算法,并且由于其体积小、功耗低、技术成熟和性价比高等许多优点,该单片机在各个领域应用都很广泛。
方案二:
采用FTC10F04单片机,还带有非易失性Flash程序存储器。
它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。
其主要特点如下:
8KBFlashROM,可以擦除1000次以上,数据保存10年。
由于本系统对CPU运算速度要求很高,需要执行很复杂的运算,方案一成本比较低,性价比高,适合做设计,方案二运算速度高,性能好,两种方案都有可取之处。
所以暂定选用方案一作为主方案,方案二作为备用方案。
2.3.2时钟芯片的选择
时钟芯片使用DS1302。
DS1302是美国DALLAS公司推出的一种31字节静态RAM低功耗、高性能的实时时钟芯片,采用CPU与SPI三线接口进行。
同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。
实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。
2.3.3键盘电路的选择
键盘可选用1*8键盘,4*4键盘两种选择。
1*8键盘按键功能只有8个,按键数较少,制作简单,占用的IO口为8个。
4*4键盘的按键功能是16个,按键数较多,制作较为复杂,占用IO口为8个。
由于键盘接在52单片机上,其IO口数量较少,经权衡考虑,采用4*4键盘,便于以后的功能类型的扩展。
2.3.4显示电路的选择
方案一:
LED数码管是一种能够将电能转化为可见光的固态的半导体器件,它具有体积小,功耗低等优点。
但无法显示汉字。
方案二:
12864液晶屏的类型为STN或FSTN,其模块显示效果为黄绿底黑字、蓝底白字或白底黑字,数据总线为8位并且温度特性,并分为带中文字库和不带中文字库两种类型。
方案三:
Nokia5110LCD显示屏是Nokia公司生产的用于移动电话的手机显示设备,分辨率为84*84的点阵式LCD,可显示4行汉字,采用的是串口与主处理器进行通信。
综合考虑,显示电路使用Nokia5110液晶而不使用数码管或者12864液晶。
主要是考虑到Nokia5110的体积小,方便安装,能较好的满足需求。
2.4本章小结
由于科技的发展生活的需求,电子万年历系统的实现是个很有意义的设计。
可给人们对时间的认知带来很大的方面。
通过对该系统技术可行性的探究,最后肯定了实现该系统的硬件方案。
使用STC89C52RC作为控制单片机,液晶显示用Nokia5110显示出具体的时间日期星期等。
DS1302作为时钟芯片,采用4*4键盘完成调时的功能。
3.基于DS1302的电子万年历设计系统硬件电路设计
3.1系统硬件电路设计
系统硬件电路图
图1系统硬件电路图
3.2系统核心电路——单片机STC89C52
STC89C52是一款8位的Flash单片机。
单片机内部是由CPU、128B/256B数据存储器、程序存储器、16位定时器、4个8位的可编程I/O端口和可编程全双工UART串行口等组成。
可对液晶显示屏,键盘以及下位机进行数据的发送与接收。
3.2.1STC89C52主要功能
STC89C52主要功能如表1所示:
表1STC89C52主要功能表
3.2.2STC89C52主要引脚及其功能
STC89C52主要引脚及功能如下表2所示:
表2STC89C52主要引脚及功能
3.3时钟电路设计
3.3.1DS1302的性能特征
DS1302是DALLAS公司推出的串行接口实时时钟芯片。
它既提供实时时钟,又把关键的数据。
芯片使用简单,外部连线少,在智能化仪表及自动控制领域具有广泛用途。
实时时钟可提供秒、分、时、日、星期、月和年(闰年)等信息。
工作电压宽达2.5~5.5V。
采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。
31*8静态RAM可供用户使用。
备份电源可由大容量电容来替代。
DS1302用于数据记录,特别是对需要具体的时间表示和精确的时间记录下数据与出现该数据的时间,因此广泛应用于测量系统中。
DS1302的引脚图如图2所示:
图2DS1302的引脚图
各引脚功能如下表3所示:
表3DS1302各引脚功能
3.3.2DS1302的工作原理及数据操作
3.3.2.1DS1302的内部结构
图3DS1302的内部结构图
3.3.2.2DS1302的控制字
表4为DS1302芯片的控制字,该控制字的第7位置1,若置0则不能对DS1302的数据进行读写。
第1位到第5位为操作单元的地址。
第6位,当RAM=1时,对程序进行读/写。
CK=0时,则对时间进行读/写。
进行读/写操作时需设置第0位,该位为1则进行读操作;该位为0则进行写操作。
控制字节始终是从最低位开始输出/输入的。
表4DS1302的控制字格式
1
RAM
/CK
A4
A3
A2
A1
A0
RD
/WR
3.3.2.3数据输入输出(I/O)
在控制指令字写入后的下一个SCLK时钟的上升沿,时钟数据被写入DS1302数据存储器,数据输入从位0开始。
同样,在跟随8位的控制指令字之后的下一个SCLK脉冲的下降沿读出DS1302存储器中的数据,读出数据时从0位到7位。
DS1302芯片在每次进行读、写程序前一定要初始化,先把SCLK端置“0”,然后把RST端置“1”,最后才给SCLK脉冲;读/写时序如下图4所示。
图4DS1302读/写时序图
3.3.2.4DS1302的寄存器
DS1302芯片有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。
表5为DS1302芯片的时间寄存器的内容:
“CH”是暂停时钟标志位,当“CH”位为1时,时钟振荡器停止工作,DS1302芯片处于低功耗的状态;当此位为0时,时钟振荡器开始运行。
“WP”是写保护位,对RAM设置和时钟的写操作进行之前,该位必须为0。
当“WP”为1时,写保护位防止其他单片机等对任一寄存器进行写操作。
表5DS1302的日历、时间寄存器
3.4键盘和显示电路的设计
3.4.1键盘接口设计
键盘可选用1*8键盘,4*4键盘两种选择。
1*8键盘按键功能只有8个,按键数较少,制作简单,占用的IO口为8个。
4*4键盘的按键功能是16个,按键数较多,制作较为复杂,占用IO口为8个。
由于键盘接在51单片机上,其IO口数量较少,经权衡考虑,采用4*4键盘,便于以后的功能类型的扩展。
3.4.2显示电路设计
显示模块采用nokia5110液晶显示器,将9个引脚引出,接在51单片机的对应引脚上,使用51单片机进行控制。
Nokia5110LCD采用Nokia公司生产的LPH7366液晶显示模块。
该显示产品除应用于众多移动电话外,也广泛应用于各类便携式设备的显示系统。
这因为该显示器具有自己独特的优点:
Ø84*48(84行*48列)的点阵LCD,可以显示4行汉字;
Ø采用串行通信接口与中央处理器进行通信,接口信号线数目明显减少,除电源和地外信号线仅有7条;
Ø模块可通过导电胶与印制板相连接,而不必采用连接电缆,利用模块上的金属钩可把模块固定在印制板上,安装和拆卸都极其方便;
ØLCD驱动芯片已集成在LCD晶片上,模块的占用空间很小;
Ø采用低电压供电,LCD正常显示时工作电流在200微安以下,且具有掉电保护模式。
Nokia5110LCD,其原理图如图5所示,其各引脚顺序与含义如表6所示。
图5Nokia5110原理图
表6Nokia5110引脚顺序及含义
3.5本章小结
本章对单片机模块、时钟模块、DS1302的工作原理以及键盘和显示电路模块进行了研究,同时介绍了各模块的工作原理。
4.基于DS1302的电子万年历软件设计
4.1基于DS1302的电子万年历设计系统程序设计要求
本系统程序设计要求即完成液晶显示实时年、月、日、星期、时、分、秒和闹钟的时、分、秒,通过键盘可调节闹钟时间和实时时钟且可以完成12小时与24小时的相互转化。
该系统的主程序包含了液晶模块初始化、DS1302时钟控制模块初始化、定时器T0初始化、时钟程序和中断程序。
4.2.1液晶模块初始化程序
首先产生一个让LCD复位的低电平脉冲,复位后再使能LCD。
初始化中主要设置LCD模式、偏置电压、显示模式和清屏。
4.2.2DS1302时钟控制模块初始化程序
DS1302时钟模块的初始化主要是往DS1302中写数据。
4.2.3定时器T0初始化程序
定时器T0的初始化主要设置定时器0的操作模式、启动方式。
设置定时器的初值及采用中断方式。
设置完成后,启动定时器工作。
4.2.4时钟程序和中断程序
时钟程序主要包含了键盘控制程序和时钟显示程序等。
Nokia5110液晶显示主要显示四行,第一行采用7*8显示当前日期,格式为年/月/日/星期。
第二行显示闹钟的时间,格式为时:
分:
秒。
第三行显示的是采用11*8显示实时时间,格式为时:
分:
秒。
闹铃响铃时,第四行即显示win。
时间控制流程图和时间调整流程图如图6和图7所示:
图6时间控制流程图
图七时间调整流程图
4.5闹钟程序设计
闹钟程序主要包括两个部分,一是键盘设置闹钟时间,二是闹钟时间与实时时间一致时,液晶上显示为Win。
设置闹钟时间与设置实时时间的流程图类似,当闹钟时间与实时时间一样时闹钟响应。
4.6本章小结
本章介绍了主程序流程图、时间控制流程图以及时间调整流程图,使我们对整个系统有个全局印象。
5.总结
此系统,可完全满足预定的基本要求,精确的显示时间和日期星期也可对其进行校正,可实现十二小时制与二十四小时制的转换及闹钟功能的实现,达到了预期目的。
附录
附录A:
电子万年历照片
显示实时时间和闹钟时间:
24小时制转化为12小时制:
闹钟实现显示win:
附录B:
基于DS1302的电子万年历系统的程序
参考文献
[1]张义和,王敏男,等.例说51单片机(C语言版)[M].北京:
人民邮电出版社,2008年:
125-139.
[2]滕振芳,张昆.基于单片机的电子万年历的设计[D].保定职业技术学院,2010年
[3]汤大捷.基于DS1302电子时钟的设计[J].科技世界,2012年1月,03期:
119-121.
[4]许洪光,李发明,等.NOKIA移动电话液晶显示模块LPH7366原理及其应用[J].国外电子元器件,2004年,02期:
63.
[5]裘昌利。
金美善,杨坤.串行时钟芯片DS1302在单片机系统中的应用[J].现代教育科学,2010年1月,01期:
96-97.
[6]张迎新.单片机初级教程:
单片机基础[M].北京:
北京航空航天大学出版社,2006年:
110-150.
[7]郭天祥.新概念51单片机C语言教程[M].北京:
电子工业出版社,2009年:
96-120.
[8]谭浩强。
C程序设计[M].北京:
清华大学出版社,2005年:
57-78.
[9]阿霍,霍普克劳夫特,乌尔曼,黄林鹏,王德俊,张仕.计算机算法的设计与分析:
新增经典算法的C/C++实现[M].北京:
机械工业出版社,2007年:
184-210.
[10]张则。
51系列单片机(c语言)快速入门(六)[M].电子报,2010年7月11日15版
[11]张俊谟。
单片机中级教程:
原理与应用[M].北京:
北京航空航天大学出版社,2006年:
110-139.