久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

51單片機(jī)i2c存儲(chǔ)器24c02驅(qū)動(dòng)程序

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年10月16日   【字體:


這是電路圖,這是從這個(gè)項(xiàng)目中取得的文件里面有電路圖和仿真文件:http://m.zg4o1577.cn/bbs/dpj-22586-1.html

下面是 i2c.c文件:
#include <reg52.h>
#include "i2c.h"
#include "delay_ms.h"
void delay()
{
 ;;
}
void i2cinit()//總線初始化
{
 SDA = 1;
 delay();
 SCL = 1;
 delay();
}
void start()//啟動(dòng)信號(hào)
{
 SDA = 1;
 SCL = 1;
 delay();
 SDA = 0;
 delay();
}
void stop()//停止信號(hào)
{
 SDA = 0;
 delay();
 SCL = 1;
 delay();
 SDA = 1;
 delay();
}
void respons()//應(yīng)答信號(hào)
{
 unsigned char i = 0;
 SCL = 1;
 delay();
 while(SDA == 1 && i < 255)//等待應(yīng)答,過(guò)一段時(shí)間不應(yīng)答退出循環(huán)
  i++;
 SCL = 0;
 delay();
}
void writebyte(unsigned char date)//寫(xiě)一個(gè)字節(jié)
{
 unsigned char i,temp;
 temp = date;
 for(i = 0; i < 8; i++)
 {
  temp <<= 1;//temp左移一位后高位進(jìn)CY
  SCL = 0;
  delay();
  SDA = CY;
  delay();
  SCL = 1;
  delay();
 } 
 SCL = 0;//應(yīng)答信號(hào)中SCL = 1,所以這里要置0
 delay();
 SDA = 1;//用完要釋放數(shù)據(jù)總線
 delay();
}
unsigned char readbyte()//讀一個(gè)字節(jié)
{
 unsigned char i,k;
 SCL = 0;
 delay();
 SDA = 1;
 for(i = 0; i < 8; i++)
 {
  SCL = 1; 
  delay();
  k = (k << 1) | SDA; //和最低位或,一位位送到K
  SCL = 0;
  delay();
 }
 delay();
 return k;
}
void write_add(unsigned char address,unsigned char date)//向地址寫(xiě)一個(gè)字節(jié)數(shù)據(jù)
{
 start();
 writebyte(0xa0);//A0,A1,A2接地,AT24C02芯片地址為1010,送控制字為1010A2A1A0R/~W
 respons();
 writebyte(address);
 respons();
 writebyte(date);
 respons();
 stop();
}
unsigned char read_add(unsigned char address)//向地址讀一個(gè)字節(jié)數(shù)據(jù)
{
 unsigned char date;
 start();
 writebyte(0xa0);//A0,A1,A2接地,AT24C02芯片地址為1010,送控制字為1010A2A1A0R/~W
 respons();
 writebyte(address);
 respons();
 start();
 writebyte(0xa1);//A0,A1,A2接地,AT24C02芯片地址為1010,送控制字為1010A2A1A0R/~W
 respons();
 date = readbyte();
 stop();
 return date;
}


//向地址寫(xiě)n個(gè)字節(jié)數(shù)據(jù),數(shù)據(jù)存放在指針P指的數(shù)組中
void write_n_add(unsigned char * p,unsigned char address,unsigned char n)
{
 unsigned char i;
 for(i = 0; i < n; i++)
 {
  write_add((address + i),*(p + i));
  delay_ms(20);//一定要適當(dāng)延時(shí),不然寫(xiě)不進(jìn)去
 }
}
//向地址讀n個(gè)字節(jié)數(shù)據(jù),數(shù)據(jù)存放在指針P指的數(shù)組中
void read_n_add(unsigned char * p,unsigned char address,unsigned char n)
{
 unsigned char i;
 for(i = 0; i < n; i++)
 {
  *(p + i) = read_add(address + i);
  
 }
}

 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产精品乱码一区二区三区 | 天天干天天干 | 日韩福利视频 | 国产不卡视频在线 | 午夜小视频在线观看 | 亚洲欧洲中文 | 久久精品久久久久久 | 天天色天天 | 日韩一区二区在线观看视频 | 久久精品国产v日韩v亚洲 | 久久久久久久久久久一区二区 | 久久久久99| 男人午夜视频 | www.一级片| 日韩av在线免费 | 综合激情网 | 国产精品美女久久久久久久久久久 | 欧美午夜在线 | 日本一区二区不卡 | 亚洲综合天堂 | 亚洲国产一区二区视频 | 久久久久一区二区三区 | 中文字幕一区二区三区在线观看 | 国产精品国产三级国产aⅴ中文 | 天天操天天天 | 日本成人在线免费视频 | 成人午夜网站 | 免费观看a级毛片在线播放 黄网站免费入口 | 男女国产视频 | 欧美一级黄色网 | 久久久久久一区 | 免费成人午夜 | 黄视频网址 | 日韩在线视频免费观看 | 成人在线免费观看av | 亚洲欧美视频一区 | www.色综合| 精品一二三区 | 91成人免费看片 | 欧美精品免费观看二区 | 91精品中文字幕一区二区三区 |