资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,本科毕业设计论文,多时区电子时钟日历软件设计,06,电子,02,班:宋香,指导老师:王延年,1,西安工程大学毕业设计,设计要求:,此,设计,要求,制作一个电子时钟日历,能够,显示年、月、日、时、分、秒、星期。有时区设定功能且能实现各个时区年、月、日、时、分、秒、星期的相互转换。有时间调校功能,带掉电保持内部时钟继续运行。,2,西安工程大学毕业设计,目 录,一,系统总体方案确定,二,主程序流程图介绍,三,各主要子程序介绍,四,软件调试与仿真,五,结论,3,西安工程大学毕业设计,一,系统总体方案确定,硬件总体原理:,按照系统设计功能的要求,确定系统主要由主控模块AT89C51、时控模块DS1302、显示模块LCD1602和键盘接口模块共4个模块组成,电路系统构成框图如,图,1,所示。,图1 硬件设计总框图,4,西安工程大学毕业设计,(,1,)为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正液晶上显示的时间。此外,键盘电路还要来进行时区的切换。,(,2,)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。,(,3,)实时时钟芯片引入一个内部充电电源在停止外部供电时,仍具有内部计时的功能。,(,4,)液晶显示电路用来显示单片机发送的信号。,5,西安工程大学毕业设计,时区切换的分析及时区显示,全球共分为24个时区(中时区,东1-12区和西1-12区,其中东12区和西12区合为一时区)。因此相邻的两个时区区时相差一小时,整体两个时区之间,中间有几根时区界限,它们的区时之差就是几个小时,又因为太阳的周日运动是自西向东,其中较东的时区较早,而东12区比西12区早24小时,所以东12区比西12区的日期要快一天,但是鈡点一样。,6,西安工程大学毕业设计,二,主程序流程图介绍,主程序流程图如图,2,所示。,流程图说明:,(,1,)对液晶进行初始化,包括设置液晶工作模式,,LCD1602,工作模式为,16*2,行显示,,8,为数据。判断液晶模块是否处于忙的状态。设定日历星期显示固定字符从第一行第一个位置之后开始显示,时间时区显示从第二行第二个位置后开始显示,写入固定字符。,图,2,主程序流程图,7,西安工程大学毕业设计,(,2)对时钟日历芯片进行初始化,向DS1302内部年,、,月、日、时、分、秒以及星期的寄存器地址写入初始数据。,(,3,),对定时器、计数器进行初始化设置,指定定时计数器的工作方式并允许有开放的中断,开启中断。,(,4,),对时区的初始化设置当前时区为东8区-北京时间。,(,5,),进行循环用液晶显示。,(,6,),若要对年、月、日、时、分、秒以及星期各部分进行调校,对时区进行转换调用键盘扫描函数,达到预期值之后进行显示。,8,西安工程大学毕业设计,三,主要子程序介绍,实时时钟程序,实时时钟可提供秒、分、时、日、月、年和星期,一个月小与,31,天时可以自动调整,且具有闰年补偿功能。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。,DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h8Dh,写时80h8Ch),存放的数据格式为BCD码形式,。,9,西安工程大学毕业设计,DS1302,寄存器特殊位介绍:,小时寄存器的位7用于定义DS1302是运行于12小时模式还是24小时模式。,秒寄存器的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。,控制寄存器的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。,10,西安工程大学毕业设计,D,S1302实时时间驱动流程图如图,4,图4,11,西安工程大学毕业设计,流程图说明:,在写操作之前应禁止写保护。复位产生高电平,,SCLK=0,到,SCLK=1,,所选地址被写入,DS1302,,然后再向该地址写数据,而地址自动加一。重新复位,依次读取地址,再将地址内数据读出,读完后送入显示系统。,12,西安工程大学毕业设计,液晶显示程序设计,液晶显示模块是一个慢显示器件,要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。,图,5,是,1602,的内部显示地址。,图,5,13,西安工程大学毕业设计,例如:第二行第一个字符的地址是40H,那么不能直接写入40H就可以将光标定位在第二行第一个字符的位置,这是因为写入显示地址时要求最高位D7恒定为高电平所以实际写入的数据应该是,01000000B(40H)+10000000B(80H)=11000000B(C0H),14,西安工程大学毕业设计,液晶初始化流程图如图,6,图6,15,西安工程大学毕业设计,流程图说明:,设置液晶模式,本设计液晶模式选用为16*2行显示,8为数据。,第一行从第一个位置开始显示年、月、日及星期。其显示按照固定符号的格式“20 -”,总共有14位,循环将各个位置的地址内数据一次显示。,第二行从第二个位置开始显示时、分、秒及时区标志。其显示也是按照固定符号的格式“:”总共有11位,循环将各个位置的地址内数据一次显示。,16,西安工程大学毕业设计,键盘扫描程序,本系统设置,4,个按键来实现日历时钟调校以及时区的切换。,(,1,),KEY1,为功能设置键共有秒、分、时、星期、日、月、年、返回,,8,个功能循环,每按下一次后分别进行秒、分、时、星期、日、月、年,7,个位置下光标的闪烁。,17,西安工程大学毕业设计,(,2,),KEY1,键按下后哪位下光标闪烁则可对此位进行上调(,KEY2,)或下调(,KEY3,)。,(,3,),KEY4,键为时区切换键,按一下,在当前时区上加一时区,从西,12,到东,12,,相邻的两个时区间靠东比靠西早一小时,东,12,区比西,12,区早一天。每按一下,KEY4,,则,24,个时区时钟日历显示进行循环。,18,西安工程大学毕业设计,秒校准流程图如图,7,所示,对秒进行上调,按一下,KEY1,,秒下光标闪烁,每按一下,KEY2,,秒在当前数值上加,1,,直到显示为,59,时,再按一下,秒清零。,下调原理相同。,图,7,N,Y,19,西安工程大学毕业设计,相邻时区时钟转化流程图如图,8,所示,图8,20,西安工程大学毕业设计,中断程序流程图,如图,9,所示。,流程图分析:由中断查询当有中断请求时,及进行现场保护,保护断点,读取1302中的日历时钟并转化为相应的BCD码,写入液晶中,调用年、月、日,时、分、秒显示子函数进行显示。,图,9,21,西安工程大学毕业设计,四,软件调试与仿真,软件调试的任务是利用开发工具进行在线仿真调试,发现和纠正程序错误,同时也能发现仿真结果故障。,22,西安工程大学毕业设计,本程序的调试和仿真用到KEIL uVision2软件和Proteus ISIS仿真软件的联合,程序的调试一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来总调,,最后在原理图液晶上读取显示。,23,西安工程大学毕业设计,联合调试结果:,24,西安工程大学毕业设计,仿真结果,:,25,西安工程大学毕业设计,26,西安工程大学毕业设计,27,西安工程大学毕业设计,五,结论,本论文设计的多时区电子时钟日历是基于AT89C51单片机在LCD1602上显示年、月、日、时、分、秒、星期以及时区标志。用键盘电路实现了各个时区年、月、日、时、分、秒、星期的相互转换以及时间调校功能。实时时钟芯片DS1302引入一个内部充电电源在停止外部供电时,仍具有内部计时的功能因此实现了带掉电保持内部时钟继续运行。,28,西安工程大学毕业设计,在软件调试中用到了学过的uVision2集成开发环境,仿真时用了Proteus ISIS仿真软件,再利用联合调试的方法完成了软硬件的结合。整个系统具有硬件设计简单、工作稳定性高、价格低廉等优点。软件编程也用了常用的单片机C语言,其重点在于定时中断的合理使用,各相互独立的程序通过有机的组合,来完成所需功能。,29,西安工程大学毕业设计,谢谢观看!,30,西安工程大学毕业设计,演讲完毕,谢谢观看!,内容总结,本科毕业设计论文多时区电子时钟日历软件设计。(3)实时时钟芯片引入一个内部充电电源在停止外部供电时,仍具有内部计时的功能。时区切换的分析及时区显示。(4)对时区的初始化设置当前时区为东8区-北京时间。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。小时寄存器的位7用于定义DS1302是运行于12小时模式还是24小时模式。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态。控制寄存器的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。在写操作之前应禁止写保护。液晶显示模块是一个慢显示器件,要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。第一行从第一个位置开始显示年、月、日及星期。第二行从第二个位置开始显示时、分、秒及时区标志。演讲完毕,谢谢观看,
展开阅读全文