![数字万年历毕业设计综述_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/41959c1c-54c7-4158-ac2e-8086874cac14/41959c1c-54c7-4158-ac2e-8086874cac141.gif)
![数字万年历毕业设计综述_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/41959c1c-54c7-4158-ac2e-8086874cac14/41959c1c-54c7-4158-ac2e-8086874cac142.gif)
![数字万年历毕业设计综述_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/41959c1c-54c7-4158-ac2e-8086874cac14/41959c1c-54c7-4158-ac2e-8086874cac143.gif)
![数字万年历毕业设计综述_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/41959c1c-54c7-4158-ac2e-8086874cac14/41959c1c-54c7-4158-ac2e-8086874cac144.gif)
![数字万年历毕业设计综述_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-6/11/41959c1c-54c7-4158-ac2e-8086874cac14/41959c1c-54c7-4158-ac2e-8086874cac145.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、昆山登云科技职业学院毕业论文编号:论文题目教学系:专业班级:学生姓名: 指导教师: 2014年4 月22 日摘要随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究, 不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路 DS1302它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能, 而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同 时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采 用AT89S52单片机作为核心,功耗小,能在 3V的低压工作,电压可选用35V电
2、压供电 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周 信息,具有可调整日期和时间功能。在设计的同时对单片机的理论基础和外围扩展知识进 行了比较全面准备。在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限 制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础 就不可能很好的实现。关键词:万年历时间温度单片机液晶显示目录1方案论证31.1单片机芯片的选择方案和论证 31.2显示模块选择方案和论证31.3时钟
3、芯片的选择方案和论证31.4电路设计最终方案决定42系统的硬件设计与实现 52.1电路设计框图52.2系统硬件概述 52.3单片机主控制模块的设计52.3.1时钟电路模块的设计 62.3.2电路原理及说明72.3.3显示模块的设计83系统的软件设计93.1 程序流程框图 94测试与结果分析 114.1硬件测试114.2软件测试114.3测试结果分析与结论114.3.1测试结果分析 114.3.2测试结论115 proteus 软件仿真125.1Proteus ISIS 简介125.2Proteus 运行流程135.3Proteus 功能仿真 136课程设计总结与致谢 16参考文献17附录一:系
4、统电路图18附录二:系统程序 191绪论1.1选题的依据及意义单片机应用技术迅速发展,在我们生活的各个领域,无论工业发展中还是现实生活中 都离不开它,它是集CPU,RAM,RO定时,计数和多接口于一体的微控制器。它体积小,成 本低,功能强大,广泛应用于只能产业和工业自动化上。51系列单片机是各种单片机中最具典型和最有代表性的一种。通过这次毕业设计可以让我提升学习,设计,开发软硬件的 能力。电子万年历的设计就是建立在单片机的基础上,它是应用非常广泛的日常计时工具, 而且显示清晰直观,走时准确,可以进行夜视。数字显示的日历钟已经越来越流行,特别 是在家庭居室,办公室,车站和广场等使用,壁挂式LED
5、数码显示的日历钟逐渐受到人们的欢迎。随着科学技术的快速发展,时间的流逝,从摆钟到现在的电子钟,人类不断的研究, 不断创新纪录。美国DALLAS公司推出的具有涓流电流充电能的低功耗实时时钟电路 DS1302. 它可以对年,月,日,周,时,分,秒进行计时,还具有闰年补偿等多种功能,而且DS1302 的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示, 可以同时显示年,月, 日,周,时,分,秒和温度等信息,还具有时间校准等功能。该电路采用AT89C52单片机作为核心,功能小,能在3V的低压工作,电压可选用35V电压供电。综上所述此万年历具有读取方便,显示直观,功能多样,电路简洁,成本低廉等诸
6、多 优点,符合电子仪器仪表的发展趋势,具有管扩大市场前景,值得我们进入深入的研究和 了解。意义:(1)通过设计提高对单片机的认识,进一步熟悉和掌握单片机的结构及工作原理。(2)通过设计、制作提高焊接、布局、电路检查能力;(3)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,提高软 件设计、调试能力;(4)通过完成一个实际电子产品从电路设计、程序开发、系统调试的完整过程,熟 悉以单片机核心的应用系统开发的全过程,掌握硬件电路设计的基本方法和技术,掌握相 关电路参数的计算方法。通过此毕业课题的设计,加深对理论知识的理解,学会将学习的理论知识在实际中运 用,培养动手能力和解决实际问题的
7、能力,为今后从事相关工作打下基础1.2国内外研究现状及发展趋势随着科学技术的发展,以前的年历已发展成现在的电子万年历,他一开始是采用数字 电路实现的,电路复杂,精确度差,每天都需要调时,由于数字集成电路的发展和石英晶 体振荡器的广泛应用,使得它的电路越来越简单,精确度越来越高,现在的电子万年历一一 般都是集成芯片和软件结合实现,电路简单,制作方法简便,给人们生产生活带来了极大 的便利,它已成为我们生活中不可缺少的家居用品。3二十一世纪的今天,最具有代表性的计时产品就是电子万年历,它是近代世界钟表业 界的第三次革命。前两次革命是摆和摆轮游丝的发明,以及石英晶体振荡器的应用,第三 次革命就是单片机
8、数码计时技术的应用(电子万年历),使得从原来传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期,星期, 温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨越性的进步。电子万年历的发展趋势将会朝着功能多,读取操作简单,显示更加直观,电路更加简 洁,成本越来越低,满足大部分人的要求。随着国内超大规模集成电路的出现,微处理器 及其外围芯片有了迅速的发展。集成技术的最新发展之一就是将CPU和外围芯片,如程序存储器,数据存储器,并行,串行 I/O 口,定时/计数器,中断控制器及其他控制器件集 成在一个芯片中,支撑
9、单片计算机。而近年来推出的一些高档单片机还包括有许多特殊功 能的单元,如A/DQ/A转换器,调制解调器,锁相环,浮点运算单元等。因此只要外加一 些扩展电路及必要的通道接口就可以构成各种计算机应用系统,如数据采集系统,自动测 试系统等。1.3本课题研究内容设计一个基于单片机多功能的电子万年历。单片机最为本设计的核心,实现时钟日历 的显示:用1602显示月、日、星期、时、分、秒,用 DS1302作为该设计的实时时钟芯片2系统的硬件设计与实现2.1电路设计框图系统原理图2.2系统硬件概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供
10、,它是一种高性能、低功耗、带 RAM的实时时钟电路,它 可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPUS行同步通信,并可采用突发方式一次传送多个字节的时钟信 号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的 RAM寄存器。可产生年、 月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自 动保存功能;温度的采集由DS18B20勾成;显示部份由LCD液晶显示屏显示。2.3单片机主控制模块的设计AT89S52 单片机为40引脚双列直插芯片,有四个I/O 口 P0,P1,P2,P3, MCS-
11、51单片机 共有4个8位的I/O 口( P0 P1、P2、P3),每一条I/O线都能独立地作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调 电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端 在片内它是振荡器倒相放大器的输出。第 9引脚为复位输入端,接上电容,电阻及开关后够 上电复位电路,20引脚为接地端,40引脚为电源端。 如图2所示:lilTl-JTdJsrB PzsN .二-ilTu0 喑K1Fdl$4J:-tlQeKFls主也i空 4JwllJi.iil*1 Ml吨2饶g+4794TOK一LCD液晶显示
12、屏显示模块3系统的软件设计3.1程序流程框图图5主程序流程图4测试与结果分析4.1硬件测试电子万年历的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出 于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚 要注意处理,否则会刺被带有包皮的导线,则会对电路造成短路现象。在本成电子万年历的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都 是可以避免的,以下为主要的问题:(1)LCD液晶显示屏显示部分已经连在最小系统上,节省了不少时间和精力。(2)对万年历修改时间或日期时,有时 LCD液晶显示屏被屏蔽掉,造成不亮现象。解决:根据仪器的测试,发现电路的驱
13、动能力不足,最后在DS1302时钟芯片的/CS、SCLK RET端接入5.1K的上拉电阻后,电路的驱动能力才能满足,即可解决不亮现象。4.2软件测试电子成年历是多功能的数字型,可以看当前日期,时间。电子成年历功能很多,所以对 于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次 的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中遇到的主 要问题是:烧入程序后,LCD液晶显示屏显示亮度不好。解决:一遍旋转10K欧的滑动变阻器,一遍观看LCD显示屏,知道看到合适的亮度为 止。4.3测试结果分析与结论4.3.1测试结果分析1.在测试中遇到LCD液晶显示屏
14、为不显示时,首先使用试测仪对电路进行测试,观察是 否存在漏焊,虚焊,或者元件损坏,滑动变阻器器没有调好:查看烧写的程序是否正确无误, 对程序进行认真修改。4.3.2测试结论经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力 与及对电路的分析能力。同时在软件的编程方面得到更到的提高,对编程能力得到加强,同时对所学的知识得到很大的提高与巩固。5 Proteus软件仿真5.1Proteus ISIS 简介Proteus ISIS 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于 Win dows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路
15、。该软件的特点是:(1) 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的 优势。(2) 具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、 RS-232动态仿真、I2 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟 仪器,如示波器、逻辑分析仪、信号发生器等。(3) 目前支持的单片机类型有:ARM系列、68000系列、8051系列、AVR系列、PIC12 系列、PIC16系列、PIC18系列、Z80系列、HC1係列以及各种外围芯片。(4) 支持大量的存储器和外围芯片。总之,该软件是一款集单片机和 SPICE分析于一身的仿真软件,功能极其强大
16、,可仿真ARM 51、AVR PICoProteus启动画面:SDESIGIM1 5UITEElectronics DesignFrom ConceptTa CompletionISIS Prossional v7.1 SF2- VLabceri Ehctronics 1989-2007图7 Proteus启动画面5.2Proteus运行流程Proteus ISIS的工作界面是一种标准的 Win dows界面,如图所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对 象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。运行Proteus程序后,
17、进入软件的主界面。通过左侧工具栏中的P(从库中选择元件命 令)命令,在Pick Devices左侧窗口中选择所需元件的关键字,然后放置元件并调整方向 和位置以及参数设置,最后进行连线。Proteus ISIS 的工作界面:5o - oPHIVRXDBE Fjsrri pjj&wT pj.TrKFFDlkfADD FD.VAD1FDLWADtM冒AW POJTDTFZJJAE FZ.WAS FZA-iaP2禅懾 P2SA13 FZjmU FZTW15尺”1冷卜:MP: 心 ,i?wrXTAL1lKTALZ2DUF lIFEkIRST9CLKCl1E1 :EnrPSEH ME EAP1J1TZPl
18、.lfTZEKP12PULW1L8ProteusISIS的工作界面5.3Proteus功能仿真Proteus仿真效果最后载入hex文件后可以进行模拟仿真,可以全速运行也可以单步调试运行IkII1图9运行按键上电后后LED显示:a |*J a-* 口寸 gz E ILLIOOQQOOCia2008/06/30 Ueekl10:20;S 8 UJ(Jj g口 L CM E 寸 9 Z K LJJ QCiCtQaQCiCi图11.M01SLtT2008/06/39 Ueekl:20:5S够 8蛍(ngolcmct)寸 sg ii (2 uj DaaaaaiDa图13调节日期:图14=N1016L 二
19、- -= 订 EXLCDJ调节月份:LMU:I bL图15LODI2608/39 Weekl10:20:58siiuSESSSSS调节年份:图16/06/30 Week 110:20舟8itfl Qi |jj0CO Q gJ OlCme 分 ungz on QQDoaaaa图17点击确定键显示: LIVIU-I DL2098/06/30 Week!16:21:00S5823SSS图18按键功能自上而下依次为:选择修改项键、增大键、减小键、确定键。图196课程设计总结制作这次课程设计一切都是从零开始,从最简单的画流程图起步,这次课程设计可 以圆满完成,跟单片机课程里面的课外作业是离不开的。这次课
20、程设计从开始到制作成功 前后超过了一个星期。当电子万年历可以成功实现时,那种激动和喜悦只有自己可以体会。在整个设计过程中,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。较好的完成了设计,达到了预期的目的,完了最初的设想。对电路的设计、布局要先有一 个好的构思,才显得电路板美观、大方。程序编写中,由于思路不清晰,开始时遇到了很 多的问题,经过静下心来思考,和同学讨论,理清了思路,反而得心应手。在此次设计中, 知道了做凡事要有一颗平常的心,不要想着走捷径,一步一脚印。也练就了我的耐心,做 什么事都在有耐心。此次课程设计中学到了很多很多东西,这是最重要的。总之,此次课 设使我的能力得到了
21、全方位的提高,使得我的操作能力和专业技能都有了很大的提高。参考文献1 刘勇 编 数字电路 电子工业出版社20042 陈正振编电子电路设计与制作广西交通职业技术学院信息工程系20073 杨子文编单片机原理及应用西安电子科技大学出版社20064 王法能编单片机原理及应用 科学出版社2004附录一:系统电路图A9+QQaQaaa mLd呂 AAAs_0-fr_EPO w s maJs内 3 a sS氏 OJ OJ唱2 圉 92 HssL昼鬲g oi. OXlTEdaxws?SLmsd *看& E孑Ed 二? OLsnEd BWL iff3a saw 岂 d 曹岂d 寸 avxg 昼宦 LOWEs,m
22、 LU *l CMI E 寸 S 9 I-f& 5: &ssaa3L-eLLIw!-i 亠 T JOExff ro 上附录二:系统程序#i nclude #include vintrins.h#include LCD1602.h#include DS1302.h#defi ne uint un sig ned int实时时钟时钟线引脚 实时时钟数据线引脚 实时时钟复位线引脚#defi ne uchar un sig ned charsbit DS1302_CLK = P1A7;/sbit DS1302_IO = PM6;/sbit DS1302_RST = PM5;/sbit ACC0 = A
23、CCA0;sbit ACC7 = ACCA7;char hide_sec,hide_mi n,hide_hour,hide_day,hide_week,hide_ mon th,hide_year; / 分,时到日,月,年位闪的计数sbit Set = P2A0;/sbit Up = P2A1;/sbit Dow n =卩2八2;/sbit out = P2A3;/模式切换键加法按钮减法按钮立刻跳出调整模式按钮char don e,co un t,temp,flag,up_flag,dow n_flag;uchar TempBuffer5,week_value2; void show_time
24、(); / 液晶显示程序1602液晶显示部分子程序*/Port Defin itio ns*sbit LcdRs=P2A5;*sbit LcdRw =卩2八6;P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口sbit LcdEn=卩2八7;sfr DBPort= 0x80;/内部等待函数*un sig ned char LCD_Wait(void)LcdRs=0;LcdRw=1; _nop_();LcdE n=1; _nop_();LcdE n=0;return DBPort; /向LCD写入命令或数据*#defi ne LCD_COMMAND0/ Comma nd#d
25、efi ne LCD_DATA1/ Data#defi ne LCD_CLEAR_SCREEN01 / 清屏#defi ne LCD_HOMING 0x02/光标返回原点void LCD_Write(bit style, un sig ned char in put)LcdE n=O;LcdRs=style;LcdRw=O;_nop_();DBPort=i nput;_nop_(); 注意顺序LcdEn=1;LcdEn=0;_nop_();注意顺序_nop_();LCD_Wait();/设置显示模式#defi ne LCD_SHOW#defi ne LCD_HIDE#defi ne LCD_C
26、URSOR#defi ne LCD_NO_CURSOR#defi ne LCD_FLASH#defi ne LCD_NO_FLASH0x04 /显示开0x00 /显示关0x02/显示光标0x00 / 无光标 0x01 /光标闪动0x00 /光标不闪动*/设置输入模式#defi ne LCD_AC_UP#defi ne LCD_AC_DOWN#defi ne LCD_MOVE#defi ne LCD_NO_MOVE0x020x00/ default0x01/ 画面可平移0x00 /defaultvoid LCD_SetDisplay(unsigned char DisplayMode) LCD_
27、Write(LCD_COMMAND, 0x08|DisplayMode); *void LCD_Set In put( un sig ned char In putMode) LCD_Write(LCD_COMMAND, 0x04|I nputMode);/初始化LCD*void LCD_I nitial()LcdE n=0;LCD_Write(LCD_COMMAND,0x38);8位数据端口 ,2 行显示,5*7 点阵LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);开启显示,无光标 LCD_Write(LC
28、D_COMMAND, LCD_CLEAR_SCREEN)清 屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);/AC 递增,画面不动/液晶字符输入的位置*void GotoX Y(un sig ned char x, un sig ned char y) if(y=0)LCD_Write(LCD_COMMAND,0x80|x);if(y=1) LCD_Write(LCD_COMMAND,0x80|(x-0x40); /将字符输出到液晶显示void Print(un sig ned char *str) while(*str!=0)LCD_Write(LCD_DATA,*
29、str);st r+;/*DS1302日寸钟部分子程序 */typedef struct _SYSTEMTIMEun sig ned char Second;un sig ned char Minu te;un sig ned char Hour;un sig ned char Week;un sig ned char Day;un sig ned char Mon th;un sig ned char Year;un sig ned char DateStri ng11;un sig ned char TimeStri ng9; SYSTEMTIME; /定义的时间类型 SYSTEMTIME
30、 Curre ntTime;#defi ne AM(X) X#defi ne PM(X) (X+12)II转成24小时制#defi ne DS1302_SECOND0x80/时钟芯片的寄存器位置,存放时间#defi ne DS1302_MINUTE0x82#defi ne DS1302_HOUR0x84#defi ne DS1302_WEEK0x8A#defi ne DS1302_DAY0x86#defi ne DS1302_MONTH 0x88#defi ne DS1302_YEAR0x8Cvoid DS1302I nputByte(u nsig ned char d)II实时时钟写入一字节
31、(内部函数) un sig ned char i;ACC = d; for(i=8; i0; i-)DS1302_IO = ACC0;II相当于汇编中的RRCDS1302_CLK = 1; DS1302_CLK = 0; ACC = ACC 1; unsigned char DS1302OutputByte(void)/ 实时时钟读取一字节(内部函数) un sig ned char i; for(i=8; i0; i-) ACC = ACC 1;/相当于汇编中的 RRCACC7 = DS1302O; DS1302_CLK = 1;DS1302_CLK = 0; return(ACC); vo
32、id Write1302(unsigned char ucAddr, unsigned char ucDa)/ucAddr: DS1302 地址,ucData:要写的数据 DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;DS1302I nputByte(ucAddr);/ 地址,命令DS1302InputByte(ucDa);/ 写 1Byte 数据DS1302_CLK = 1;DS1302_RST = 0;/读取DS1302某地址的数据地址,命令读1Byte数据 un sig ned char Read1302( un sig ned char uc
33、Addr) un sig ned char ucData;DS1302_RST = 0;DS1302_CLK = 0;DS1302_RST = 1;/DS1302In putByte(ucAddr|0x01);/ucData = DS1302OutputByte();/DS1302_CLK = 1;DS1302_RST = 0;return(ucData);void DS1302_GetTime(SYSTEMTIME *Time) /获取时钟芯片的时钟数据到自定义的结构 型数组un sig ned char ReadValue;ReadValue = Read1302(DS1302_SECON
34、D);Time-Seco nd = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_MINUTE);Time-Mi nute = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_HOUR);Time-Hour = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_DAY);Time-Day = (ReadValue&0x70)4)
35、*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_WEEK);Time-Week = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_MONTH);Time- Mon th = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);ReadValue = Read1302(DS1302_YEAR);Time-Year = (ReadValue&0x70)4)*10 + (ReadValue&0x0F);void DateToS
36、tr(SYSTEMTIME *Time) / 将时间年,月,日,星期数据转换成液晶显示字 符串,放到数组里DateString if(hide_year2)/这里的if,else语句都是判断位闪烁,2就不显示,输出字符串为2007/07/22 Time-DateStri ng0 = 2;Time-DateStri ng1 = 0;Time-DateStri ng2 = Time-Year/10 + 0;Time-DateStri ng3 = Time-Year%10 + 0;else Time-DateStri ng0 = ; Time-DateStri ng1=;Time-DateStri
37、ng2 = ; Time-DateStri ng3 = ;Time-DateStri ng4 = /;if(hide_mo nthDateStri ng5 = Time-Mo nth/10 + O;Time-DateStri ng6 = Time- Mon th%10 + 0;else Time-DateStri ng5 = ; Time-DateStri ng6 = ;Time-DateStri ng7 = /;if(hide_dayDateStri ng8 = Time-Day/10 + 0;Time-DateStri ng9 = Time-Day%10 + 0;elseTime-Date
38、Stri ng8 = ;Time-DateStri ng9 = ;if(hide_weekWeek%10 + 0; /星期的数据另外放到 week_value数组里,跟年,月,日的分开存放,因为等一下要在最后显示else week_value0 = ;week_value1 = 0;Time-DateString10 = 0; /字符串末尾加0,判断结束字符void TimeToStr(SYSTEMTIME *Time) / 将时,分,秒数据转换成液晶显示字符放到数组 TimeStri ng; if(hide_hourTimeStri ng0 = Time-Hour/10 + 0;Time-T
39、imeStri ng1 = Time-Hour%10 + 0;else Time-TimeStri ng0 = ;Time-TimeStri ng1 = ;Time-TimeStri ng2=:;if(hide_mi nTimeStri ng3 = Time-Mi nute/10 + 0;Time-TimeStri ng4 = Time-Mi nu te%10 + 0;else Time-TimeStri ng3 = ;Time-TimeStri ng4 = ; Time-TimeStri ng5=:;if(hide_secTimeStri ng6 = Time-Seco nd/10 + 0;
40、Time-TimeStri ng7 = Time-Seco nd%10 + 0; elseTime-TimeStri ng6 = ;Time-TimeStri ng7 = ; Time-DateStri ng8 = 0; void Ini tial_DS1302(void) /时钟芯片初始化 un sig ned char Seco nd=Read1302(DS1302_SEC0ND);if(Seco nd&0x80)/Write1302(0x8e,0x00); /Write1302(0x8c,0x07); /判断时钟芯片是否关闭写入允许以下写入初始化时间日期:07/07/25.星期:3.时间
41、:23:59:55Write1302(0x88,0x07);Write1302(0x86,0x25);Write1302(0x8a,0x07);Write1302(0x84,0x23);Write1302(0x82,0x59);Write1302(0x80,0x55);Write1302(0x8e,0x80); /禁止写入void Delay1ms( un sig ned int count)un sig ned int i,j;for(i=0;ico un t;i+)for(j=0;j0;delay-)for(i=0;i0x59) / 超过 59 秒,清零temp=0;break;case
42、2:temp=Read1302(DS1302_MINUTE); / 读取分数temp=temp+1; / 分数力卩 1up_flag=1;if(temp0x59) /超过 59 分,清零temp=0;break;case 3:temp=Read1302(DS1302_HOUR); / 读取小时数 temp=temp+1; / 小时数加 1 up_flag=1;if(temp0x23) / 超过23小时,清零temp=0; break;case 4:temp=Read1302(DS1302_WEEK); / temp=temp+1; / 星期数加 1 up_flag=1;if(temp0x7)t
43、emp=1; break;case 5:temp=Read1302(DS1302_DAY); / temp=temp+1; / 日数力卩 1 up_flag=1;if(temp0x31)temp=1; break;case 6:temp=Read1302(DS1302_MONTH); / temp=temp+1; / 月数加 1 up_flag=1;if(temp0x12)temp=1; break;case 7:temp=Read1302(DS1302_YEAR); / temp=temp+1; / 年数加 1 up_flag=1;if(temp0x85) temp=0; break;default:break; while(Up=0); / /读取星期数读取日数读取月数读取年数void Dow nkey()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年调脂抗动脉粥样硬化药项目提案报告模范
- 2025年输注延长管项目申请报告模板
- 2025年卫生巾供应合同格式
- 2025年加工服务协作协议模板
- 2025年合作研发新范本协议书
- 2025年个人房产购买协议标准文本
- 2025年农村住宅用地互易协议标准化
- 2025年电气安装工程策划合作框架协议范本提供
- 2025年修理厂技术师傅指导学徒合同
- 2025年信用卡消费抵押贷款协议书
- 2025版职业院校与企业合作育人合同3篇
- 自动化设备项目评估报告模板范文
- DB32T 4969-2024大型医用设备使用监督管理平台基础数据采集规范
- 2025年广东广州市海珠区官洲街道办事处政府雇员招聘5人高频重点提升(共500题)附带答案详解
- 《道路交通安全法》课件完整版
- 初中2025教学工作计划
- 部编版教科版三年级科学下册全册教案【统编教材】
- 2024年度市政工程项目三方合作协议3篇
- 【大学课件】机电设备管理技术概论
- 切削加工中的刀具路径规划算法考核试卷
- 《推拿学》期末考试复习题库(含答案)
评论
0/150
提交评论