call8563.c

来自「单片机C语言教程」· C语言 代码 · 共 57 行

C
57
字号
/********************************************************************/
/* 这是调用PCF8563汇编程序(F8563A.ASM)的C51程序,                  */
/* 文件名CALL8563.c                                                 */
/* 功能: 运行此程序,可将PCF8563的时钟日历(7 bytes)读出并将新的      */
/*       时钟日历值置入。                                           */
/********************************************************************/

#include <reg52.h>                //单片机头文件
#include <absacc.h>

#define uchar unsigned char       //简化定义
#define uint unsigned int

void delay1(uint x);
void fill60(void);

extern uchar  chai3;               //把全局变量chai3声明为外部变量
extern uchar  a_func3(uchar);      //把a_func3 声明为外部函数
uchar idata w[7];

void delay1(uint x)                //延时程序
{
 uchar tw;
 while (x-->0){
 for (tw=0;tw<125;tw++){;}
 }
}
void fill60(void)                // 准备初始日历时钟值
{
      DBYTE[0x30]=0x00;
      DBYTE[0x31]=0x59;
      DBYTE[0x32]=0x23;
      DBYTE[0x33]=0x31;
      DBYTE[0x34]=0x01;
      DBYTE[0x35]=0x12;
      DBYTE[0x36]=0x07;
}

void main()                      //主程序
{
  SP=0xdf;
  delay1(1);
  EA=0;
  chai3=a_func3(0x00);   // 读PCF8563日历时钟值 
  w[0]=DBYTE[0x30];
  w[1]=DBYTE[0x31];
  w[2]=DBYTE[0x32];
  w[3]=DBYTE[0x33];
  w[4]=DBYTE[0x34];
  w[5]=DBYTE[0x35];
  w[6]=DBYTE[0x36];
  fill60();              // 输入初始日历时钟值 
  chai3=a_func3(0xff);   // 写PCF8563日历时钟值
  while(1);
 }

⌨️ 快捷键说明

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