?? 1302.c
字號:
/////////////////////////////////////////////////////////////////////////////////////////////////////
//實時時鐘模塊 時鐘芯片型號:DS1302 //
/////////////////////////////////////////////////////////////////////////////////////////////////////
#include "config.h" //
#define DELAY 50 //
/////////////////////////////////////////////////////////////////////////////////////////////////////
//延時 //
/////////////////////////////////////////////////////////////////////////////////////////////////////
void RTDelay(uint8 uByte) //
{for(;uByte>0;)uByte--; //
} //
/////////////////////////////////////////////////////////////////////////////////////////////////////
//從DS1302讀數據 //
/////////////////////////////////////////////////////////////////////////////////////////////////////
unsigned char Read13(unsigned char ad) //
{unsigned char i,da; //
//
IO1CLR=1<<21; //clear p1.21 //CLK
IO1SET=1<<23; //set p1.23 //CS
IO1DIR=IO1DIR|(1<<22); //set p1.22 output //設置為輸出口
da=ad|0x01; //
for(i=0;i<8;i++) //
{if(da&0x01) //
IO1SET=1<<22; //
else //
IO1CLR=1<<22; //
da=da>>1; //
IO1SET=1<<21; //
RTDelay(DELAY); //
IO1CLR=1<<21; //
RTDelay(DELAY); //
} //
da=0; //
IO1DIR=IO1DIR&(~(1<<22)); //設置為輸入口
for(i=0;i<8;i++) //
{da=da>>1; //
if(IO1PIN&(1<<22))da=da|0x80; //
IO1SET=1<<21; //
RTDelay(DELAY); //
IO1CLR=1<<21; //
RTDelay(DELAY); //
} //
IO1CLR=1<<23; //
return da; //
} //
/////////////////////////////////////////////////////////////////////////////////////////////////////
//向DS1302寫數據 //
/////////////////////////////////////////////////////////////////////////////////////////////////////
void Write13(unsigned char ad,unsigned char da) //
{unsigned char i,temp; //
IO1CLR=1<<21; //CLK
IO1SET=1<<23; //CS
IO1DIR=IO1DIR|(1<<22); //設置為輸出口
temp=ad; //
for(i=0;i<8;i++) //
{if(temp&0x01) //
IO1SET=1<<22; //
else //
IO1CLR=1<<22; //
temp=temp>>1; //
RTDelay(DELAY); //
IO1SET=1<<21; //
RTDelay(DELAY); //
IO1CLR=1<<21; //
} //
temp=da; //
for(i=0;i<8;i++) //
{if(temp&0x01) //
IO1SET=1<<22; //
else //
IO1CLR=1<<22; //
temp=temp>>1; //
IO1SET=1<<21; //
RTDelay(DELAY); //
IO1CLR=1<<21; //
RTDelay(DELAY); //
} //
IO1CLR=1<<23; //
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -