您的位置 首页 编程

根据STC单片机的PCF8563读写程序

includereg51h>includeintrinsh>definePCF85630xA2defineSUBADDR0x02externbitISendStr(unsignedchar

#include
#include
#define PCF8563 0xA2
#define SUBADDR 0x02

extern bit ISendStr(unsigned char ,unsigned char ,unsigned char *,unsigned char );
extern bit IRcvStr(unsigned char,unsigned char,unsigned char *,unsigned char);
extern void initialize_UART(void);
extern void s_send(unsigned char );

void DelayNS(unsigned int dly)
{ unsigned int i;

for(; dly>0; dly–)
for(i=0; i<5000; i++)
_nop_();
}
//main

main()
{
unsigned char p[7]={0x30,0x59,0x15,0x20,0x02,0x06,0x00};
//2000 年6 月20 日星期3 15 点 59 分30 秒<倒序>
unsigned char q[7];
unsigned i;
bit bp;

initialize_UART();

//写PCF8563各个时刻寄存器

for(i=0;i<7;i++)
{
bp=ISendStr(PCF8563,SUBADDR+i,p+i,1);
}

while(1)
{
//读PCF8563各时钟寄存器
for(i=0;i<7;i++)
{ bp=IRcvStr(PCF8563,SUBADDR+i,q+i,1);
}
//屏蔽无效位
q[0]&=0x7F;//second
q[1]&=0x7F;//minute
q[2]&=0x3F;//hour
q[3]&=0x3F;//day
q[4]&=0x07;//week
q[5]&=0x1F;//month
q[6]&=0xFF;//year
//送显现器显现
for(i=7;i>0;i–)
{ s_send(q[i-1]);
}

DelayNS(200);
}

}
阐明:运用这个程序,请包括我的上一篇文章中的文件,运用其供给的函数!

该程序首要完成了对8563(IIC接口的实时时钟)的寄存器读写。

设置初值后开端计时,并读回当时时刻值,送回显现器使用串口调试帮手显现成果!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/261962.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部