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

📄 基于芯片ds12887的电子时钟日历系统设计和制作.txt

📁 基于芯片DS12887的电子时钟、日历系统设计和制作
💻 TXT
字号:
DS12887的驱动程序的头文件:
#ifndef _DS12887_H_
#define _DS12887_H_
#include "absacc.h"   //声明外部地址必须加此头文件
#include <reg52.h>
#define SECONDS         XBYTE[0x7f00]
#define SECONDSALARM  XBYTE[0x7f01]
#define MINUTES          XBYTE[0x7f02]
#define MINUTESALARM  XBYTE[0x7f03]
#define HOURS            XBYTE[0x7f04]
#define HOURSALARM    XBYTE[0x7f05]
#define DAYOFWEEK      XBYTE[0x7f06]
#define DAYOFMONTH    XBYTE[0x7f07]
#define MONTH           XBYTE[0x7f08]
#define YEAR             XBYTE[0x7f09]
#define REGA             XBYTE[0x7f0A]
#define REGB             XBYTE[0x7f0B]
#define REGC             XBYTE[0x7f0C]
//#define REGD            XBYTE[0x7f0D]
sbit   CS_12887 = P2^7;	//CS
//the defination of function
#define  YEAR_i             7
#define  MONTH_i           1
#define  DAYOFMONTH_i    6
#define  DAYOFWEEK_i      6
#define  HOURS_i            14
#define  HOURSALARM_i     8
#define  MINUTES_i          12
#define  MINUTESALARM_i   1
#define  SECONDS_i          50
#define  SECONDSALARM_i   5
extern void DS12887_init();
extern void Read_12887(unsigned char * date);
#endif

DS12887的驱动程序的源文件:
#include <DS12887.h>
void Read_12887(unsigned char * date)
{
    * date = SECONDS;
    *(date+1)=SECONDSALARM;
    *(date+2)=MINUTES;
    *(date+3)=MINUTESALARM;
    *(date+4)=HOURS;
    *(date+5)=HOURSALARM;
    *(date+6)=DAYOFWEEK;
    *(date+7)=DAYOFMONTH;
    *(date+8)=MONTH;
    *(date+9)=YEAR;
    *(date+12)=REGC;
}

开启和关闭晶振:
    if(Aclock==1)//表示不是在调整时钟期间+  
    {
        REGA=0x0F;//把晶振关了
    }
    else if(Aclock==0)//表示不是在调整时钟期间
    {
         REGA=0x2F;//把晶振开了
}
根据按键调整时间:
case 1://修改年
         read_date[9]++;
         YEAR=read_date[9];
         break;
    case 2://修改月
         read_date[8]++;
         if(read_date[8]==13)
         read_date[8]=1;
         MONTH=read_date[8];
         break;
    ……

⌨️ 快捷键说明

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