【解析新特性】300W单路输出工业电源>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » zlgmcu,PCF8563 zlgmcu 能否给一个PCF8563的程序范例!

共2条 1/1 1 跳转至

zlgmcu,PCF8563 zlgmcu 能否给一个PCF8563的程序范例!!

院士
2006-12-22 22:43:00    评分
zlgmcu,PCF8563 zlgmcu 能否给一个PCF8563的程序范例!!



关键词: zlgmcu     PCF8563     能否     一个     程序         

院士
2006-12-22 22:43:00    评分
2楼
问   我在读PCF8563时有时会出错,能否给一个范例!!谢谢了

email: Lx_mcu@163.com 1: 本公司网站上有,请下载! 2: 最简单的用法就3个函数,初始化、读、写#include            "IIC0.h"   // IIC程序,可到我网站下载

#include            <string.h>

/* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    函数名称:InitPCF8563RTC
   功能描述:初始化PCF8563
   入口参数:无              
   出口参数:无
   全局变量:
   创建时间:
   修改时间:
*/
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 以上原形声明的函数供本函数调用
void            InitPCF8563RTC(void)
{
    pRTC_STR        pRtc;
    uchar        Config[16];
    SetBufferValue(Config,16,0);    
    IIC_Write(RTC_DA_8563_WRITE,0,16,Config);
    Delay_mS(1);
}

/* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    函数名称:GetPCF8563RTC
   功能描述:读取PCF8563日期和时间寄存器
   入口参数:日期时间指针              
   出口参数:无
   全局变量:
   创建时间:
   修改时间:
    注: 读取PCF8563的日期时间寄存器时,要屏蔽不用的高位,否则出错
*/
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 以上原形声明的函数供本函数调用
void            GetPCF8563RTC(RTC_STR  *pRTC)
{
    uchar        Buffer[10];
    Buffer[0] = 2;
    IIC_Write(RTC_DA_8563_WRITE,0,1,Buffer);
    Delay_mS(1);
    IIC_Read(RTC_DA_8563_READ,0,8,Buffer);
    Delay_mS(1);
    pRTC->Sec   = Buffer[0]&0x7f;
    pRTC->Min   = Buffer[1]&0x7f;
    pRTC->Hour  = Buffer[2]&0x3f;
    pRTC->Day   = Buffer[3]&0x3f;
    pRTC->Month = Buffer[5]&0x1f;
    pRTC->Year  = Buffer[6];
    

}


/* $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    函数名称:SetPCF8563RTC
   功能描述:设置PCF8563 RTC
   入口参数: 初始时间值,BCD码(8563只支持BCD码)
   出口参数:无
   全局变量: 无
   创建时间:
   修改时间:
*/
// $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 以上原形声明的函数供本函数调用
void            SetPCF8563RTC(RTC_STR  *pRTC)
{
    uchar        Buffer[10];
    Buffer[0] = 2;
    Buffer[1] = pRTC->Sec;
    Buffer[2] = pRTC->Min;
    Buffer[3] = pRTC->Hour;
    Buffer[4] = pRTC->Day;
    Buffer[6] = pRTC->Month;
    Buffer[7] = pRTC->Year;    
    IIC_Write(RTC_DA_8563_WRITE,0,9,Buffer);
    Delay_mS(1);    
}


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]