




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)题目电子万年历的设计学生姓名刘聪学号0807040123教学院系电气信息学院专业年级电气信息学院2008级指导教师邱红兵职称副教授单位西南石油大学辅导教师职称单位完成日期2012年6月6日SOUTHWESTPETROLEUMUNIVERSITYGRADUATIONTHESISTHEDESIGNOFELECTRONICCALENDARGRADE2008NAMELIUCONGSPECIALITYELECTRONICANDINFORMATIONENGINEERINGINSTRUCTORQIUHONGBINGSCHOOLOFELECTRICALANDINFORMATION20126摘要在当代繁忙的工作与生活中,时间与每一个人都有非常密切的关系,每个人都受到时间的影响,电子万年历的出现给人们的工作与生活带来了福音。电子万年历是实现对阳历的日期和时间以及阴历的日期显示的计时装置。随着科技的发展,电子万年历也有了巨大的进步和发展,目前已经广泛应用于家庭、车站、码头、办公室以及银行等各种场所。已经成为人们日常生活和工作中必不可少的电子产品,具有广阔的发展空间和市场前景。本文介绍了基于单片机AT89C52的电子万年历的设计,该设计结合时钟芯片DS1302以及显示器件LCD12864,能够直观的显示阳历年、月、日、星期、时、分、秒,以及通过程序算法转换阳历的日期,得到阴历的年、月、日。在显示阴历时间时,能标明是否为闰年、闰月,同时完成对它们的自动校正,全部信息均受单片机AT89C52的控制,并由液晶显示器件LCD12864显示。人机口由4个按键来实现,通过这四个按键可对时间、日期进行人为的自由调整。本设计采用单片机为核心器件,软硬件结合,使硬件部分大为简化,提高了系统稳定性,设计出的电子万年历可以显示阳历的日期和时间以及阴历的日期。其软硬件设计简单,时间记录准确,有较强的实用性。关键词万年历;AT89C52;DS1302;LCD12864ABSTRACTINCONTEMPORARYBUSYWORKANDLIFE,TIMEANDEVERYONEHASAVERYCLOSERELATIONSHIP,EVERYONEISTHEINFLUENCEOFTHETIME,THEEMERGENCEOFELECTRONICCALENDARTOPEOPLESWORKANDLIFEBRINGTHEGOSPELELECTRONICCALENDARISTHEREALIZATIONOFTHESOLARCALENDARDATEANDTIMEANDDATEOFTHEDISPLAYOFTHETIMINGDEVICEWITHTHEDEVELOPMENTOFSCIENCEANDTECHNOLOGY,ELECTRONICCALENDARALSOHADGREATPROGRESSANDDEVELOPMENT,NOWHASBEENUSEDWIDELYINTHEFAMILY,STATION,WHARF,OFFICEANDOFTHEBANKANDOTHERVARIOUSPLACESHASBECOMEPEOPLEDAILYLIFEANDWORKNECESSARYINELECTRONICPRODUCTS,HAVEWIDEDEVELOPMENTSPACEANDTHEMARKETPROSPECTTHISPAPERINTRODUCESTHEAT89C52SINGLECHIPMICROCOMPUTERBASEDONTHEELECTRONICCALENDARDESIGN,THEDESIGNWITHTHECLOCKCHIPDS1302ANDDISPLAYDEVICESLCD12864,CANINTUITIVESHOWSYANGLINIAN,MONTH,DAY,WEEK,WHEN,MINUTESANDSECONDS,ANDTHROUGHTHEPROCESSOFCONVERTINGSOLARCALENDARDATEALGORITHM,GETTHELUNARCALENDARYEAR,MONTH,DAYINTHEDISPLAYLUNARCALENDARTIME,CANINDICATEWHETHERFORALEAPYEAR,INTERCALARYMOON,FINISHATTHESAMETIMETOTHEIRAUTOMATICADJUSTMENT,ALLINFORMATIONBYAT89C52SINGLECHIPMICROCOMPUTERCONTROLOFBOTH,ANDTHELIQUIDCRYSTALDISPLAYDEVICELCD12864DISPLAYTHEMANMACHINEMOUTHBYFOURPRESSINGBUTTONS,THROUGHTHEFOURBUTTONSONTIME,DATEOFPEOPLEFREEADJUSTMENTTHISDESIGNUSESTHEMCUASTHECORE,THEHARDWAREANDSOFTWARECOMBINATIONTOMAKEHARDWAREPARTGREATLYSIMPLIFIEDANDIMPROVETHESTABILITYOFTHESYSTEM,DESIGNOFELECTRONICCALENDARCANDISPLAYTHESOLARCALENDARDATEANDTIME,ANDTHEDATEOFTHELUNARCALENDARITSSOFTWAREANDHARDWAREDESIGNSIMPLE,TIMETORECORDANDACCURATE,WITHSTRONGPRACTICABILITYKEYWORDSELECTRONICCALENDAR;AT89C52;DS1302;LCD12864目录1绪论111本设计的研究背景和研究意义112设计任务及任务分析12本设计总体设计方案221方案论证与比较2211方案一基于AT89C52的电子万年历的设计2212方案二基于PLD的电子万年历的设计2213方案三基于凌阳单片机的电子万年历的设计322本设计方案选择43硬件电路的设计与计算531控制电路的设计与计算5311电路选择5312元器件的选型及参数计算532时钟电路的设计与计算8321电路选择8322元器件的选型及参数计算933显示电路的设计与计算11331电路选择11332元器件的选型及参数计算1134硬件总电路图134软件设计及编程1441软件设计功能图1442软件设计流程图1443阳历程序设计及功能实现1544时间调整程序设计及功能实现1545阴历程序设计及功能实现175系统调试及分析1951硬件电路调试及结果分析19511单片机最小系统电路的测试结果及其分析19512DS1302时钟电路的测试结果及其分析19513LCD12864显示电路的测试结果及其分析2052软件调试及功能分析20521阳历显示程序功能实现及其分析20522时间调整程序功能实现及其分析21523阴历显示程序功能实现及其分析216结论与展望2261结论22西南石油大学本科毕业设计(论文)662展望22谢辞23参考文献24附录一系统整体电路图25附录二PCB电路图26附录三实物图27附录四系统完整程序28电子万年历的设计11绪论11本设计的研究背景和研究意义随着电子技术的迅速发展,时间的流逝,从观察太阳、摆钟到现在的电子钟,人类在不断的研究、不断的创新。电子万年历是实现对年、月、日、时、分、秒、农历等显示的计时装置,广泛应用与家庭、车站、码头、办公室、银行等各种场所,成为人们日常生活中的必需品。数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生活带来了极大的方便,在此基础上完成的电子万年历精度高,功能易于扩展,可扩展为诸如整点报时、定时自动报警、按时自动打铃、自动启闭路灯等等具有多种功能的产品。电子万年历的出现给人们的生活与工作带来了诸多的方便,具有读取方便、显示直观,功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。12设计任务及任务分析设计任务设计一个电子万年历,要求能显示阳历年、月、日、星期、时、分、秒和阴历年、月、日,在显示农历时间时,能标明是否为闰年。主控芯片使用AT89C52单片,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟DS1302。任务分析实现对阳历时间、日期及阴历日期的显示,需要单片机的控制,并通过显示模块进行显示。能对时间、日期进行调节,就需要按键模块。西南石油大学本科毕业设计(论文)22本设计总体设计方案21方案论证与比较211方案一基于AT89C52的电子万年历的设计采用AT89C52芯片作为硬件核心,采用FLASHROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS51系列单片机完全兼容,编程也简单,而且价格便宜,使整体的设计成本降低。采用LCD12864液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,显示美观,方便查看。采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,RAM做为数据暂存区,工作电压25V55V范围内,25V时耗电小于300NA。本方案的系统框图如图21所示。图21方案一系统框图212方案二基于PLD的电子万年历的设计采用ALTERA公司的FLEX10K系列PLD器件。设计起来结构清晰,各个模块,从硬件上设计起来相对简单,控制与显示的模块间的连接比较方便。采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合。采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,RAM主控模块(AT89C52)时钟电路(DS1302)键扫描电路LCD12864显示电路电子万年历的设计3做为数据暂存区,工作电压25V55V范围内,25V时耗电小于300NA。本方案的系统框图如图22所示。图22方案二系统框图213方案三基于凌阳单片机的电子万年历的设计凌阳16位单片机有丰富的中断源和时基。它的准确度相当高,并且C语言和汇编兼容的编程环境也很方便来实现一些递归调用。I/O口功能也比较强大,方便使用。用凌阳16位单片机做控制器最有特色的就是它的可编程音频处理,可完成语音的录制播放和识别。这些都方便对设计进行扩展,使设计更加完善,成本也相对低一些。采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是实现的时间误差较大。本方案的系统框图如图23所示。主控模块(PLD)时钟电路(DS1302)键扫描电路点阵数码管主控模块(凌阳)键扫描电路LED数码管西南石油大学本科毕业设计(论文)4图23方案三系统框图22本设计方案选择在方案二中,但是考虑到本设计的特点,PLD在功能扩展上比较受局限,而且占用的资源也相对多一些。显示模块使用的点阵式数码管的价格相对较高。在方案三中,凌阳单片机在控制与显示的结合上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高。显示模块使用的数码管编程繁琐,操作比液晶显示复杂,也不便于直观的查看。综上各所述,本次设计将选择方案一基于AT89C52的电子万年历的设计。采用AT89C52作为控制系统;DS1302提供时钟;LCD12864作为显示。电子万年历的设计53硬件电路的设计与计算31控制电路的设计与计算311电路选择最小控制系统由单片机、晶振电路和复位电路组成。晶体振荡器的两端分别接两个电容,来对晶振信号退耦。单片机复位采用的上电复位的方式。如图31所示为控制系统电路图。图31控制系统电路图312元器件的选型及参数计算1、单片机AT89C52AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。使用ATMEL公司高密度非易失性存储器技术制造。片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89C52具有以下标准功能8K字节FLASH,256字节RAM,32西南石油大学本科毕业设计(论文)6位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89C52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89C52的引脚图如图32所示。图32AT89C52引脚图P0口P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在FLASH编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。如图33所示为P0口的上拉电阻电路连接图。图33P0口上拉电阻电子万年历的设计7P1口P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P10和P12分别作定时器/计数器2的外部计数输入(P10/T2)和时器/计数器2的触发输入(P11/T2EX),具体如下表所示。在FLASH编程和校验时,P1口接收低8位地址字节。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器,EA端必须保持低电平。需注意的是如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行内部程序存储器的指令。2、单片机晶振电路晶振电路采用的是频率为12MHZ的晶体振荡器。在晶振的两端接两个电容值为30PF电容的目的是为晶振输出信号滤波。如图34所示为晶振电路连接图。图34单片机晶振电路西南石油大学本科毕业设计(论文)83、单片机复位电路复位电路采用的复位方式为上电复位。复位电路中使用的电容C2的值为30PF,电阻R11的值为10K。上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。如图35所示为复位电路图。图35单片机复位电路32时钟电路的设计与计算321电路选择时钟电路的晶体振荡器与单片机的晶振一样,两端分别接两个电容,来对晶振信号退耦。如图36所示为时钟电路连接图。图36时钟芯片电路图电子万年历的设计9322元器件的选型及参数计算1、时钟芯片DS1302DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为25V55V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。如图37所示为DS1302引脚图,其中VCC1为后备电源,VCC2为主电源。X1和X2是振荡源,外接32768KHZ晶振。图37DS1302引脚图控制字节的最高有效位位7必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据位5至位1指示操作单元的地址最低有效位位0如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。读写时序如下图38所示。西南石油大学本科毕业设计(论文)10图38DS1302读/写时序图DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表3。表31DS1302的日历、时间寄存器2、DS1302晶振电路DS1302的晶振电路与单片机的晶振电路相似,唯一不同之处在晶振的频率,DS1302所选晶振频率为32768KHZ。如图39所示为DS1302的晶振电路。图39DS1302晶振电路电子万年历的设计1133显示电路的设计与计算331电路选择图310显示电路连接图LCD12864的引脚直接接在单片机的引脚上面,RE、RW、E、PSB依次接在单片机P10至P13口上,数据口D0D7依次接在单片机P0口上。A引脚上接一个10K的滑动变阻器来调节显示屏的亮度。显示部分电路图如图310所示。332元器件的选型及参数计算1、LCD12864液晶显示12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864,内置8192个1616点汉字,和128个168点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字。也可完成图形显示低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。各管脚功能如表32所示。表3212864管脚功能表管脚号管脚名称电平管脚功能描述1地VSS0V电源地25VVCC305V电源正3中V0对比度(亮度)调整(可以接VCC)西南石油大学本科毕业设计(论文)124单1RSCSH/LRS“H”,表示DB7DB0为显示数据RS“L”,表示DB7DB0为显示指令数据5单2R/WSIDH/LR/W“H”,E“H”,数据被读到DB7DB0R/W“L”,E“HL”,DB7DB0的数据被写到IR或DR6单3ESCLKH/L使能信号7单39DB0H/L三态数据线8单38DB1H/L三态数据线9单37DB2H/L三态数据线10单36DB3H/L三态数据线11单35DB4H/L三态数据线12单34DB5H/L三态数据线13单33DB6H/L三态数据线14单32DB7H/L三态数据线15单4PSBH/LH8位或4位并口方式,L串口方式(见注释1)16空NC空脚17空/RESETH/L复位端,低电平有效(见注释2)18空VOUTLCD驱动电压输出端195VAVDD背光源正端(5V)(见注释3)20地KVSS背光源负端(见注释3)LCD12864的数据传输过程如图图311所示。图311写数据(8位数据线模式)电子万年历的设计13LCD12864读数据的时序图如图312所示。图312读数据(8位数据线模式)34硬件总电路图系统总电路图见附录一,PCB板见附录二。西南石油大学本科毕业设计(论文)144软件设计及编程41软件设计功能图软件系统功能图如图41所示。AT89C52DS1302键扫描LCD12864图41软件系统功能图42软件设计流程图软件系统流程图如图42所示。开始初始化读写时间、日期分离日期、时间显示值显示子程序时间、日期修改子程序农历自动匹配闰月显示结束图42软件流程图电子万年历的设计1543阳历程序设计及功能实现因为使用了时钟芯片DS1302,阳历程序只需从DS1302各个寄存器中读出年、月、日、星期、时、分、秒等数据,在处理即可。在首次对DS1302进行操作前,必须对它进行初始化,然后从DS1302中读出数据,再经过处理后,送给显示模块单元。阳历程序设计系统流程图如图43所示。图43计算阳历程序流程图44时间调整程序设计及功能实现调整时间用4个按钮调整,1个用于控制,1个用于移位,两外2个作为加、减调节按钮。在调节时间过程中,逃调整的位与其他的位应该有区别,所以增加了汉字显示提示功能,即调整的位有相应的汉字提示。当按下一位按钮时,即进入下一位的调整,并有相应汉字提示。时间调整程序流程图如图44所示。西南石油大学本科毕业设计(论文)16图44时间调整程序流程图电子万年历的设计1745阴历程序设计及功能实现阴历程序的实现是靠阳历日期来推算。要根据阳历日期来推算阴历日期,首先要设计算法。推算方法是,根据阳历当前日期在一年中的天数来计算阴历日期。阳历一个月不是30天就是31天(2月除外,闰年2月为29天,平年2月为28天)。阴历一年有12个月或13个月(含闰月),一个月为29天或30天。如果把一个只有29天的月称为小月,用1标志,把30天的月称为大月,用0标志,那么12位二进制就能表示一年12个月的大小。如果有闰月,则把闰月的月份作为一字节的高4位,低4位表示闰月大小,大月为0,小月为1。这样一字节就包含了所有闰月信息。阴历春节和阳历元旦相差天数也用一字节表示。总共用4字节就可以存储一年中任何一天阳历与阴历对应关系的有关数据,例如2004年的阴历与阳历对应关系如表41所示。表412004年的阴历与阳历对应关系表月份123456789101112闰2月大小小大大大小大小大小大小大小二进制1000101010101天数29303030293029302930293030十六进制4252212004年春节和元旦相差21天,这样2004年的信息表示为21,42H,52H,21H。其中表示12个月大小信息的字节,第4位和第7位不用。第一字节位十进制,其他的都为十六进制。按此方法,100年的阳历和阴历对应关系表共使用400字节。先要根据当前阳历的日期,算出阳历为该年中的第几天,计算出当前阳历日期为该年的第几天后,再减去该年春节和元旦的日差,如果够减,则相减的结果就是阴历在该年中的总第几天,根据该数据就可以推算出具体的当前阴历日期;如果不够减,则表示当前阴历为阳历的前一年,在这种情况下,根据实际,当前阴历日期会处于阴历的11月或12月,此时春节和元旦的日差减去前面计算出的当前阳历日期在阳历中的第几天的数据,其结果表示当前阴历日期距离春节的天数。再根据查表所得的该年的阴历的闰月和大小月信息,就可以推算出该天的阴历日期。阴历程序算法流程图如图45所示。西南石油大学本科毕业设计(论文)18图45阴历程序流程图电子万年历的设计195系统调试及分析51硬件电路调试及结果分析电子万年历的电路系统比较简单,但对于焊接方面不可轻视,电路系统中只要出于一处的错误,就会对检测造成很大的不便,电路中的交线较多,对于各种锋利的引脚要注意处理,否则会刺穿被带有包皮的导线,对电路造成短路现象。硬件电路实物图见附录三。511单片机最小系统电路的测试结果及其分析焊接好单片机最小系统电路后,测试是否有虚焊、短路等问题以及单片机是否正常工作。用万用表的二极管档测试,若有吱吱吱的响声则表示有短路,这种方法也可以检查线路是否连接通。给单片机最小系统上电,用万用表电压档测试单片机各引脚输出电压是否正常,电压表的读数如图51所示。用示波器检测单片机晶振是否起振,晶振的波形输出如图52所示。图51电压表测试读数图52单片机晶振输出波形图西南石油大学本科毕业设计(论文)20512DS1302时钟电路的测试结果及其分析时钟芯片DS1302与单片机的连接比较简单,电路焊接好后,检测电路是否有虚焊、短路的问题,用万用表测试时钟芯片各脚电压,用示波器检测时钟芯片的晶振是否起振。在测试时钟电路的时候,发现时钟电路的输出波形不正常,经过检查和测试,发现晶振没有添加去耦电容,在添加了电容之后,时钟电路输出波形工作正常了。如图53所示为DS1302的实物连接图。图53DS1302实物图513LCD12864显示电路的测试结果及其分析液晶显示电路的连接很简单,很容易焊接。但需要需要注意的是,由于液晶屏是接在AT89S52的P0口,所以必须要接上拉电阻。焊接好后,检测电路是否有虚焊、短路的问题,用万用表测试各脚的电压。测试滑动变阻器能否调节显示屏亮度。在芯片中烧入一个简单的液晶屏显示程序,测试液晶屏能否显示。如图54所示为LCD12864的实物连接图。图54LCD12864实物图电子万年历的设计2152软件调试及功能分析521阳历显示程序功能实现及其分析阳历程序的设计很简单,编写好DS1302读写程序和阳历和时间显示程序,在主函数中调用,很容易就能实现阳历和时间的显示功能。在编写程序时,由于没有掌握好DS1302的读写时序,导致DS1302不能正常读数。经过认真分析时序,最后终于编写出了DS1302的正确程序。如图55所示为12864显示出的时间日期。图55阳历时间日期显示522时间调整程序功能实现及其分析时间调整程序比较复杂,程序多了,就很容易出错,所以在编写过程中要很细心。将编写好的程序烧入单片机中进行检查。在写这部分程序时,感觉不是很困难,只要认真按照逻辑顺序编写就行了。如图56所示是时间日期的调节部分。图56月份的调节显示523阴历显示程序功能实现及其分析阴历程序的编写难点主要在算法上,在有了算法和阴历与阳历转阴历的关系表的情况下,阴历程序也很容易编写。编写好程序,烧入开发板检测。在程序加入了农历子程序后,农历不能正常显示。在仔细查看程序,发现返回的农历是16进制数。而我把它当成了十进制数,以至于不能正常显示。修改后,显示正常,如图57所示。西南石油大学本科毕业设计(论文)22图57阳历与阴历显示6结论与展望61结论通过本次设计,本系统能完成以下功能(1)显示公历日期功能(年、月、日、时、分、秒以及星期)(2)可通过按键调节年、月、日、时、分、秒以及星期(3)可动态完整显示年本设计的亮点是在显示阴历日期时,使用汉字的显示,显示农历的年份采用的天干地支的表现方式。例如,在2012年的农历闰四月初一时,显示格式为“壬辰年闰四月初一”,使显示更为美观。本设计硬件电路较简单,所以器件较少,电路中使用了AT89C52单片机、DS1302时钟芯片和LCD12864液晶显示器,实现了预计功能。62展望在本次设计中仍然存在着不足之处。1、显示的年限过短,只能显示2000年2100年之间的部分。2、通过按键调节年、月、日后,如果不调节星期,星期的显示就会出现与正常的星期不匹配,目前还没办法自动校正,只能通过手动调节星期,才能使所显示的星期与正常星期匹配。由3、于未来的阴历日期是不能准确预测出的,所以,所显示的阴历日期有可能与其他版本的电子万年历在未来的阴历日期显示上出现不匹配的情况。4、由于使用的是C语言进行的编程,所以整个程序显得很臃肿,在现有的程序设计基础上,还可以进行精简。5、本设计的功能还可以在现有基础上再次扩展,还可以添加闹铃功能,跑马表功能,以及整点报时功能等等,还有很大的扩展空间。电子万年历的设计23谢辞首先我必须感谢院领导对我们毕业生在毕业设计过程中的支持与关怀其次我要特别感邱红兵老师,不管在选题阶段,还是在设计阶段、在制作阶段,正是他给予我不断的指导与帮助,导师渊博的学识、严谨的治学态度、求实创新的工作作风、对事业和科学的执着追求,以及对我谆谆教诲给我留下了深刻的印象,使我受益终身。在课题的研究设计过程中,我不仅从邱老师那里学到许多专业知识,更重要的是学会了学习新知识并将其巩固的方法,这无疑是一把开启未来生活的钥匙,特此向邱老师表示衷心的感谢最后我要感谢我的同学们,在设计和焊接过程遇到困难时,正是由于同学们的帮助我才能顺利的克服困难,毕业设计的完成离不开同学们的帮助在大学四年的学习生活中,还得到了许多领导和老师的热情关心和帮助,在此,向所有关心和帮助过我的领导、老师、同学和朋友们表示由衷的谢意衷心的感谢在百忙之中评阅论文和参加答辩的各位教授、老师西南石油大学本科毕业设计(论文)24参考文献1康光华电子技术基础(数字部分)北京电子工业出版社,2006022李建忠单片机原理及应用陕西西安电子科技大学出版,2006023张俊谟单片机中级教程北京北京航空航天大学出版,2006034李飞光单片机课程设计实例指导北京北京航空航天大学出版社,20045李振声实验电子技术(P182193)国防工业大学出版社,20016何立民单片机应用技术选编北京北京航空航天大学出版社,2000087万光毅单片机实验与实践教程北京北京航空航天大学出版社,2005018周航慈单片机程序设计基础北京北京航空航天大学出版社,1991119黄遵熹单片机原理接口与应用陕西西北工业大学出版社,19970510KUGLANP,KRIEGERE,SANTIAGOETHE8051MICROCONTRONLLER2009P110122电子万年历的设计25附录一系统整体电路图P102345678RES9XDTINWALG/OVCUAPMESKHZBJ西南石油大学本科毕业设计(论文)26附录二PCB电路图电子万年历的设计27附录三实物图西南石油大学本科毕业设计(论文)28附录四系统完整程序显示子程序DEFINEDATA_BUSP0DEFINERSP1_1DEFINER_WP1_3DEFINEEP1_2DEFINEPSBP1_0VOIDDELAYUNSIGNEDINTCONTUNSIGNEDCHARJUNSIGNEDINTIFORI0I16BREAKVOIDPUTS_DATAUNSIGNEDCHARROW,UNSIGNEDCHARLINE,UNSIGNEDCHARCONT,UNSIGNEDINTNUMBER/输出数据(暂为四位)CODEUNSIGNEDCHARP“0123456789“UNSIGNEDCHARTEMP4UNSIGNEDCHARQUNSIGNEDCHARIUNSIGNEDCHARSTAR_SITE0X80IFCONT5RETURNIFROW0I/BCD码转十进制UNSIGNEDCHARDS1302_BCD_TO_DECUNSIGNEDCHARBCDUNSIGNEDCHARTEMPTEMPBCD/16TEMP10TEMPBCD16RETURNTEMP/DS1302初始化VOIDDS1302_STARTRST1SCL0SDA0/DS1320结束VOIDDS1302_STOPRST0SCL0SDA0/DS1602写一个字节VOIDDS1302_WRITEBYTEUNSIGNEDCHARDAUNSIGNEDCHARI电子万年历的设计33RST1DELAY5FORI0I1SDACYDELAY2SCL1DELAY8SDA0DELAY8/读一个字节UNSIGNEDCHARDS1302_READBYTEUNSIGNEDCHARI,TEMP0SDA1FORI0I1RETURNDS1302_BCD_TO_DECTEMPVOIDSET_DS1302UNSIGNEDCHARDAT,UNSIGNEDCHARADRESSDS1302_STARTDS1302_WRITEBYTEADRESSDELAY100DS1302_WRITEBYTEDAT/1016|DAT10DS1302_STOPDELAY_MS10UNSIGNEDCHARREAD_DS1302UNSIGNEDCHARADRESSUNSIGNEDCHARDAT0DS1302_START/MIAODS1302_WRITEBYTEADRESSDELAY10DATDS1302_READBYTEDS1302_STOPDELAY50RETURNDAT西南石油大学本科毕业设计(论文)34VOIDMAINUNSIGNEDCHARI,M,SIGN0,SCAN0UNSIGNEDINTNUM0,TEMP10,TEMP20CLEAR_SCREENSCREEN_INTFORI0IGUANXIBIAOYEAR0SWITCHYINLI_MONCASE1PUTS_CHAR4,4,“一OV“BREAKCASE2PUTS_CHAR4,4,“二OV“BREAKCASE3PUTS_CHAR4,4,“叁OV“BREAKCASE4PUTS_CHAR4,4,“四OV“BREAK西南石油大学本科毕业设计(论文)36CASE5PUTS_CHAR4,4,“五OV“BR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家事业单位招聘2025农业农村部国际交流服务中心招聘拟聘用人员笔试历年参考题库附带答案详解
- 国家事业单位招聘2025中国人民大学校医院招聘2人笔试历年参考题库附带答案详解
- 北京市2025中国国土勘测规划院招聘应届博士毕业生6人笔试历年参考题库附带答案详解
- 上海市2025第二季度上海文化广场招聘3人笔试历年参考题库附带答案详解
- 2025贵州镇远县佰利供销再生资源回收有限责任公司招聘2人笔试参考题库附带答案详解
- 2025福建泉州文旅集团招聘61人笔试参考题库附带答案详解
- 2025渭南合阳县煤炭事务中心招聘(12人)笔试参考题库附带答案详解
- 2025浙江余姚市舜源供应链服务有限公司招聘12人笔试参考题库附带答案详解
- 2025江西锦苑司法鉴定中心招聘专职管理人员1人笔试参考题库附带答案详解
- 2025新疆机场(集团)有限责任公司下辖机场第一季度招聘(15人)笔试参考题库附带答案详解
- 2023年广东生物高考第18题光合作用说题课件
- 除锈剂MSDS参考资料
- 6社会体育导论
- 部编版七年级历史与社会下册《第三课中华文明探源》评课稿
- 中考英语作文预测(范文20篇)
- 选煤厂原煤分级筛技术操作规程
- 方物电子教室q2用户手册
- 消防管道支架工程量计算表
- GB/T 700-2006碳素结构钢
- 腹腔镜下肾癌根治术
- 如何学好初中数学-课件
评论
0/150
提交评论