1、前言随着信息化的发展和人们生活节奏的提高,为了提高工作效率,大家越来越具有时间观念,一个人的成功与失败在很大程度上与这个人是否有时间观念相关。现在还有许多特殊的日子,如各种各样的节日,假日,纪念日,而全部记住这些特殊日子对我们来说是不可能的,幸好我们有一个好帮手来帮助我们记住这些日子日历。随着电子技术的发展,人们对万年历的要求也越来越高,要求其不仅计时精度高,而且要具有可靠性好、成本低、功能全,外形美观等特点。目前单片机已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。本设计的目的就是用单片机实现万年历的设计,并用GPS对万年历进行准确的校时。通过本设计使学生能综合运用所学的
2、数电、模电和单片机的知识,为毕业后进一步从事相关工作打下初步的基础。主题1.主要任务本次设计题目是能准确校时的万年历的设计,因此需要完成的功能:(1)能在LCD上准确地显示当前的日期(年、月、日)和时间(时、分、秒),星期;(2)能在LCD上显示相应阴历,温度;(3)当前日期、时间和终点日期的调整和设定功能。当系统第一次运行,或需要调整当前日期和时间,能够采集GPS模块的时间,日期等信息用于调时,也可以通过按键手动调整。2.主控芯片选择方法一:基于FPGA的串行接口时钟电路的设计。电路结构(图2.1)。外部信息通过串行接口控制器与内部信息进行交换。其中内部传送为并行方式,外部为串行方式;晶振分
3、频将外部输入的32768Hz的输入时钟分为1Hz,便于时钟模块进行计数,采用格雷码计数可以大量减少逻辑门的翻转次数;时钟模块对1Hz的时钟进行计数,得到年、月、日、周、时、分、秒等,信息可以暂存在RAM内,也可以控制器对时钟进行置数,或者把置数暂存于RAM内。1。该设计系统功耗小,精确度高,但是设计成本较高21图2.1基于FPGA的串行接口时钟电路结构图。方法二:采用ATmega48作为主控芯片。该方案的实现成本稍微高一点,但专用实时时钟芯片的集成度高,走时准确,具备自动日历和闰年自动调整等功能,特别是主控芯片与专用实时时钟芯片本身耗电非常小,非常容易实现实时时钟的掉电运行设计,而且程序设计实
4、现简单,其电路如(图2.2)所示8图2.2ATMEGA48与DS1302的电路连接方法三:使用AT89S51芯片作为主控芯片,该电路能够准确计时,还附加许多其它功能,在掉电时能保存用户设置参数和故障状态参数等重要参数。设计电路如(图2.3)所示。2图2.3DS12887与AT89S51接口电路上述三块主控芯片都可以用于本次设计中,但是前两种芯片的价格相对较高,且我并不熟悉,而第三种芯片的89c51单片机由于内部ROM较小,可能无法存储较大的软件程序,故最后选择了同系列芯片89c52,他的内存ROM是51的两倍,且控制上与51单片机相同。3.时钟芯片选择目前使用的时钟芯片多为两种:DS1302,
5、DS12887。DS12887与单片机为并行接口方式,虽然传输速度较快,但是占用大量接口资源,给其它器件的设计带来诸多不便,AT89C51的片内存储空间也不是很大。DS1302是串口方式,只需要3个控制引脚就能完成功能24为此把实时时钟芯片换成DS1302,把主控芯片换成AT89C52,该电路不但能准确地计时,而且,DS1302为三线接口可以节省接口资源,在断电后不丢失时间和数据信息。该设计方案的接口电路如(图2.4)所示。图2.4AT89C52与DS130234.显示部份的选择方案一:LED显示用单片机驱动LED数码管显示按显示方式分有:静态显示和动态显示。静态显示就是单片机将所要显示的数据
6、送出去后,由于显示驱动电路具有输出锁存功能(74LS373),数码管始终显示该数据,CPU不再控制LED。直到下一次显示时,再传送一次新的显示数据。静态显示的接口电路采用一个并行口接一个数码管,数码管的公共端按共阴极或共阳极分别接地或接VCC。这种接法,每个数码管都要单独占用一个并行I/O口,以便单片机传送字形码到数码管控制数码管的显示。显然其缺点就是当显示位数多时,占用I/O口过多。动态扫描用分时的方法轮流控制每个LED数码管的片选端,使每个显示器轮流电亮。在轮流点亮过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。LED显
7、示中的动态显示可以满足设计的需求,但是由于本设计要求显示的信息较多,需要较多的LED,电路复杂又不够美观。方案二:LCD1602显示LCD1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块,LCD160216*2。LCD1602也可以用作显示,但是由于是字符型LCD,所以不能显示汉字和图形,而本设计中将会需要显示阴历,所以用汉字显示比较漂亮,LCD1602无法做到。方案三:LCDAmpire128*64Ampire128*64是ks0108驱动的字模显示LCD,它最多可以显示32个16*16的汉字,采用列式倒序排
8、序显示。采用Ampire128*64字模液晶显示器,可以很完整地显示本次设计所要显示的数据,而且外部电路连线较少,单片机的端口占用也较少。5.温度检测部份4图4.1。如图4-1所示,DS18b20是3脚温度传感器,信息经过单线接口送入DSl8b20或从DSl8b20送出,因此从主机CPU到DSl8b20仅需一条线(和地线)。DSl820的电源可以由数据线本身提供而不需要外部电源4Ds18b20用12位存贮温值度最高位为符号位,下(图4.2)为18b20的温度存储方式负温度S=1正温度S=0。如:0550H为+85,0191H为25.0625,FC90H为-55。图4.2DS18B20温度寄存器
9、通过以上方案的比较,我选择AT89C52作为控制芯片,串行接口时钟芯片DS1302作为时钟芯片电路,LCDAmpire128*64作为显示屏,DS18b20作为温度检测部分。该设计的硬件电路由主控部分(单片机AT89C51)、计时部分(实时时钟芯片DS1302)、显示部分(Ampire128*64)、电源部分几个部分组成。各部分之间相互协作,构成一个统一的有机整体,完成多功能万年历的功能。6.公历与农历之间的转换方法。公历年对应的农历数据:每年三字节,格式第一字节BIT7-4位表示闰月月份,值为0为无闰月,BIT3-0对应农历第1-4月的大小,第二字节BIT7-0对应农历第5-12月大小,第三
10、字节BIT7表示农历第13个月大小月份对应的位为1表示本农历月大(30天),为0表示小(29天),第三字节BIT6-5表示春节的公历月份,BIT4-0表示春节的公历日期19这样就可以把公历转阴历的对照表用3字节存储,要用到时只要根据公历的年月日,通过查找对应表就可以得到相应的阴历年月日18。例如:2010年的对应三个字节为0x0A,0x95,0x4e表4.1阴历存储方式一月二月三月四月五月六月七月八月九月十月十一月十二月0000101010010101无闰月大小大小大小小大小大小大010011105闰月为小公历春节2月公历春节为14号7.校时的实现方案:本设计采用按键校时的方式,通过检测相应按
11、键是否被按下来判断时分秒的选择以及加减情况,在本次设计中,我使用了三个按键,分别控制:GPS接受,时分秒的选择,时分秒的加减。其中涉及到按键的软件设计如(图4.3)所示4图4.3按键程序设计流程图8.GPS数据格式GPRMC(建议使用最小GPS数据格式)$GPRMC,1)标准定位时间(UTCtime)格式:时时分分秒秒.秒秒秒(hhmmss.sss)。2)定位状态,A=数据可用,V=数据不可用。3)纬度,格式:度度分分.分分分分(ddmm.mmmm)。4)纬度区分,北半球(N)或南半球(S)。5)经度,格式:度度分分.分分分分。6)经度区分,东(E)半球或西(W)半球。7)相对位移速度,0.0
12、至1851.8knots68)相对位移方向,000.0至359.9度。实际值。9)日期,格式:日日月月年年(ddmmyy)。10)磁极变量,000.0至180.0。11)度数。12)Checksum.(检查位)4总结本设计利用单片机AT89C52控制串行实时时钟芯片DS1302和温度芯片DS18b20构成多功能万年历电路,实现实时时间,日期和温度显示以及阴历显示。该电路使用简单的三线接口,为单片机节省大量的接口资源,时钟芯片DS1302带有后备电池,具备对后背电源进行涓细充电的能力,保证电路断电后仍保存时间和数据信息,这些优点解决了目前常用实时时钟占资源多以及计时不可靠以及掉电丢失等缺点。该时
13、钟功能强大,性能优越,能为很多领域,特别是对时钟工作的精确性和可靠性有较高要求的场合,提供较好的倒计时实时时钟。但是,由于DS1302易受环境影响,会使该电路出现时钟精度不高、时钟混乱等问题,所以设置为通过按键来读取GPS的OEM板发出的数据对DS1302进行校时。7【参考文献】1王庆等.Protel99SE&DXP电路设计教程M.北京:电子工业出版社,2006.2高禹,冯相忠.C语言程序设计M.北京:中国农业大学出版社,2008.3菜美琴等.MCS-51系列单片机系统及其应用M.北京:高等教育出版社,2004.4楼然苗,李光飞.单片机课程设计指导M.北京:北京航空航天大学出版社,2007.5
14、白延敏.51单片机典型系统开发实例精讲M.北京:电子工业出版社,2009.6郭惠,吴迅.单片机C语言程序设计完全自学手册M.北京:电子工业出版社,2008.7周立功.增强型80C51单片机速成与实战M.北京:北京航空航天大学出版社,2004.8雷丽文等.微机原理与接口技术M.北京:电子工业出版社,1997.9邱关源.电路M.北京:高等教育出版社,2006.10康华光.电子技术基础模拟部分M.北京:高等教育出版社,2005.11王怀平,王仁波,胡开明.Proteus仿真设计基于单片机AT89C51的电子万年历J.科技广场,2008,(10):2036.12杨河理,熊晓东.电子万年历中公历农历互换
15、算法研究J.长江大学学报(自科版),2006,(10):1421.13张剑锋,陈慕君.万年历算法研究及实现J.中国水运(理论版),2007,(04):4450.14肖炎根,舒望.基于实时钟芯片的电子万年历的设计J.电子技术,2007,(Z3):3235.15张义和编例说51单片机(C语言版)M北京:人民邮电出版社2008.16刘建清编从零开始学单片机C语言M北京:国防工业出版社2006.17刘勇编数字电路北京:电子工业出版社M2004.18陈正振编电子电路设计与制作M广西:广西交通职业技术学院信息工程系2007.19杨子文编单片机原理及应用M西安:西安电子科技大学出版社2006.820艺博云天
16、.GPS入门基础知识转.忽略:/21郭来功.基于FPGA的串行接口时钟电路的设计J.现代电子技术,2007,(18):5256.22James,M.E.andS.N.V.Kalluri,ThePathfinderAVHRRlanddataset:Animprovedcoaresresolutiondatasetforterrestrialmonitoring,Int.J.RemoteSens,1994,15,15:33473364.23Holben,B.N.Characteristicsofmaximum-valuecompositeimagesfromtemporalAVHRRdata,Int.J.RemoteSens,1986,7,7:14171434.24侯崇升.利用DS12887时钟芯片实现实时定时电路J.国外电子测量技术,2002,(21):1821.9
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922