|
日历时钟DS12887或146818的C语言源程序 #define uchar unsigned char #define uint unsigned int #i nclude <reg52.h> #i nclude <stdio.h> #i nclude <absacc.h> #i nclude <math.h> #i nclude <string.h> #i nclude <ctype.h> #i nclude <stdlib.h>
#define P128870 XBYTE[0xa000] #define P128871 XBYTE[0xa001] #define P128872 XBYTE[0xa002] #define P128873 XBYTE[0xa003] #define P128874 XBYTE[0xa004] #define P128875 XBYTE[0xa005] #define P128876 XBYTE[0xa006] #define P128877 XBYTE[0xa007] #define P128878 XBYTE[0xa008] #define P128879 XBYTE[0xa009] #define P12887a XBYTE[0xa00a] #define P12887b XBYTE[0xa00b] #define P12887c XBYTE[0xa00c] #define P12887d XBYTE[0xa00d] #define P12887e XBYTE[0xa00e] #define P12887f XBYTE[0xa00f]
void setup12887(uchar *p); void read12887(uchar *p); void start12887(void);
void setup12887(uchar *p) //设置系统时间 { uchar i; i=P12887d; P12887a=0x70; P12887b=0xa2; P128870=*p++; P128871=0xff; P128872=*p++; P128873=0xff; P128874=*p++; P128875=0xff; P128876=*p++; P128877=*p++; P128878=*p++; P128879=*p++; P12887b=0x22; P12887a=0x20; i=P12887c; } void read12887(uchar *p) //读取系统时间 { uchar a; do{ a=P12887a; } while((a&0x80)==0x80); *p++=P128870; *p++=P128872; *p++=P128874; *p++=P128876; *p++=P128877; *p++=P128878; *p++=P128879; } void start12887(void) //启动时钟 { uchar i; i=P12887d; P12887a=0x70; P12887b=0xa2; P128871=0xff; P128873=0xff; P128875=0xff; P12887b=0x22; P12887a=0x20; i=P12887c; }
|