1 / 13
文档名称:

时钟芯片DS12C887使用说明.doc

格式:doc   大小:136KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

时钟芯片DS12C887使用说明.doc

上传人:kt544455 2019/9/13 文件大小:136 KB

下载得到文件列表

时钟芯片DS12C887使用说明.doc

相关文档

文档介绍

文档介绍:0000HAJMPSTARTSTART:ACALLSETTIME ;设置初始时间LOOP:ACALLGETTIME ;循环读取当前时间AJMPLOOP;SETTIME: MOVDPTR,#7D0AH ;DS12C887的A寄存器 MOVA,#20H ******@DPTR,A ;打开DS12C887的内部晶振并使RTC(实时时钟)记录时间 INCDPTR ;DS12C887的B寄存器 MOVA,#08H ******@DPTR,A ;设十进制BCD码,24小时制,不定时 MOVDPTR,#7D0DH ;DS12C887的D寄存器 MOVXA,***@DPTR ;如果D寄存器的第7位为0,表示电池耗尽 .7,ERROR MOVDPTR,#7D00H ;DS12C887的秒单元 MOVA,#00H ******@DPTR,A ;写入秒 MOVDPTR,#7D02H ;DS12C887分单元 MOVA,#21H ******@DPTR,A ;写入分 MOVDPTR,#7D04H ;DS12C887时单元 MOVA,#03H ******@DPTR,A ;写入时 MOVDPTR,#7D06H ;DS12C887星期单元 MOVA,#03H ******@DPTR,A ;写入星期 MOVDPTR,#7D07H ;DS12C887日单元 MOVA,#20H ******@DPTR,A ;写入日 MOVDPTR,#7D08H ;DS12C887月单元 MOVA,#07H ******@DPTR,A ;写入月 MOVDPTR,#7D09H ;DS12C887年单元 MOVA,#05H ******@DPTR,A ;写入年时间ERROR: RETGETTIME:MOVDPTR,#7D0AHMOVXA,***@.7,GETTIME;REGISTERA的UIP位=0时才可以读数据MOVDPTR,#7D00HMOVXA,***@DPTRMOVR2,A;SECONDSACALLDISPLAYMOVDPTR,#7D02HMOVXA,***@DPTRMOVR1,AACALLDISPLAY;MINUTESMOVDPTR,#7D04HMOVXA,***@DPTRMOVR0,A;HOURSACALLDISPLAYACALLDELAYRETDISPLAY:MOVDPTR,#TABMOVSCON,#00HMOVR3,AANLA,#0FHMOVCA,***@A+DPTRMOVSBUF,AJNBTI,$CLRTIMOVA,R3SWAPAANLA,#0FHMOVCA,***@A+DPTRMOVSBUF,AJNBTI,$CLRTIRETDELAY:MOVR4,#0FHDE1:MOVR5,#0FFHDJNZR5,$DJNZR4,DE1RETTAB:DB03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H,11H,0C1H,63H,85H,61H,71HENDC语言源程序:#include""#include".h"#defineDSAXBYTE[0x7F0A] //12c887寄存器A地址#defineDSBXBYTE[0x7F0B] //B地址#defineDSDXBYTE[0x7F0D] //D地址#defineDS_HXBYTE[0x7F04] //时地址#defineDS_MXBYTE[0x7F02] //分地址#defineDS_SXBYTE[0x7F00] //秒地址#defineDS_WXBYTE[0x7F06] //星期地址#defineDS_DXBYTE[0x7F07] //日地址#defineDS_MoXBYTE[0x7F08] //月地址#defineDS_YXBYTE[0x7F09] //年地址codeunsignedcharLED_code_tab[]={/*显示段笔划abcdefgh;0=亮*/0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,/*0,1,2,3,4,5,6,7*/0x01,0x09,0x11,0xc1,0x63,0x85,0x61,0x71,0xff/*8,9,A,b,C,d,E,F,全灭*/};sbitSet=P1^0; //设置时间标志位sbitSet_h=P1^1; //设置小时sbitSet_m=P1^2; //设置分钟sbitSet_s=P1^3; //设置秒钟codestructtime{ intYear; //当前时间年 intMonth; //当前时间月 intDay; //当前时间日 intWeek; //当前时间星期 intHour; //当前时间时 intMinutes; //当前时间分 intSeconds; //当前时间秒 inta_Hour; //报警时间时 inta_Minutes; //报警时间分 inta