版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖南工业职业技术学院Hunan Industry Polytechnic类别毕业设计题目单片机自动控制打铃系统设计系名称电气工程系专业及班级机电一体化S2012-4学生姓名文智新学号03指导教师张宇驰、汪建宇摘 要: 本设计是一种基于STC89C52单片机控制的自动打铃系统设计。它具有多项显示和控制功能:能用LCD实时显示当前年、月、日、星期、时间;可对时间进行调整;具有闹铃及整点报时功能;可显示万年历等功能。并且它以单片机的 C51 语言进行软件设计,增加了程序的可读性和可移植性,便于扩展和更改。 本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各
2、方面的应用。系统由主控制器STC89C52、时钟电路DS1302、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示并且装有自动打铃系统。关键词: 单片机 万年历 时钟电路DS1302 C52 ABSTRACTThe design is a single-chip microcomputer 51 based on the number of automatic ring a bell system. It has a number of display and control functions: real-time use LCD displays
3、the current year, month, day, week, time; may be time to adjust; with alarm as well as the whole point timekeeping function; calendar function displays. And the C51 it single-chip software design language, an increase of procedures to improve the readability and portability, ease of expansion and ch
4、ange.Based on a microcontroller based on the will to achieve calendar of a multi-functional electronic clock designThereby achieve studying and understanding the relevant directives SCM in all aspects of the application. By main control STC89C52、clock circuit DS1302、display circuit、keystroke circuit
5、 and restore circuit componented to achieve clock calendar display function can be carried out hours seconds of the show and real-time of the show and real-time temperature display And equipped with automatic ring a bell system.KEYWORDS: Single-chip clock circuit calendar DS1302 C51 language 目录引言11
6、设计简介及方案论述21.1 作息时间控制钟概述21.2 本设计任务和主要内容21.2.1 设计任务21.2.2 主要内容22 系统硬件电路设计32.1 遥控部分32.2 STC89C52单片机性能介绍42.2.1 时钟电路52.2.2 复位及复位电路62.2.3 STC89C52具体介绍如下72.2.4 STC89C52主要功能82.2.5 单片机引脚图92.3 DS1302性能介绍92.3.1 DS1302引脚排列92.3.2 DS1302的控制字节102.3.3 数据输入输出(I/O)102.3.4 DS1302的寄存器112.4 1602 液晶模块112.4.1 1602字符液晶112.
7、4.2 1602简介112.4.3 1602接线图122.5蜂鸣器模块和电源模块123 系统软件设计133.1 系统软件设计的主要内容133.2主程序流程设计144 毕业设计结论分析15参考文献16附录117附录218引言多功能数字万年历已成为人们日常生活中必不可少的物品,广泛用于个人家庭以及车站、码头、医院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。随着技术的发展,人们已不再满足于钟表原先简单的报时功能,希望出现一些别的功能,诸如日历的显示、闹钟的应用等,以带来更大的方便,而所有这些,又都是以数字化的电子时钟为基础的。因此,研究实用电子时钟及其发展应用,有着非常现实的意
8、义,具有很大的实用价值。由于数字集成电路技术的发展和采用了先进的石英技术,使电子钟具有走时准确、性能稳定、携带方便等优点它还用于计时、自动报时及自动控制等各个领域。虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜,使用灵活,如可以随意设置时、分、秒的输出,改变显示数字的大小等,并且由于集成电路技术的发展,特别是MOS集成电路技术的发展,使电子钟具有体积小、携带方便,但是这里介绍的实用电子钟可以满足使用者的一些特殊要求,输出方式灵活、功耗低、性能稳定、维护方便等优点。多功能数字万年历是一个时间控制系统,既能作为一般的时间显示器,同时可以根据需要扩展其功能。近年来,随着电子技术和微机计算机
9、的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效的方法就是理论与实践并重,本文是基于STC89C52单片机设计的一个多功能万年历并且装有自动打铃系统。1 设计简介及方案论述1.1 作息时间控制钟概述本设计是一个具有报时功能的作息时间控制钟。
10、它是基于STC89C52单片机控制DS1302时钟芯片来计时的,进行年历计算,并用的蜂鸣器驱动模块将它报出来;在进行时间计算,分每加一时,都与规定的作息时间比较,如果相等则进行相应的控制或动作。本设计时钟显示由TC1602液晶显示,外形美观、大方,显示醒目、直观,遥控芯片为PT2262/PT2272,可用遥控来对数字钟进行调整,四个按键用于报时及校正时间。现代机关企业,特别是学校要求对时间加以控制,要按时打铃及播放广播,以保证学习与工作的正常运行。本设计实现了这些功能,给学校及其他机关企业带来方便,整体性好,人性化强、可靠性高,实现了对时间控制的智能化。1.2 本设计任务和主要内容1.2.1
11、设计任务用可编程器件为主体,设计并制作一台自动打铃系统。要求完成的作品必须固化软件,测试检查时上电即可工作,不允再用计算机下载。实现能够显示当前的时间,同时能够在规定的时间点控制打铃装置打出预期的铃声。另外增设无线控制,通过遥控分配以实现对时间的调整,包括对时钟、分钟的增加和减少,秒钟的清零及设定打铃时间。1.2.2 主要内容1、基本计时和显示功能(用12小时制显示)。包括上下午标志,时、分的数字显示,秒信号指示。2、能设置当前时间(含上、下午,时,分)3、能实现基本打铃功能2 系统硬件电路设计2.1 遥控部分PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解
12、码电路,PT2262/2272最多可有12位三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过比较核对后,VT才输出高电平。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电
13、路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100的调幅。 图2-1 PT2262引脚图 图2-2 PT2262无线接收电路图2-3 PT2272引脚图图2-4 PT2272无线接收电路2.2 STC89C52单片机性能介绍STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory )的低电压,高性能COMOS8的微处理器,俗称单片机。
14、该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。单片机总控制电路如下图2-5所示。图2-5 单片机总控制电路2.2.1 时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图2-6(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。外部方式的时
15、钟电路如图2-6(b)所示,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。(a)内部方式时钟电路 (b)外部方式时钟电路图2-6时钟电路2.2.2 复位及复位电路(1)复位操作复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表
16、1所示。表1 一些寄存器的复位状态寄存器复位状态寄存器复位状态PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P3FFHSCON00HIPXXBSBUF不定IE0XBPCON0XXX0000BTMOD00H(2)复位信号及其产生RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号电路如图2-7所示。 图2-7 复位信号的电路逻辑图整个复位电路包括芯片内、外两部分。外部电
17、路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图2-8(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图2-8(c)所示:(a)上电复位 (b)按键电平复位 (c
18、)按键脉冲复位图2-8复位电路上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。本系统的复位电路采用图2-8(b)上电复位方式。2.2.3 STC89C52具体介绍如下 主电源引脚(2根)VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选
19、通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.72.2.4 STC89
20、C52主要功能表2 STC89C52主要功能主要功能特性兼容MCS51指令系统8K可反复擦写Flash ROM32个双向I/O口256x8bit内部RAM3个16位可编程定时/计数器中断时钟频率0-24MHz2个串行中断可编程UART串行通道2个外部中断源共6个中断源2个读写中断口线3级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能2.2.5 单片机引脚图图2-9 单片机引脚图2.3 DS1302性能介绍2.3.1 DS1302引脚排列图2-10 DS1302引脚图1)Vcc1:后备电源,VCC2:主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的
21、较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。2)X1、X2:振荡源,外接32.768kHz晶振。3)RST:复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.0V之前,RST必须保持低电平。只有在
22、SCLK为低电平时,才能将RST置为高电平。4)I/O为串行数据输入输出端(双向)。5)SCLK为时钟输入端。2.3.2 DS1302的控制字节 图2-11 DS1302的控制字节控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。2.3.3 数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8
23、位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。 2.3.4 DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见数据手册。此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突
24、发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。DS1302应用电路如2-12所示。 图2-12 DS1302应用电路2.4 1602 液晶模块2.4.1 1602字符液晶 图2-12 1602字符液晶2.4.2 1602简介工业字符型液晶,能够同时显示16x02即32个字符。(16列2行) 注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。 由于本系统信息显示量大,所以我们选用LCD1602中文模块的液晶显示器。该模块具有2.75.5V的宽工作电压范围,且具有睡眠、正常及低功耗工作模式,可满足系统各种工作电压及便携式仪器低
25、功耗的要求。液晶模块显示负电压,也由模块提供,从而简化了系统电源设计。因此在本设计中是很好的选择。2.4.3 1602接线图图2-13 1602 接线图2.5蜂鸣器模块和电源模块系统蜂鸣器的工作原理如下:当单片机端口输出高电平时,三极管B极处于高电平,三极管不导通,蜂鸣器不响。当单片机端口输出低电平时,三极管B极处于低电平,三极管导通,蜂鸣器鸣响。在本系统中如果要运用到实际中的话本来是要把单片机端口P1.4口接上继电器再控制220V电源的电铃的,但由于各种原因,在这次设计中我是用蜂鸣器来显示出打铃的效果的,蜂鸣器与单片机的连接图如图2-14所示。 图2-14 蜂鸣器与单片机连接图3 系统软件设
26、计3.1 系统软件设计的主要内容系统软件设计由四个模块编程组成,如图3-1所示。中央处理单元STC89C52无线接收模块打铃电路时钟模块DS1302复位电路无线发送模块时间显示模块LCD1602图3-1 软件模块3.2主程序流程设计初始化打铃时间比较打铃判断执行显示按键检测获取键值按键处理是否正常走时?有键按下吗?开始图3-2 主程序流程图如图所示主程序开始初始化后,通过无线遥控可以设定当前的时间和日期,在液晶上显示,然后通过无线遥控可以设定打铃的时间,如果设定打铃时间和液晶显示的时间一致,开始打铃。主程序清单见附录。4 毕业设计结论分析经过了两年多的学习,我终于完成了基于单片机时钟自动打铃系
27、统课程设计。从开始接到毕业设计到时钟的实现,再到打铃系统设计的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到了很多知识也有很多感受,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常的作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。 当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。这次毕业设计的经历也会使我终身受益,我感受到做毕业设计是要用心去做的一件事情,是真正的自己学习的过程和研究的过程
28、,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。通过本次毕业设计,我在老师的精心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域这对我今后进一步学习这方面的知识有极大的帮助。在此,忠心感老师以及许多同学的指导和支持。参考文献1 蔡振江.单片机原理与应用M.北京:电子工业出版社,2007.22 谭浩强. C语言程序设计(第二版)M. 北京:清华大学出版社,1991.3 陈小忠,黄宁. 单片机接口技术实用子程序M. 北京:北京人民邮电出版社,2005.4阎石 . 数字电子基础. 北京: 高等教育出版社,2007年 5李群芳, 肖看. 单片机原理、接口及应用嵌
29、入式系统技术基础. 北京:清华大学出版社,19916 何立民.单片机应用技术大全M.北京:北京航空航天大学出版社,1994.7 张毅刚.单片机原理及接口技术M.哈尔滨:哈尔滨工业大学出版社,1990.8 李华.MCS-51系列单片机实用接口技术M.北京:北京航空航天大学出版社.2003.9 张立科.单片机通信技术与工程实践M.北京:人民邮电出版社,2005.10 张凯.MCS-51单片机综合系统及其设计开发M.北京:科学出版社,1996.11 朱宇光.单片机应用新技术教程M.北京:电子工业出版社,2000.12 楼然苗,李光飞.51系列单片机设计实例M.北京:北京航空航天大学出版社,2003.
30、13 徐向明.Altium Designer 快速入门.北京:北京航空航天大学出版社,200814 Claus Khnel, Klaus Zahnert. BASIC stamp .Newnes, 200015 Harprit Singh Sandhu .Running Small Motors with PIC Microcontrollers.McGraw Hill Professional, 2009附录1附录2#include#include#define uchar unsigned char #define uint unsigned int#define LCDIO P2sbit
31、 rs=P35; sbit rd=P34;sbit acc0=ACC0; /移位时的第0位sbit acc7=ACC7; /移位时用的第7位uchar second,minute,hour,day,month,year,week,count=0; uchar ReadValue,num,time; uchar codetable= 2011-01-01 MON;uchar code table1= 00:00:00 ;uchar code table2= THUFRISATSUNMONTUEWES; sbit io=p22 sbit RST=P21; sbit SCLK=P20; sbit m
32、enu=P10; /菜单sbit add=P11; /加一sbit dec=P12; /减一sbit set daling=p13;sbit daling=p14; /打铃void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void delay1(uint z)for(;z0;z-);void write_com(uchar com)rs=0;rd=0;lcden=0;P2=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)rs=1;rd=0;lcde
33、n=0;P2=date;delay(5);lcden=1;delay(5);lcden=0;void init()uchar num;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);write_com(0x80);delay(5);write_com(0x80);for(num=0;num15;num+)write_date(tablenum);delay(5);write_com(0x80+0x40);for(num=0;num10;num+)write_date(table1num);delay
34、(5); void Write1302(uchar dat) uchar i; SCLK=0; /拉低SCLK,为脉冲上升沿写入数据做好准备 delay1(2); /稍微等待,使硬件做好准备 for(i=0;i=1; /将dat的各数据位右移1位,准备写入下一个数据位 void WriteSet1302(uchar Cmd,uchar dat) RST=0; /禁止数据传递 SCLK=0; /确保写数居前SCLK被拉低 RST=1; /启动数据传输 delay1(2); /稍微等待,使硬件做好准备 Write1302(Cmd); /写入命令字 Write1302(dat); /写数据 SCLK
35、=1; /将时钟电平置于已知状态 RST=0; /禁止数据传递 uchar Read1302(void) uchar i,dat; delay(2); /稍微等待,使硬件做好准备 for(i=0;i=1; /将dat的各数据位右移1位,因为先读出的是字节的最低位 if(DATA=1) /如果读出的数据是1 dat|=0x80; /将1取出,写在dat的最高位 SCLK=1; /将SCLK置于高电平,为下降沿读出 delay1(2); /稍微等待 SCLK=0; /拉低SCLK,形成脉冲下降沿 delay1(2); /稍微等待 return dat; /将读出的数据返回 uchar ReadSe
36、t1302(uchar Cmd) uchar dat; RST=0; /拉低RST SCLK=0; /确保写数居前SCLK被拉低 RST=1; /启动数据传输 Write1302(Cmd); /写入命令字 dat=Read1302(); /读出数据 SCLK=1; /将时钟电平置于已知状态 RST=0; /禁止数据传递 return dat; /将读出的数据返回void Init_DS1302(void) WriteSet1302(0x8E,0x00); /根据写状态寄存器命令字,写入不保护指令 WriteSet1302(0x80,(0/10)4|(0%10); /根据写秒寄存器命令字,写入秒
37、的初始值 WriteSet1302(0x82,(45/10)4|(45%10); /根据写分寄存器命令字,写入分的初始值 WriteSet1302(0x84,(15/10)4|(15%10); /根据写小时寄存器命令字,写入小时的初始值 WriteSet1302(0x86,(29/10)4|(29%10); /根据写日寄存器命令字,写入日的初始值 WriteSet1302(0x88,(11/10)4|(11%10); /根据写月寄存器命令字,写入月的初始值 WriteSet1302(0x8c,(10/10)4|(10%10); /nian WriteSet1302(0x8a,(4/10)4|(
38、4%10);void DisplaySecond(uchar x) uchar i,j; i=x/10; j=x%10; write_com(0xc8); write_date(0x30+i); write_date(0x30+j); void DisplayMinute(uchar x) uchar i,j; i=x/10; j=x%10; write_com(0xc5); write_date(0x30+i); write_date(0x30+j); void DisplayHour(uchar x) uchar i,j; i=x/10; j=x%10; write_com(0xc2);
39、write_date(0x30+i); write_date(0x30+j); void DisplayDay(uchar x) uchar i,j; i=x/10; j=x%10; write_com(0x89); write_date(0x30+i); write_date(0x30+j); void DisplayMonth(uchar x) uchar i,j; i=x/10; j=x%10; write_com(0x86); write_date(0x30+i); write_date(0x30+j); void DisplayYear(uchar x) uchar i,j; i=x
40、/10; j=x%10; write_com(0x83); write_date(0x30+i); write_date(0x30+j); void DisplayWeek(uchar x) uchar i; x=x*3; write_com(0x8c); for(i=0;i4)*10 + (ReadValue&0x0F); ReadValue = ReadSet1302(0x83); minute=(ReadValue&0x70)4)*10 + (ReadValue&0x0F); ReadValue = ReadSet1302(0x85); hour=(ReadValue&0x70)4)*1
41、0 + (ReadValue&0x0F); ReadValue = ReadSet1302(0x87); day=(ReadValue&0x70)4)*10 + (ReadValue&0x0F); ReadValue = ReadSet1302(0x89); month=(ReadValue&0x70)4)*10 + (ReadValue&0x0F); ReadValue = ReadSet1302(0x8d); year=(ReadValue&0x70)4)*10 + (ReadValue&0x0F); ReadValue=ReadSet1302(0x8b); /读星期 week=ReadV
42、alue&0x07; DisplaySecond(second); DisplayMinute(minute); DisplayHour(hour); DisplayDay(day); DisplayMonth(month); DisplayYear(year); DisplayWeek(week); void turn_val(char newval,uchar flag,uchar newaddr,uchar s1num) newval=ReadSet1302(newaddr); /读取当前时间 newval=(newval&0x70)4)*10+(newval&0x0f); /将bcd码
43、转换成十进制 if(flag) /判断是加一还是减一 newval+; switch(s1num) case 1: if(newval99) newval=0; DisplayYear(newval); break; case 2: if(newval12) newval=1; DisplayMonth(newval); break; case 3: if(newval31) newval=1; DisplayDay(newval); break; case 4: if(newval6) newval=0; DisplayWeek(newval); break; case 5: if(newv
44、al23) newval=0; DisplayHour(newval); break; case 6: if(newval59) newval=0; DisplayMinute(newval); break; case 7: if(newval59) newval=0; DisplaySecond(newval); break; default:break; else newval-;switch(s1num) case 1: if(newval=0) newval=99; DisplayYear(newval); break; case 2: if(newval=0) newval=12; DisplayMonth(newval); break; case 3: if(newval=0) newval=31; DisplayDay(newval); break; case 4: if(newval0) newval=6; DisplayWeek(newval); break; case 5: if(newval0) newval=23; DisplayHour(newval); break; case 6: i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 共享服务合同的签订流程详解
- 工业耗材购买合同
- 镜头采购与技术版权合同
- 标准化的采购合同模板
- 石油产品购销合同
- 托管转让合同优势
- 保洁服务合同签订指南
- 设计专利权试用版合同
- 承诺的坚定个人保证书
- 招标文件的严格审查流程
- 2023年7月国开(中央电大)专科《成本会计》期末考试试题及答案
- 教师教学能力比赛-教学实施报告(计算机-网络系统集成)
- 网络工程职业生涯展示
- 难治性高血压诊治护理课件
- 2024年南京科技职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 车载红外热像仪行业市场前景分析2024-2030年
- 人工智能的应用
- 公务员生涯职业规划书
- 2024年度年七年级劳动技能课全册教案
- 《消费者八大心理》课件
- 《卓越绩效评价准则》课件
评论
0/150
提交评论