DS1302电子钟制作解读_第1页
DS1302电子钟制作解读_第2页
DS1302电子钟制作解读_第3页
DS1302电子钟制作解读_第4页
DS1302电子钟制作解读_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DS1302电子钟设计与制作引言芯片简介2.1 DS1302简介DS13021是美国DALLAS公司推出的一种高性能、低功耗、带 RAM的实时时钟芯片, 它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达 2.55.5V。时钟可工作在24小时格式或12小时(AM/PM )格式。DS1302与单片机的接口 使用同步串行通信,仅用3条线与之相连接。可采用一次传送一个字节或突发方式一次传 送多个字节的时钟信号或RAM数据。DS1302内部有一个31$的用于临时性存放数据的 RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源 双

2、电源引脚,同时提供了对后背电源进行涓细电流充电的能力。2.1.1 DS1302引脚功能与内部结构DS1302的引脚功能如表1所示,外形及内部结构如图1所示2:引脚号引脚名称功能1VCC2主电源2、3X1、X2振荡源,外接32768Hz晶振4GND地线5RST复位/片选线6I/O串行数据输入/输出端(双向)7SCLK串行时钟输入端8VCC1后备电源表1 DS1302引脚功能表图1 DS1302管脚图及内部结构图2.1.2 DS1302的控制字DS1302的控制字节如图2所示:图2 DS1302 控制字节的含义控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302 中

3、。位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操 作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制 字节总是从最低位开始输出。2.1.3 DS1302的复位引脚通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302 进行操作。如果在传送过程中置 RST为低电平,则会终止此次数据传送,并且I/O引脚变 为高阻态。上电运行时,在 Vcc2.5V之

4、前,RST必须保持低电平。只有在 SCLK为低电 平时,才能将RST置为高电平。2.1.4 DS1302的数据输入输出在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从 低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302 的数据,读出数据时从低位0位至高位7,数据读写时序如图3所示:SCLKRSTI/Onnnnnnnnnnnnnntzz1 » 10123456701*4567R/WA0A1A2A3A4R/C1DATA I/O BYTE1DATA I/O BYTE2图3数据读写时序2.1.5 DS1302的寄存器D

5、S1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD 码形式。其日历、时间寄存器及其控制字见表 2。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器的内 容。DS1302与RAM相关的寄存器分为两类,一类是单个 RAM单元,共31个,每个单元组 态为一个8位的字节,其命令控制字为C0H-FDH其中奇数为读操作,偶数为写操作;再 一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的 RAM的 31个字节,命令 控制字为FEH(写)、FFH(读)。寄存器名命

6、令字取值范围各位内容写操作读操作76543210秒寄存器80H81H00-59CH10SECSEC分寄存器82H83H00-59010MINMIN时寄存器84H85H01-12 或 00-2312/24010HRHR日寄存器86H87H01-28,29,30,310010DATEDATE月寄存器88H89H01-1200010MMONTH周寄存器8AH8BH01-0700000DAY年寄存器8CH8DH00-9910YEARYEAR表2 DS1302的日历、时钟寄存器及其控制字2.2 AT89S51 简介3AT89S51美国ATME公司生产的低 功耗,高性能CMOS位单片机,片内含 4K By

7、tes ISP(I n-system programmable) 的可反复擦写1000次的Flash只读程序 存储器,器件采用ATME公司的高密度、 非易失性存储技术制造,兼容标准 MCS-51旨令系统及AT89C51引脚结构, 芯片内集成了通用8位中央处理器和ISP Flash存储单元。单片机AT89S51 强大的功能可为许多嵌入式控制应用系 统提供高性价比的解决方案。2.2.1 AT89S51芯片的引脚及特点AT89S51芯片的引脚结构如图4所示:(1) 功能特性概括:2456789101114°1517 G18 j1920止ET DATAWRCSP1.0VCCPl.lPOQ/A

8、DOPl.2F0.1/AD1P1.3P0 2/AD2Pl.4P03/AD3Pl.5P0 4/AD4Pl .6 pi 7P0 5/AD5 P0.6/AD6RSTPD7/AD7P30/RXDEAP3.1/TXDALEP3.2ANT0PSENP3.3/NTPZ7/A15P3.4JT0P2.6/A14P2 5/A13FF/WRP2.4/A12P3.7/RDP2 3/A11XTAL2P2J/A10XTALlP2.1/A9VSSP20/A8AT83S51图4 AT89S51 引脚图40据X站3332EAJVP30 ALEJF 1 29 PSEN277T"sda 31bLoii 23bLOI3 3

9、TspeakDSAT89S51提供以下标准功能:40个引脚、4K Bytes Flash片内程序存储器、128 Bytes 的随机存取数据存储器(RAM、32个外部双向输入/输出(I/O ) 口、5个中断优先级2 层中断嵌套中断、2个数据指针、2个16位可编程定时/计数器、2个全双工串行通信口、 看门狗(WDT电路、片内振荡器及时钟电路。此外,AT89S51可降至0Hz的静态逻辑操作, 并支持两种软件可选的节电工作模式。 空闲模式下,CPU暂停工作,而RAM定时/计数器、 串行通信口、外中断系统可继续工作。掉电模式冻结振荡器而保存RAM勺数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯

10、片还具有PDIP、TQFF和PLCC等三种封装形式,以适应不同产品的需求。(2)管脚说明:VCC供电电压。GND接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,也即地址/数据总线复用口。作为输出 口用时,能驱动8个TTL逻辑门电路。对端口写“ 1”时,被定义为高阻输入。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要 求外接上拉电阻。P1 口 :P1 口是一个带内部上拉电阻的8位双向I/O 口 ,P1 口的输出缓冲级可驱动(吸收 或输出电流

11、)4个TTL逻辑门电路。对端口写“T ,通过内部的上拉电阻把端口拉到高电平, 此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会 输出一个电流(I IL)。在Flash编程和程序校验期间,P1接收低8位地址。部分端口还有第二功能,如表3所 示:端口引脚第二功能P1.5MOSI用于ISP编程)P1.6MISO用于ISP编程)P1.7SCK (用于ISP编程)表3 P1 口部分引脚第二功能P2口 :P2 口是一个带有内部上拉电阻的8位双向I/O 口 , P2口的输出缓冲级可驱动(吸 收或输出电流)4个TTL逻辑门电路。对端口写“ 1” ,通过内部的上拉电阻把端口拉到高

12、电 平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低 时会输出一个电流(I il )。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDF指令) 时,P2 口送出高8位地址数据。在访问8位地址的外部数据寄存器(例如执行“。乂指令) 时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不 改变。在Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口 : P3口是一个带有内部上拉电阻的双向 8位I/O 口 , P3口的输出缓冲级可驱动(吸 收或输出电流)4个TTL逻辑门电路。对P3 口写“ T时,它

13、们被内部的上拉电阻拉高并可 作为输入端口。作输入口使用时,被外部信号拉低的P3 口将用上拉电阻输出电流(I il) oP3口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,如表4所示:P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。端口引脚第二功能P3.0RXD (串行输入口)P3.1TXD (串行输出口)P3.2INT0 (外中断0)P3.3INT 1 (外中断1)P3.4T0 ( 定时/计数器0)P3.5T1 (定时/计数器1)P3.6WR(外部数据存储器写选通)1P3.7RD (外部数据存储器读选通):表4 P3 口引脚第二功能RST复位输入。当振荡器工作时

14、,RST引脚出现两个机器周期以上的高电平时间将使 单片机复位。WD溢出将使该引脚输出高电平,设置SFR AUXR勺DISRTO位(地址8EH)可打 开或关闭该功能。DISRTO位缺省为RESET俞出高电平打开状态。ALE/PROG:当访问外部存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁 存地址的低8位字节。即使不访问外部寄存器,ALE仍以时钟振荡频率的1/6输出固定的正 脉冲信号,因此它可对外输出时钟或用于定时目的。值得注意的是 :每当访问外部数据存储 器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲 (PROG)。如有必要,可通过对特殊功能寄存器(

15、SFR)区中的8EH单元的D0位置位,可禁止ALE操 作。该位置位后,只要一条MOVX口 MOV指令才会激活ALE此外,该引脚会被微弱拉高, 单片机执行外部程序时,应设置ALE无效。PSEN :程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外 部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问 外部数据存储器时,没有两次有效的PSEN信号。EA/VPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为 0000H-FFFFH , EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存 EA端状态。如

16、EA端保持高电平(接VCC端),CPU®执行内部程序存储器中的指令。Flash存储器编程期间,该引脚用于施加+12V编程电压(VPP。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入端。XTAL2反向振荡放大器器的输出端。(3) 晶体振荡器特性:AT89S5忡有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该反向放大器的输入端和输出端。这个反向放大器与作为反馈元件的片外石英晶体或 陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电 路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的

17、大小会轻微影响振荡频率 的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。如果使用石英晶体,电容应该使用 30pF_10pF。还可以使用外部时钟。这种情况下,外部时钟脉冲接XTAL1端,即内部时钟发生器的输 入端,XTAL2应悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以外部时钟信号 的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条 件的要求。2.2.2 AT89S51的主要性能参数:(1) 与MCS-51产品指令系统完全兼容。(2) 4K字节在系统可编程(ISP) Flash闪速存储器。(3) 1000次擦写周期。(4) 4.0 5

18、.5V的工作电压范围。(5) 全静态工作模式:0Hz-33Hz。(6) 三级程序加密。(7) 128x8字节的内部 RAM(8) 32个双向可编程I/O 口线。(9) 2个16位可编程定时/计数器。6个中断源7核心芯片简介(11)全双工UART串行通道。(12)低功耗空闲和掉电模式。(13)中断可从空闲模式唤醒系统。(14)看门狗(WDT及双数据指针。(15)掉电标识和快速编程特性。(16)灵活的在系统编程(ISP-字节或页写模式)2.2.3 AT89S51 的新功能:AT89S51兼容标准MCS-51指令系统及AT89C51引脚结构,它相对于AT89C51增加的新 功能包括:(1)ISP在线

19、编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片 从工作环境中剥离。是一个强大易用的功能。(2)最高工作频率为33MHz AT89C51的极限工作频率是24M所以AT89S51具有更高 工作频率,从而具有了更快的计算速度。(3)具有双工UART串行通道。(4)内部集成看门狗计时器,不再需要像 AT89C51那样外接看门狗计时器单元电路。(5)双数据指示器。(6)电源关闭标识。(7)全新的加密算法,这使得对于 AT89S51的解密变为不可能,程序的保密性大大加 强,这样就可以有效的保护知识产权不被侵犯。(8)兼容性方面:向下完全兼容51全部字系列产品。比如8051、AT89C51

20、等早期MCS-51 产品。3 方案设计与论证方案一:使用并行接口时钟芯片DS12887设计时钟电路。该设计方案用AT89S51主控,1-1SAT詁S51DS1288TWRR/WRDDSP2.6csP0.0-P0.7AD0-AD7RESETRESET8MOT软硬件设计图 6DS1302 与 CPU接 口利用并行时钟芯片DS12887为核心计时芯片,组成数字时钟电路。该电路能够准确计时,还附加许多其它功能,路图5如下:在掉电时能保存用户设置参数和故障状态参数等重要参数。设计电图5 DS12887 与CPU接口电路该设计虽然能完成所要求的任务,综合性能也较好,但其并行接口方式占用大量接口 资源,给其

21、它设计带来诸多不便。方案二:使用串行接口时钟 芯片DS1302设计时钟电路。该设 计方案以单片机AT89S51为主控 芯片,以串行时钟芯片DS1302为 核心计时芯片,组成数字时钟电 路。该电路不但能准确地计时、 附加其它功能,而且,其三线接 口可以节省接口资源,在断电后 不丢失时间和数据信息。该设计 方案的接口电路如图6所示:通过以上两种设计方案的比较,我们可以看到,设计方案二接口简单,计时可靠,综合性能良好。所以选用第二种设计方案4 软硬件设计4.1硬件电路设计该设计的硬件电路由主控部分(单片机AT89S51)计时部分(实时时钟芯片DS1302、 显示部分(八段数码管)、电源部分(三端稳压

22、器7805) 4个部分组成。各部分之间相互协 作,构成一个统一的有机整体,实现数字时钟的功能。各部分的硬件电路设计如下。设计总电路图见附录4.1.1单片机AT89S5外围电路设计单片机AT89S5作为主控芯片,控制整个电路的运行。单片机外围需要一个复位电路,复位电路的功能是:系统上电时提供复位信号, 直至系统电源稳定后,撤消复位信号。为可靠起 见,电源稳定后还要经一定的延时才撤销复位信 号,以防电源开关或电源插头分-合过程中引起的 抖动而影响复位。该设计采用含有二极管的复位 电路,复位电路可以有效的解决电源毛刺和电源 缓慢下降(电池电压不足)等引起的问题,在电 源电压瞬间下降时可以使电容迅速放

23、电,一定宽 度的电源毛刺也可令系统可靠复位。复位电路的 设计图如图7示:VCC1D110KCh104ORST图7单片机复位电路图AT89S51具有在系统可编程功能,可以很方便的改写单片机存储器内的程序不需要把芯片中从工作环境中剥离,把 AT89SISP下载口接入电路,可使电路实现该功能。 AT89S51需要接入一个普通12MHz晶振,为其提供稳定的时钟脉冲。该设计中有6个八段数码显示管LED所以,在单片机AT89S51外围需要接入6个三极管来驱动数码显示管。此外,单 片机外围需要接入3个开关,用来调整时钟。单片机外围电路的设计图如图8示:13DS1302电子钟设计与制作vccSJRESET10

24、4R1VCC12Q丘12R2 4.7k20RSP4 7k3 24K3*4 7kQIU1AT89S51R5 h4.7k 24 7k 522P231 2 斗2146$1093TniinTT1415豆17Tsn20PPPPPPPPRESETP30P31XTAL2VSS图8 AT89S51外围电路图4.1.2 DS1302与单片机的接口设计时钟芯片DS1302与单片 机AT89S51的接口是由3条 线来完成的,单片机 AT89S5啲P1.0与时钟芯片 的数据传输端相连,P1.1用 来作为DS1302输入时钟 SCLK空制端,P1.2控制 DS1302的复位输入端。DS1302接标准 32.768KHZ

25、石 英晶振。DS1302与单片机的 接口电路如图9所示:J"' p(j2VCC1 VCC2XSCLKX2I/OGNDRSTDS130277图9 DS1302P13P04PD5P06P07EAvcc40 丁313028123456789ALE PSENVCCP27P2<5P25P24P23P22P2LP20打26252423221与AT89S51连接图VCCAT39S5QN0 円円円15DS1302电子钟设计与制作4.1.3 显示设计八段数码显示管有两种,一种是共阳数码管,其内部是由八个阳极相连接的发光二极 管组成;另一种是共阴数码管,其内部是由八个阴极相连接的发光二极管

26、组成。二者原理 不同但功能相同。本设计的时间显示选用6个共阴八段数码管LED,其外形和内部结构如图10所示:1ABCDEFGdpII#DS1302电子钟设计与制作#DS1302电子钟设计与制作J1POWERVCCVoulCOM图10 八段共阴数码管LED4.1.4 电源设计时钟芯片DS1302有很宽的工作电压范围,其工作电压为 2.55.5 V。单片机AT89S51 的工作电压范围相对较窄,为4.05.5V,所以本设计中,给电路接入三端稳压器 7805, 利用它的稳压功能给电路提供稳定的+5V电压,使电路的工作保持很高的可靠性。在电路 中接入一个发光二极管作为指示灯,可以很方便地指示电源与电路

27、是否接通。该设计的电 源部分如图11所示:Qi78Q51 jijOi1041000104104图11电源电路图+Vin#DS1302电子钟设计与制作4.2软件实现单片机AT89S5对寸时钟芯片DS1302勺控制需要通过程序驱动来实现,程序主要完成两 个方面的任务:利用单片机实现对 DS1302寄存器的地址定义和控制字的写入,实现对 DS1302勺数据读取。初始化DS1302要求RST为低电平,SCL为低电平。RST被设置为高电平就启动了一 个数据传送的过程。SCLK勺16个方波完成一次数据传送,前8个方波用于输入命令字节, 后8个方波用于数据的输出(读DS1302或数据的输入(写DS1302。

28、在SCLK勺上升沿,I/O 线上的数据被送入DS1302在SCLK勺下降沿,DS1302俞出数据在I/O线上。写和读各需要4一个程序,写DS130程序流程图如图12所示,读DS130程序流程图 如图12所示。两 个子程序及总程序见附录二、三、四。写DS1302流程图读DS1302流程图17DS1302电子钟设计与制作#DS1302电子钟设计与制作图12DS1302 时间流程图#结论本设计利用单片机AT89S5控制串行实时时钟芯片DS1302勾成数字时钟电路,实现计时功能。该电路使用简单的三线接口,为单片机节省大量的接口资源,时钟芯片DS130带有后备电池,具备对后背电源进行涓细电流充电的能力,

29、保证电路断电后仍保存时间和数 据信息,这些优点解决了目前常用实时时钟占用单片机资源多以及计时不可靠等缺点。该 时钟功能强大,性能优越,能为很多领域,特别是对时钟工作的精确性和可靠性有较高要 求的场合,提供较好的实时时钟。但是,由于 DS1302易受环境影响,会使该电路出现时钟 精度不咼、时钟混乱I "等冋题,还有待继续研究和改进。附录一:设计总电路图:#结论#结论pJwJoJgJB1EThBp3b3b®3h0匸IJt rLE flhJr rlLJid T?T4md III?d 1*1i h r*C J L.5Jsr I i i.r Idr r d r;牛丨r I i 1j

30、一 HT "3JV 一阳J?JJI恥 IWCh:習“住器:卷:牌YSS4-l»l IO<TIM19DS1302电子钟设计与制作附录二:写DS1302子程序:void writeDS1302(uchar dsRamAdr,uchar ds1302data) uchar i;TIMERCLK=0;delay(2);TIMERRST=1;delay(2);DS1302adr=dsRamAdr;DS1302dat=ds1302data;for(i=0;i<8;i+)CY=0;TIMERCLK=0;CY=ds1302adrBit;TIMERIO=CY;delay(2);T

31、IMERCLK=1;DS1302adr=DS1302adr>>1;for(i=0;i<8;i+)CY=0;TIMERCLK=0;CY=ds1302datBit;TIMERIO=CY;delay(2);TIMERCLK=1;DS1302dat=DS1302dat>>1;TIMERRST=0;delay(2);TIMERRST=0;附录三:读DS1302子程序:uchar readDS1302(uchar DS1302Adr)uchar i;TIMERCLK=0;#DS1302电子钟设计与制作delay(2);TIMERRST=1;delay(2);DS1302adr

32、=DS1302Adr;for(i=0;i<8;i+)TIMERCLK=0;TIMERIO=ds1302adrBit;delay(2);TIMERCLK=1;DS1302adr=DS1302adr>>1; TIMERIO=1;for(i=0;i<7;i+)TIMERCLK=0; ds1302datHbit=TIMERIO;delay(2);TIMERCLK=1;DS1302dat=DS1302dat>>1;TIMERCLK=0; ds1302datHbit=TIMERIO;TIMERRST=0;delay(2);TIMERCLK=0;return DS1302

33、dat;附录四:软件设计总程序:#in clude<reg51.h>#in clude<stdio.h>#defi ne uchar un sig ned char/DS1302同步串行时钟引脚/DS1302数据输入输出引脚/DS1302RST引 脚/引脚定义sbit TIMERCLK=P1A0;sbit TIMERIO=P1A1;sbit TIMERRST=P1A2;sbit P2_0=P2A0;sbit P2_1= P2A1;sbit P2_2=P2A2;sbit P2_3=P2A3;sbit P2_4=P2A4;sbit P2_5=P2A5;sbit P2_6=P

34、2A6;sbit P2 7=卩2八7;sbit P3_5=P3A5;sbit P3_6=P3A6;sbit P3_7=P3A7;/sbit SEC_7=SECA7;/sbit WDT=P1A3;/看门狗"喂狗"引脚uchar code TABLE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;#defi ne DIGPORT/全局变量声明uchar bdata DS1302dat;sbit ds1302datHbit=DS1302datA7;sbit ds1302datBit=DS1302datA0;uchar bdat

35、a DS1302adr;sbit ds1302adrBit=DS1302adrA0;uchar idata SEC;uchar MIN;uchar HR;uchar DATE;uchar MONTH;uchar DAY;uchar YEAR;uchar disp1;uchar disp2;uchar disp3;uchar disp4;uchar disp5;uchar disp6;uchar disp7;uchar disp8;uchar tiao;uchar tt;uchar flag;/DS1302读写过程中的命令或数据/位定义,用于数据写入/位定义,用于数据读出/DS1302读写过程中

36、所访问的单元地址/ sbit SEC_7=SECA7;void delay(uchar time)uchar i,j;for(i=0;i<time;i+)for(j=0;j<time;j+) / WDT=WDT;void writeDS1302(uchar dsRamAdr,uchar ds1302data) uchar i;TIMERCLK=0;delay(2);TIMERRST=1;delay(2);DS1302adr=dsRamAdr;DS1302dat=ds1302data;for(i=0;i<8;i+)CY=0;TIMERCLK=0;CY=ds1302adrBit;

37、TIMERIO=CY;delay(2);TIMERCLK=1;DS1302adr=DS1302adr>>1;for(i=0;i<8;i+)CY=0;TIMERCLK=0;CY=ds1302datBit;TIMERIO=CY;delay(2);TIMERCLK=1;DS1302dat=DS1302dat>>1;TIMERRST=0;delay(2);TIMERRST=0;uchar readDS1302(uchar DS1302Adr)uchar i;TIMERCLK=0;delay(2);TIMERRST=1;delay(2);DS1302adr=DS1302Ad

38、r;for(i=0;i<8;i+)TIMERCLK=0;TIMERIO=ds1302adrBit;delay(2);TIMERCLK=1;DS1302adr=DS1302adr>>1; TIMERIO=1;for(i=0;i<7;i+)TIMERCLK=0; ds1302datHbit=TIMERIO;delay(2);TIMERCLK=1;DS1302dat=DS1302dat>>1;TIMERCLK=0; ds1302datHbit=TIMERIO;TIMERRST=0;delay(2);TIMERCLK=0;return DS1302dat;void

39、DS1302I ni tal(void)uchar ds1302st;TIMERCLK=0;TIMERRST=0;ds1302st=readDS1302(0x0c1); if(ds1302st!=0x55)/ WDT=WDT;JwriteDS1302(0x8e,0x00);writeDS1302(0x80,0x00);writeDS1302(0x82,0x00);writeDS1302(0x84,0x16);writeDS1302(0x86,0x19);/ WDT=WDT;JwriteDS1302(0x88,0x09);writeDS1302(0x8a,0x02);writeDS1302(0x

40、8c,0x00);/ WDT=WDT;JwriteDS1302(0x90,0xa6); writeDS1302(0x0c0,0x55);writeDS1302(0x80,0x00);void readRTC(void)MONTH=readDS1302(0x89);DATE=readDS1302(0x87);HR=readDS1302(0x85);MIN=readDS1302(0x83);SEC=readDS1302(0x81);void disp(void)if(MIN=10)writeDS1302(0x82,0x10);if(MIN=26)writeDS1302(0x82,0x20);if(

41、MIN=42)writeDS1302(0x82,0x30);if(MIN=58)writeDS1302(0x82,0x40);if(MIN=74)writeDS1302(0x82,0x50);if(MIN=90)writeDS1302(0x82,0x00);if(HR=10)writeDS1302(0x84,0x10);if(HR=26)writeDS1302(0x84,0x20);if(HR=36)writeDS1302(0x84,0x00);if(HR=58)writeDS1302(0x82,0x40);if(HR=74)writeDS1302(0x82,0x50);if(HR=90)wr

42、iteDS1302(0x82,0x00);if(DATE=10)writeDS1302(0x86,0x10);if(DATE=26)writeDS1302(0x86,0x20);if(DATE=42)writeDS1302(0x86,0x30);if(DATE=50)writeDS1302(0x86,0x01);if(DATE=74)writeDS1302(0x82,0x50);if(DATE=90)writeDS1302(0x82,0x00);disp2=SEC/16;disp1=SEC%16;if(flag 1=0)if(MIN=10|MIN=26|MIN=42|MIN=58|MIN=74

43、)MIN=MIN+6;disp4=MIN/16; disp3=MIN%16;/flag 仁0; disp6=HR/16;disp5=HR%16; disp8=DATE/16; disp7=DATE%16;P2_0=0;P0=TABLEdisp1; delay(12);P2_0=1;P2_l=0;P0=TABLEdisp2; delay(12);P2_l=1;P2_2=0;P0=TABLEdisp3;delay(12);P2_2=1;P2_3=0;P0=TABLEdisp4;delay(12);P2_3=1;P2_4=0;P0=TABLEdisp5;delay(12);P2_4=1;P2_5=0

44、;P0=TABLEdisp6;delay(12);P2_5=1;P2_6=0;P0=TABLEdisp7;delay(12);P2_6=1;P2_7=0;P0=TABLEdisp8;delay(12);P2_7=1;void dispA(void)if(SEC=10|SEC=26|SEC=42|SEC=58|SEC=74)SEC=SEC+6;if(SEC=74|SEC=58|SEC=42|SEC=26|SEC=10)SEC=SEC+6; disp2=SEC/16;disp1=SEC%16;disp4=MIN/16;disp3=MIN%16;disp6=HR/16;disp5=HR%16;/di

45、sp8=DATE/16;/disp7=DATE%16;if(SEC=90)SEC=0;P2_0=0;P0=TABLEdisp1;delay(12);P2_0=1;P2_l=0;P0=TABLEdisp2;delay(12);P2_l=1;25乙乙o=zTzd 冷二厂乙d !(9)Aepp:fcdsip3-|avi=0d 4=厂乙d 冷=0一乙d !(9)Aepp:Ldsip3-|avi=0d :0=0_2d :O=NII/l(O6=NII/l)! :9L%31Va=Zdsip/ :9L/31Va=8ds!P/ :9L%dH=9dsip/ :9L/dH=9dsjp/ :9L%NII/l=Sds!

46、P I7NIIAI 才 dsp :9L%93S=Ldsip/二乙 ds!pr9+NII/l=NII/l(OL=NII/lll92=NII/lll2=NII/lll89=NII/lllZ=NII/l)!/ :9+NII/l=NII/l(Z=NII/lll89=NII/lll2=NII/lll92=NII/lll0L=NII/l)!(P!OA)gdSip piOA 冷二厂乙d !(9)Aepp !8dsip3-|avi=0d :0=Z_2d 冷=9一乙d !(9)Aepp :zdsip3-|avi=0d :0=9_2d :L=9_2d !(9)Aepp !9dsip3-|avi=0d :0=9_2

47、d i=PZd !(9)Aepp !gdsip3-|avi=0d4力一乙d 丘一乙d !(9)Aepp !t7dsip3-|avi=0d :0=S_2d 说一乙d !(9)Aepp !Cdsip3-|avi=0d q二乙一乙dFrds 巨山 18<_LH0do00dHHLICXId_(g)Ae_ PFTds 巨山 18<_LH0doHLI0dAHoled_(g)Ae_ P -Lds 巨山 18<_LHOdoHOI0d &L&5_L<c»ds_p &Lm_L/QH8dsm ohmh(9ceh)七 &L&MHHgds 一 p

48、 &L&HH9ds 一 p OL&N-IAIHeds 一 PI &VN_IAIH 寸 ds 一 PI &L&O山 SHLds 一 PI &I7O山 SHCXIds 一 PI9+mhhmh)(0uhmh-_9cxihhmh-_cxi寸 寸卜 9+mhhmhm寸卜 HHMH=8gHHMH=cxl寸 hhmh=9cxihhmh=0lhhmh)七(poAods 一 p po>_(g)Ae_ P -oods 巨山 18<_LH0doHod=H9lcxld_(g)Ae_ PRds 巨山 18<_LH0doH9l0d =Hglcxld _(g)Ae_ P】9ds 巨山 18<_LH0d oHgl0d 匚寸CXId _(g)Ae_ P-gds 巨山 18<_LH0dOH 寸CXId-Hols命匸冷_PX寸 ds 巨山 18<_LH0doH°l0dHHCXIlCXId 命匸冷_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论