I2C的讀寫操作實驗
/////////////24C08讀寫驅(qū)動程序完/////////////////////
void Delay(unsigned int tc) //延時程序
{
while( tc != 0 )
{unsigned int i;
for(i=0; i100; i++);
tc--;}
}
void LED() //LED顯示函數(shù)
{
shiwei=0; P0=table[sec/10]; Delay(8); shiwei=1;
gewei=0; P0=table[sec%10]; Delay(5); gewei=1;
}
void t0(void) interrupt 1 using 0 //定時中斷服務(wù)函數(shù)
{
TH0=(65536-50000)/256; //對TH0 TL0賦值
TL0=(65536-50000)%256; //重裝計數(shù)初值
tcnt++; //每過250ust tcnt加一
if(tcnt==20) //計滿20次(1秒)時
{
tcnt=0; //重新再計
sec++;
write=1; //1秒寫一次24C08
if(sec==100) //定時100秒,在從零開始計時
{sec=0;}
}
}
void main(void)
{
TMOD=0x01; //定時器工作在方式1
ET0=1; EA=1;
x24c08_init(); //初始化24C08
sec=x24c08_read(2);//讀出保存的數(shù)據(jù)賦于sec
TH0=(65536-50000)/256; //對TH0 TL0賦值
TL0=(65536-50000)%256; //使定時器0.05秒中斷一次
TR0=1; //開始計時
while(1)
{
LED();
if(write==1) //判斷計時器是否計時一秒
{
write=0; //清零
x24c08_write(2,sec); //在24c08的地址2中寫入數(shù)據(jù)sec
}
}
}本文引用地址:http://m.butianyuan.cn/article/150752.htm
[硬件電路圖]
p2p機相關(guān)文章:p2p原理
評論