AT24C02的驅動可以作為模塊化的程序直接使用非常方便,但需要配合著IIC協議共同使用,在這里分享給大家。
單片機源程序:
- #include "AT24C02.H"
- #include "IIC.H"
- void At24c02_write_add(unsigned char address, unsigned char dat)
- {
- IIC_start();
- IIC_write_byte(0xa0);
- IIC_respons();
- IIC_write_byte(address);
- IIC_respons();
- IIC_write_byte(dat);
- IIC_respons();
- IIC_stop();
- }
- //由地址讀取
- unsigned char At24c02_read_add(unsigned char address)
- {
- unsigned char dat;
- IIC_start();
- IIC_write_byte(0xa0);
- IIC_respons();
- IIC_write_byte(address);
- IIC_respons();
- IIC_start();
- IIC_write_byte(0xa1);
- IIC_respons();
- dat=IIC_read_byte();
- IIC_stop();
- return dat;
- }
- void At24c02_write_page(unsigned char address,unsigned char dat[],unsigned char Cnt)
- {
- unsigned char i;
- IIC_start();
- IIC_write_byte(0xa0);
- IIC_respons();
- IIC_write_byte(address);
- IIC_respons();
- for(i=0;i<Cnt;i++)
- {
- IIC_write_byte(dat[i]);
- IIC_respons();
- }
- IIC_stop();
- }
- void At24c02_read_page(unsigned char address,unsigned char dat[],unsigned char Cnt)
- {
- unsigned char i,j;
- IIC_start();
- IIC_write_byte(0xa0);
- IIC_respons();
- IIC_write_byte(address);
- IIC_respons();
- IIC_start();
- IIC_write_byte(0xa1);
- IIC_respons();
- for(i=0;i<Cnt;i++)
- {
- dat[i]=IIC_read_byte();
- IIC_SDA=0; //這里必須有,是MCU向EEPROM發送
- IIC_SCL=1; //應答脈沖
- for(j=20;j>0;j--);
- IIC_SCL=0;
- }
- IIC_stop();
- }
復制代碼
0.png (41.48 KB, 下載次數: 31)
下載附件
2018-10-25 23:37 上傳
更多詳細代碼和頭文件申明都在壓縮文件里 親測。
全部資料51hei下載地址:
AT24C02驅動和IIC協議.rar
(1.62 KB, 下載次數: 41)
2018-10-25 17:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|