基于DS12C887时钟芯片的高精度时钟的设计.docx
《基于DS12C887时钟芯片的高精度时钟的设计.docx》由会员分享,可在线阅读,更多相关《基于DS12C887时钟芯片的高精度时钟的设计.docx(40页珍藏版)》请在冰豆网上搜索。
基于DS12C887时钟芯片的高精度时钟的设计
华侨大学厦门工学院
本科生毕业设计(论文)
题目:
基于DS12C887时钟芯片的高精度时钟的设计
姓名:
吴挺
学号:
0902106019
系别:
电气工程
专业:
电气工程及其自动化
年级:
2009
指导教师:
刘晓东
年月日
独创性声明
本毕业设计(论文)是我个人在导师指导下完成的。
文中引用他人研究成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已在谢辞中体现;其它内容及成果为本人独立完成。
特此声明。
论文作者签名:
日期:
关于论文使用授权的说明
本人完全了解华侨大学厦门工学院有关保留、使用学位论文的规定,即:
学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或其他复制手段保存论文。
保密的论文在解密后应遵守此规定。
论文作者签名:
指导教师签名:
日期:
基于DS12C887时钟芯片的高精度时钟的设计
摘要
随着社会的发展人们的生活节奏越来越快,每天的工作,学习,休息的时间都安排的很紧,需要一个时钟准确的报时。
人们对时钟的要求越来越高,不仅要求每天的的时间误差小于几毫秒,还要求具有定时闹钟,具有万年历等功能。
传统的日历电子钟元器件多、维修麻烦、误差大、功能更新不方便。
DS12C887时钟芯片能够自动显示年、月、日、时、分、秒等时间信息,同时还具有校时,报时,闹钟等功能。
DS12C887也可以很方便的由软件编程进行功能的调整或增加。
所以设计基于DS12C877时钟芯片的高精度时钟的设计具有十分重要的现实意义和实用价值。
关键词:
DS12C887,时钟芯片,单片机STC89C52,高精度时钟
DesignofhighprecisionclockbasedonclockchipDS12C887
Abstract
Withthedevelopmentofsociety,peopleliferhythmfasterandfaster,aday'swork,studyandresttimearrangementisverytight,needaclocktellthetimeaccurately.Peopleishigherandhigherrequirementfortheclock,everydaynotonlyrequiresthetimeerrorislessthanafewmilliseconds,alsorequiresatimingalarmclock,acalendar,andotherfunctions.Traditionalelectronicclockcalendarcomponents,maintenancetrouble,bigerror,functionmoreupdateisnotconvenient.ChipDS12C887clockautomaticallydisplayyear,month,day,hours,minutesandsecondstimeinformation,butalsowiththeschool,thetime,alarmclock,andotherfunctions.DS12C887canalsobeveryconvenientbythesoftwareprogrammingtoadjustfunctionortoincrease.SothedesignisbasedonDS12C877clockchipdesignofhighprecisionclockhasveryimportantpracticalsignificanceandpracticalvalue.
Keywords:
DS12C887,clockchipmicrocontrollerSTC89C52,high-precisionclock
第1章绪论
1.1研究背景
传统时钟芯片在电源断电时内部的时间芯片就会停止计时,所以需要额外使用一个备用的电源向时钟芯片供电,这样会使系统功耗增大,体积变大。
单一功能定时时钟只提供年,月,日,时,分,秒的时间信息和日历功能,多功能时钟除了提供时间信息和日历功能以外,通常还具有报警,定时,闹钟等功能。
采用单片机STC89C52和时钟日历芯片DS12C887设计并且制作出来的电子钟,一个月的时间里只有1秒内的误差[1],比DS1302,DS1307,PCF8485等的芯片设计出来的时钟更精确[2]
时钟按照工具接口方式不同可以分为并行接口时钟和串行接口时钟,并行接口时钟的特点是:
传输速度快,但是硬件数目多,接线数目多,产品体积大。
串行接口时钟的特点:
传输线少,成本低,产品体积小。
缺点是传输速度慢。
时钟芯片的种类也越来越多,对时钟芯片的要求越来越高,比如精度高,体积小,功耗低,性能稳定,功能齐全,使用方便,技术更新灵活。
所以设计一款体积小,工作稳定,时间精确的时钟具有十分重要的意义。
第2章方案论证选择
2.1时钟计时的方案选择
方案一:
传统的基于单片机的时钟设计可以采用单片机内部的晶振来产生脉冲,然后通过单片机内部的计时器经过分频产生秒脉冲,然后通过软件编程来实现时钟的显示,这种设计方案的优点是外围器件少,电路简单清晰,电路焊接容易,出问题的故障几率小。
但是这种方案需由软件编程来实现秒脉冲的产生,编程相对来说比较复杂,而且也不利于排除故障,维修起来不方便。
由于单片机内部时钟会产生误差,即使设计时间误差补偿程序也很难实现提供准确时间的功能。
。
这种设计还有一个非常大的缺点就是如果单片机断电,芯片里的时间计时就停止,再次上电时又从初始设定重新计时,这样就需要在每次上电都调整时间,比较麻烦。
方案二:
在传统的基于单片机的数字时钟设计的基础上经过一些改进,引入DS12C887时间芯片,本次设计可分为两部分:
硬件部分包括:
体积小功能丰富的STC89C52单片机[3]、具有掉电保护的DS12C887时钟芯片[4]电路简单易于实现的1602LCD液晶显示器[5],键盘输入电路等。
具体说来,系统智能控制部分由单片机及其相关的外围电路[6]组成,外围电路包括解决死机等问题的复位电路[7]、波形稳定的晶振电路[8]、键盘设计、闹铃电路以及合适的直流电源电路[9]。
利用单片机将复位电路、能够降低功耗和减少显示器外部引线的显示电路[10]、电源电路等正确的连接在一起,并通过单片机的编程来实现本次设计任务中的要求。
软件部分主要包括了主程序模块,DS12C887模块,LCD1602模块,键盘控制模块。
DS12C887芯片具有掉电保护功能,内部自带锂电池,能够在断电的情况下保持时间信息,等到外部电路恢复供电之后能够不必调整时间,为时钟的校时操作节省了很多时间,而且这种设计更节能,在需要观察时间的时候比如白天就可以给主电路通电。
而在夜晚不需要观察时钟的时候就可以给主电路断电,这样可以节约大量电能。
时间芯片DS12C887采用了内部集成晶振的电路,并且具有内部温漂补偿电路设计。
能够准确计时,提供精确的时间,这样就简化了电路的器件选择,另外也使程序的设计更加简洁。
在硬件设计方面,由于只增加了一个DS12C887时间芯片,因此并不是特别复杂,而且这种独立计时的设计使得产品排故更加方便。
第二种方案更加准确而且电路硬件设计更加简单,软件设计更加简洁,因此采用第二种方案。
2.2显示部分的方案选择
1.数码管显示,8段数码管显示虽不需要复杂的驱动程序,可视范围宽,但硬件制作成本高,硬件电路的设计复杂。
2.LCD1602液晶显示,液晶显示最大的特点就是界面简洁,已经广泛应用于现代工业控制和智能化仪器仪表等地方,己经成为单片机开发领域典型模块之一。
能够方便的显示文字和数字。
3.LCD1602液晶显示时屏幕不会有闪烁。
液晶操作方便,且与单片机的接口电路简单,接线面积小,大大提高了万年历的性能。
所以最终选择LCD1602液晶显示方案。
第3章系统组成
3.1.1系统原理与硬件设计
本次的设计题目是电子万年历设计,要求实现年、月、日、时、分、秒的正常显示,需要硬件和软件的结合来实现。
本次设计利用时钟日历芯片DS12C887的特性和STC89C52单片机的功能利用实现的。
根据设计的要求万年历要显示年、月、日、时、分、秒的显示同LCD1602。
在明确本次设计思路之后,画出设计框图,总体框图如图2.1所示。
图1设计总体框图
图2系统电路原理图
3.1.2硬件选择
(1)时钟芯片选择选用DS12C887时钟芯片。
(2)单片机的选择 选用STC89C52单片机,并配备11.0592MHz晶振,复位电路采用上电复位。
(3)显示电路选择 采用LCD1602液晶显示。
(4)电源选择 采用直流5V电源供电。
3.1.3单片机STC89C52中文资料
STC89C52是STC公司生产的低电压,高性能CMOS8位单片机.片内含8KbyTES的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH由存储单元,STC89C52单片功能强大,适用于许多电子产品。
主要性能参数:
1.与Mcs-51产品指令和引脚完全兼容。
2.8字节可重擦写FLASH闪速存储器
3.1000次擦写周期
4.全静态操作:
0HZ-24MHZ
5.三级加密程序存储器
6.256X8字节内部RAM
7.32个可编程I/0口线
8.3个16位定时/计数器
9.8个中断源
10.可编程串行UART通道
11.低功耗空闲和掉电模式
图3STC89C52外部引脚图
Vcc:
电源电压
GND:
地线
P0:
P0口是一组8位漏极开路型双向1/O口,也即地址/数据总线复用口。
作为输出口用时.每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
当访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
PI是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL
与AT89C51不同之处是,Pl.0和P1.1还可分别作为定时/计数器2的外部计数输入(Pl.0/T2)和输入(P1.1/T2EX),
参见图3
FLASH编程和程序校验期间,Pl接收低8位地址。
图3PI.O和PI.l的第二功能
口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。
对端口P2写“l",通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt)。
在访问外部程序存储