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

📄 ds12887.c

📁 /* LJD-IV 液晶、键盘驱动 /* 作者:刘延军 /* 2007年10月2日
💻 C
字号:
/*************************************/
/* 时钟芯片DS12887A驱动
/* 作者:刘延军
/* 2007年10月4日
/************************************/
#include <DS12887.H>

/*************************************************************
函数功能:该函数用来启动时钟芯片工作
应用范围:仅在时钟芯片首次使用时用到一次
入口参数:
出口参数:
*************************************************************/
void StartDs12c887(void)
{
    chRegA = CMD_START_DS12C887;
}

/*************************************************************
函数功能:该函数用来关闭时钟芯片
应用范围:一般用不到
入口参数:
出口参数:
*************************************************************/
void CloseDs12c887(void)
{
    chRegA = CMD_CLOSE_DS12C887;
}

void InitDs12c887()
{
    StartDs12c887();
    chRegB = chRegB | MASK_SETB_SET;        /* 禁止刷新 */
    chRegB = chRegB & MASK_CLR_DM | MASK_SETB_2412 \
                    & MASK_CLR_DSE;

                /* 使用BCD码格式、24小时模式、不使用夏令时 */
    chCenturyChannel = 0x21;                /* 设置为21世纪 */
    chRegB = chRegB & MASK_CLR_SET;            /* 使能刷新 */
}

/*************************************************************
函数功能:该函数用来从时钟芯片读取秒字节
应用范围:
入口参数:
出口参数:
*************************************************************/
unsigned char GetSeconds(void)
{
    return(chSecondsChannel);
}

/*************************************************************
函数功能:该函数用来从时钟芯片读取分字节
应用范围:
入口参数:
出口参数:
*************************************************************/
unsigned char GetMinutes(void)
{
    return(chMinutesChannel);
}

/*************************************************************
函数功能:该函数用来从时钟芯片读取小时字节
应用范围:
入口参数:
出口参数:
*************************************************************/
unsigned char GetHours(void)
{
    return(chHoursChannel);
}

/*************************************************************
函数功能:该函数用来从时钟芯片读取日字节
应用范围:
入口参数:
出口参数:
*************************************************************/
unsigned char GetDate(void)
{
    return(chDateChannel);
}
/*************************************************************
函数功能:该函数用来从时钟芯片读取月字节
应用范围:
入口参数:
出口参数:
*************************************************************/
unsigned char GetMonth(void)
{
    return(chMonthChannel);
}

/*************************************************************
函数功能:该函数用来从时钟芯片读取年字节
应用范围:
入口参数:
出口参数:
*************************************************************/
unsigned char GetYear(void)
{
    return(chYearChannel);
}

/*************************************************************
函数功能:该函数用来从时钟芯片读取世纪字节
应用范围:
入口参数:
出口参数:
*************************************************************/
unsigned char GetCentury(void)
{
    return(chCenturyChannel);
}

/*************************************************************
函数功能:该函数用来设置时钟芯片的时间
应用范围:
入口参数:chSeconds、chMinutes、chHours是设定时间的压缩BCD码
出口参数:
*************************************************************/
void SetTime(unsigned char chSeconds,unsigned char chMinutes,unsigned char
chHours)
{
    chRegB = chRegB | MASK_SETB_SET;        /* 禁止刷新 */
    chSecondsChannel = chSeconds;
    chMinutesChannel = chMinutes;
    chHoursChannel = chHours;
    chRegB = chRegB & MASK_CLR_SET;            /* 使能刷新 */
}

/*************************************************************
函数功能:该函数用来设置时钟芯片的日期
应用范围:
入口参数:chDate、chMonth、chYear是设定日期的压缩BCD码
出口参数:
*************************************************************/
void SetDate(unsigned char chDate,unsigned char chMonth,unsigned char chYear)
{
    chRegB = chRegB | MASK_SETB_SET;        /* 禁止刷新 */
    chDateChannel = chDate;
    chMonthChannel = chMonth;
    chYearChannel = chYear;
    chRegB = chRegB & MASK_CLR_SET;            /* 使能刷新 */
}

/*************************************************************
函数功能:该函数利用时钟芯片延时count秒
应用范围:
入口参数:count:秒数
出口参数:
*************************************************************/

⌨️ 快捷键说明

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