c6818.c

来自「不少单片机C代码」· C语言 代码 · 共 46 行

C
46
字号
#include <absacc.h>
#include <reg51.h>
#define  uchar unsigned char
#define  MCA XBYTE[0xff0a]
#define  MCB XBYTE[0xff0b]
#define  MCC XBYTE[0xff0c]
#define  MCD XBYTE[0xff0d]
#define  HOUR XBYTE[0xff05] 
sbit uip_bit=ACC^7;
uchar idata dt[6]={99,4,5,11,11,25};
            /* 99/4/5 11:11:25 */
uchar at[6]={9,8,7,4,2,0};
uchar xdata *addr=0xff00;

void initstat(void)
{uchar i;
  MCA=0x2f; /*f=32.768kHz*/
  ACC=MCC;  /*clear the int_flag*/
  ACC=MCD;  /*make data valid*/
  MCB=0x72; /*start to work*/
  HOUR=0xff;
  EA=1;
  EX0=1;
}

void wMC(void)
{ uchar i;
  MCB=0x80;  /*start to  program */
  for(i=0;i<=9;i++)
   *(addr+at[i])=dt[i];
}

void rMC(void)
{  uchar i;
  do {ACC=MCA;} while(uip_bit);
  for(i=0;i<6;i++)
   dt[i]=*(addr+at[i]);
}

void main(void)
{   wMC();
    initstat();
    rMC();
}
  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?