⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callds05.c

📁 单片机C语言教程
💻 C
字号:
/********************************************************************/
/* 这是调用DS1305汇编程序(DS1305B.ASM)的C51程序,                  */
/* 文件名CALLDS05.c                                                  */
/* 功能: 运行此程序,可将DS1305的时钟日历(7 bytes) 和RAM(96 bytes)    */
/* 读出并将新的时钟日历值和RAM值置入。本程序只可从RAM读出16个字节或  */
/* 写入16个字节                                                       */
/**********************************************************************/

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

#define uchar unsigned char       //简化定义
#define uint unsigned int
void delay1(uint x);
void fill60(void);
void fill67(void);
extern uchar  chai5;               //把全局变量chai5声明为外部变量 
extern uchar  a_func3(uchar,uchar);//把a_func3 声明为外部函数
uchar idata w1,w2,w3,w4,w5,w6,w7,w8,w9,wa,wb,wc,wd,we,wf,wg;

void delay1(uint x)              //延时程序
{
 uchar tw;
 while (x-->0){
 for (tw=0;tw<125;tw++){;}
 }
}
void fill60(void)           /* 准备初始日历时钟值*/
{
      DBYTE[0x60]=0x00;
      DBYTE[0x61]=0x15;
      DBYTE[0x62]=0x10;
      DBYTE[0x63]=0x31;
      DBYTE[0x64]=0x12;
      DBYTE[0x65]=0x05;
      DBYTE[0x66]=0x01;
}
void fill67(void)           /* 准备初始RAM值*/
{     DBYTE[0x60]=0x10;
      DBYTE[0x61]=0x12;
      DBYTE[0x62]=0x13;
      DBYTE[0x63]=0x14;
      DBYTE[0x64]=0x15;
      DBYTE[0x65]=0x16;
      DBYTE[0x66]=0x17;
      DBYTE[0x67]=0x18;
      DBYTE[0x68]=0x19;
      DBYTE[0x69]=0x22;
      DBYTE[0x6a]=0x33;
      DBYTE[0x6b]=0x44;
      DBYTE[0x6c]=0x55;
      DBYTE[0x6d]=0x66;
      DBYTE[0x6e]=0x88;
      DBYTE[0x6f]=0x77;
}
void main()                   //主程序
{
  SP=0xdf;
  delay1(1);
  EA=0;
  chai5=a_func3(0x00,0x00);   /* 读DS1305日历时钟值 */
       w1=DBYTE[0x60];
       w2=DBYTE[0x61];
       w3=DBYTE[0x62];
       w4=DBYTE[0x63];
       w5=DBYTE[0x64];
       w6=DBYTE[0x66];
  chai5=a_func3(0x00,0xFF);    /*读DS1305 RAM值  */
       w1=DBYTE[0x60];
       w2=DBYTE[0x61];
       w3=DBYTE[0x62];
       w4=DBYTE[0x63];
       w5=DBYTE[0x64];
       w6=DBYTE[0x65];
       w7=DBYTE[0x66];
       w8=DBYTE[0x67];
       w9=DBYTE[0x68];
       wa=DBYTE[0x69];
       wb=DBYTE[0x6a];
       wc=DBYTE[0x6b];
       wd=DBYTE[0x6c];
       we=DBYTE[0x6d];
       wf=DBYTE[0x6e];
       wg=DBYTE[0x6f];
  fill60();                  /* 输入初始日历时钟值 */
  chai5=a_func3(0xFF,0x00);  /* 写DS1305日历时钟值*/
  fill67();                  /* 输入初始RAM值     */
  chai5=a_func3(0xFF,0xFF);  /* 写DS1305 RAM值    */
  while(1);
 }

⌨️ 快捷键说明

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