資源簡(jiǎn)介
24C08驅(qū)動(dòng)程
代碼片段和文件信息
//I2C總線與2404芯片實(shí)驗(yàn)主要時(shí)序程序
/*本程序以P3.7位sda,以P3.6為scl,所用芯片為AT2404*/
#include
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
void?delay1ms(uint?k);??//延時(shí)程序.........1
void?delay5us(void);//.....................2
void?Start(void);???????//啟動(dòng)程序.........3
void?Stop(void);???//停止程序..............4
void?Ack(void);????//應(yīng)答信號(hào)程序..........5
void?Send(uchar?Data);//發(fā)送字節(jié)程序.......6
uchar?Read(void);?//讀取1字節(jié)程序..........7
void?WriteToRom(uchar?Data[]uchar?Adduchar?Num);//把Data[]Num個(gè)數(shù)發(fā)送到以Add為起始地址中...8
void?ReadFromRom(uchar?Data[]uchar?Adduchar?Num);//讀以Add為起始地址的Num個(gè)數(shù)讀取到數(shù)組Data[]中..9
sbit?sda=P3^7;
sbit?scl=P3^6;
/////////
void?main()
{?uint?i;
?uchar?a[8]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};
//uchar?a[8]={0x110x220x330x440x550x660x770x88};
?uchar?b[]={00000000};
?WriteToRom(a08);//寫入數(shù)據(jù)
?delay1ms(100);//必須加延時(shí)
?ReadFromRom(b08);//讀出
?while(1)
?{for(i=0;i<8;i++){P0=b[i];
???????delay1ms(400);
?????????}
?}
}
//////////////
void?delay1ms(uint?k)???//延時(shí)程序
{k=k*125;
?while(--k);
}
///////////////
void?delay5us(void)//5us延時(shí)
{_nop_();_nop_();
?_nop_();_nop_();
?}
?////////////////
void?Start(void)//啟動(dòng)程序
{sda=1;
?scl=1;delay5us();//1到0
?sda=0;delay5us();
?scl=0;
}
v
- 上一篇:尚硅谷最新大數(shù)據(jù)培訓(xùn)視頻
- 下一篇:stdint.h
評(píng)論
共有 條評(píng)論