ds1302.h

来自「红外控制万年历」· C头文件 代码 · 共 36 行

H
36
字号
#include <absacc.h>
#include <Intrins.h>

#define    uchar   unsigned char
#define    uint    unsigned int
#define    ds_sec      0x80                   //秒设置地址
#define    ds_min      0x82                   //分
#define    ds_hour     0x84                   //小时
#define    ds_day      0x86                   //天
#define    ds_month    0x88                   //月
#define    ds_week     0x8a                   //星期
#define    ds_year     0x8c                    //年
#define    ds_com      0x8e                   //控制寄存器
#define    ds_charg    0x90                   //充电控制寄存器

sbit IO_DATA=P2^0 ; //数据传送总线
sbit SCLK=P2^2 ;    //时钟控制总线
sbit RST=P2^1 ;     //复位总线

uchar ds1302_b;                                         //用于协助初始化
uchar d1302[7]={0x01,0x19,0x07,0x04,0x10,0x03,0x06};    //万年历初始化
uchar min01,min02,sec01,sec02,nian01,nian02,yue01,yue02,ri01,ri02,xiaoshi01,xiaoshi02,zhouxingqi;



unsigned char DS1302_ReceiveByte(uchar Command);       //接收数据程序
void DS1302_SendByte(uchar Command,uchar XmtDat);      //发送数据程序
void DS1302_WriteEnable(void);//允许数据写入寄存器
void DS1302_WriteDisable(void);//禁止数据写入寄存器
void DS1302_OscEnable(void);//起动时钟操作
void DS1302_OscDisable(void);//钟停止位操作
void DS1302_limit(void);
void delay1302(int i);
void d1302_transfer(void);                            //读出值为BCD码,需要数据变换
void DS1302_Write(uchar address,uchar dat);           //写时钟
uchar DS1302_Read(uchar address);                     //读时钟

⌨️ 快捷键说明

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