DS1302实时时钟实验.docx
DS1302的原理图
DS1302的原理图
实验28DS1302实时时钟实验
DS1302的结构及工作原理
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
2.1引脚功能及结构
图1示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。
接线方法:
按键接到P1口下半部分。用一条4PIN数据排线,把按键部份的JP37,接到CPU部份的P1口JP44的p1.4
—p1.7.
接8位数码管的数据线。将数码管部份的数据口JP5接到CPU部份的P0口JP51.
接8位数码管的显示位线。将数码管部份的显示位口JP8接到CPU部份的P2口JP52.
用1条1PIN线把喇叭部分的JP16接单片机P3.3
用1条1PIN线把继电器部分的JP18接单片机P3.5
用一条4PIN数据排线,把DS1302部份的JP83,接到CPU部份的P1口JP44的p1.0—p1.3
;8位数码管显示
;P0为段码口、P2为位码口
;时钟芯片:DS1302
;**************DS1302端口位定义**************IO_DATABITP1.1;数据传送总线
SCLKBITP1.0;时钟控制总线
RSTBITP1.2;复位总线
K1
EQU
P1.4;独立键
K2
EQU
P1.5
K3
EQU
P1.6
K4
EQU
P1.7
BEEPEQUP3.3;蜂鸣器RELAYEQUP3.5;继电器
T_CONU
EQU
22H
;中断计数
TIME_L
EQU
23H
;定时初值
TIME_H
EQU
24H
TIME_DATAEQU50H;显示时间单元首地址DATE_DATAEQU60H;显示日期单元首地址DS_DATAEQU58H;显示定时时间单元首地址
;------------------------------------------------ORG0000H
AJMPMAIN
ORG000BHAJMPINT_T0
ORG0100H
;------------------------------------------------MAIN:
MOVTMOD,#01H;T0,方式1
MOVTIME_L,#00H;50MS定时值
MOVTIME_H,#4CH
MOVT_CONU,#00H;中断次数MOVIE,#82H;EA=1,ET0=1
MOVA,#00H
MOVR0,#40H;从40H单元开始MOVR1,#40H;清64个单元M_CLEAR:MOV@R0,A
INCR0
DJNZR1,M_CLEAR
MOV7FH,#0AH;送熄灭符SETBBEEP
LCALLTIME_DELAY;调显示延时LCALLPROSET;DS1302初始化
MAIN1:
LCALLGET_TIME;从DS1302读数据程序
LCALLCHULI;实时时