<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > PCF8563驅動(dòng)(C語(yǔ)言版)

PCF8563驅動(dòng)(C語(yǔ)言版)

作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò ) 收藏
//CPU:STC89C52RC 晶震:11.0592M

#include 〈reg52.h>

本文引用地址:http://dyxdggzs.com/article/201611/319370.htm

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar TAB_T[]={ 0x31,0x06,0x10,//秒,分,時(shí)

0x13,0x01,0x07,0x08};//日,星期,月,年.

sbit SDA=P2^6; //數據

sbit SCL=P2^7; //時(shí)鐘

void Delay5us(void)

{

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

}

void Start(void)

{

SDA=1;

SCL=1;

Delay5us();

SDA=0;

Delay5us();

}

void Stop(void)

{

SDA=0;

SCL=1;

Delay5us();

SDA=1;

Delay5us();

}

void Reack(void)

{

uchar i=0;

SCL=1; //準備檢測SDA Delay5us();

while((SDA==1)&&(i<100))i++;//SDA=0為應該信號,SDA=1為非應答

SCL=0; //準備下一變化數據

}

void WriteByte(uchar ucByte)

{

uchar i;

SCL=0;

for(i=0;i<8;i++)

{

SDA=(bit)(ucByte&0x80);//先寫(xiě)入高位

SCL=1;

Delay5us();

SCL=0;

ucByte<<=1;

}

SDA=1; //釋放數據線(xiàn)

}

uchar ReadByte(void)

{

uchar i,ucByte;

SCL=0;

for(i=0;i<8;i++)

{

ucByte<<=1;

if(SDA)

ucByte++;

SCL=1;

Delay5us();

SCL=0;

}

return ucByte;

}

void Write8563(uchar ucAddr,uchar ucData)

{

Start();

WriteByte(0xa2);

Reack();

WriteByte(ucAddr);

Reack();

WriteByte(ucData);

Reack();

Stop();

}

uchar Read8563(uchar ucAddr)

{

uchar ucData;

Start();

WriteByte(0xa2); //寫(xiě)器件地址

Reack();

WriteByte(ucAddr); //寫(xiě)字節地址

Reack();

Start();

WriteByte(0xa3); //寫(xiě)器件地址,最低為1表示讀

Reack();

ucData=ReadByte(); //寫(xiě)字節地址

Stop();

return ucData; //讀數據

}

void Init8563(void)

{

uchar i,ucAddr=0x02;

Write8563(0x00,0x00);

Write8563(0x01,0x11);

for(i=0;i<7;i++)

{

Write8563(ucAddr,TAB_T[i]);

ucAddr++;

}

}

void GetTime(void)

{

uchar i,ucData1,ucData2,ucAddr=0x02;

uchar *pTime=TAB_T;

for(i=0;i<7;i++)

{

pTime[i]=Read8563(ucAddr);

ucAddr++;

}

pTime[0]&=0x7f; //屏蔽無(wú)效位

pTime[1]&=0x7f;

pTime[2]&=0x3f;

pTime[3]&=0x3f;

pTime[4]&=0x07;

pTime[5]&=0x1f;

for(i=0;i<7;i++)

{

ucData1=pTime[i]/16; //BCD碼轉十六進(jìn)制

ucData2=pTime[i]%16;

pTime[i]=ucData1*10+ucData2;

}

}



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>