999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于I2C串行總線在單片機系統中的數據讀寫

2009-04-29 00:00:00陳章余
電腦知識與技術 2009年32期

摘要:簡要介紹了I2C串行總線原理及AT24CXX系列串行EEPROM的特點。著重闡述了利用I2C串行總線和AT24CXX系列串行EEPROM實現數據存儲的技術,給出了單片機與串行EEPROM硬軟件實現方法和實用的讀/寫子程序。

關鍵詞:單片機;I2C串行總線;EEPROM

中圖分類號:TP36 文獻標識碼:A文章編號:1009-3044(2009)32-9059-03

The Data Read-write of Single-chip Microcomputer System Basic on I2C Serial Bus

CHEN Zhang-yu

(Department of Electronic Engineering, Nanjing Engineering Vocational College, Nanjing 211135, China)

Abstract: The principle of I2C serial bus and the characteristic of Serial EEPROM of AT24CXX have been introduced in this paper.It has been most emphasized on the technology of data storage achieving by using of I2C serial bus and Serial EEPROM of AT24CXX, also ,the implementation methods and practical read/write subroutine of singlechip and the serial EEPROM hard-software has been indicated.

Key words: single-chip microcomputer;I2C serial bus; EEPROM

隨著應用和技術的發展、系統的集成度、復雜性的提高,單片機對I/O口線的數量要求也越來越多,因此需通過適當的手段來對單片機進行擴展,或通過其它方法減少口線的占用來達到用戶不同的需求。I2C總線(Inter Integrated Circuit BUS)由飛利浦公司推出,是近年來微電子通信控制領域廣泛采用的一種新型總線標準。它是同步通信的一種特殊形式,具有接口線少、控制簡單、器件封裝形式小、通信速率較高等優點。本文通過使用MCS51系列單片機和AT24C系列串行EEPROM來實現基于I2C串行總線的數據讀寫。

1 I2C總線技術

I2C總線是一種用于IC器件之間連接的二線制總線。它通過SDA(串行數據線)及SCL(串行時鐘線)兩根線在連到總線上的器件之間傳送信息。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數量,降低了互聯成本。I2C總線的另一個優點是,它支持多主控(multimastering),其中任何能夠進行發送和接收的設備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。圖1為I2C總線系統硬件結構圖,總線上的每個器件均可設置一個唯一地址,在執行數據傳輸時,器件可以被設定為主控器和被控器。由主控器啟動總線上的數據傳輸,并產生數據傳輸所需的時鐘信號。

2 I2C串行總線協議

I2C總線傳輸數據必須遵循規定的數據傳輸格式,其基本要求如下:

1) 數據線SDA的電平狀態必須在時鐘線SCL處于高電平期間保持穩定不變。SDA的電平狀態只有在SCL處于低電平期間才允許改變。但是在I2C總線的起始和結束時例外。

2) I2C總線總是以字節(Byte)為單位收發數據。每次傳輸的字節數量沒有嚴格限制。首先傳輸的是數據的最高位(MSB,第7位),最后傳輸的是最低位(LSB,第0位)。另外,每個字節之后還要跟一個響應位,稱為應答。

3) 起始條件:當SCL處于高電平期間時,SDA從高電平向低電平跳變時產生起始條件。總線在起始條件產生后便處于忙的狀態。

4) 停止條件:當SCL處于高電平期間時,SDA從低電平向高電平跳變時產生停止條件。總線在停止條件產生后處于空閑狀態。

5) 從機地址:I2C總線不需要額外的地址譯碼器和片選信號。多個具有I2C總線接口的器件都可以連接到同一條I2C總線上,它們之間通過器件地址來區分。主機是主控器件,它不需要器件地址,其它器件都屬于從機,要有器件地址。一般從機地址由7位地址位和一位讀寫標志R/W組成,7位地址占據高7位,讀寫位在最后。讀寫位是0,表示主機將要向從機寫入數據;讀寫位是1,則表示主機將要從從機讀取數據。

6) 應答信號:在I2C總線傳輸數據過程中,每傳輸一個字節數據(含地址及命令字),都要跟一個應答狀態位,以確定數據傳送是否被對方收到。應答信號由接收設備產生,在SCL信號為高電平期間,接收設備將SDA拉為低電平,表示數據準確,產生應答。

3 AT24CXX系列串行EEPROM

AT24CXX系列串行EEPROM是Atmel公司生產的一種采用CMOS工藝制成的EEPROM,支持I2C串行總線及傳輸規則。采用這類芯片可解決掉電數據保存問題,并可多次擦寫,擦寫次數可達10萬次以上。型號及參數如表1所示。

AT24CXX系列EEPROM的尋址字節如表1所示。其中前4位是芯片地址1010,A2、A1和A0是可編程地址選擇位,A2、A1和A0引腳接高、低電平后得到確定的三位編碼,與1010形成7位編碼,即為該器件的地址碼。第8位為讀寫控制位,R/W=1表示讀操作,R/W=0表示寫操作。

4 單片機對AT24C系列的讀寫操作

4.1 硬件電路

MCS51系列單片機沒有專門的I2C串行總線,需要用兩條I/O線來實現。以89C52單片機與AT24C02連接為例,電路如圖2所示。將P2.0連接到SDA腳,將P2.1連接到SCL腳,由于AT24C02是漏極開路, 圖中R1、R2為上拉電阻。A0、A1和A2三只引腳都接地,芯片地址選擇位全都為0。

4.2 I2C總線的軟件編程

由前述分析和圖2的硬件電路,只有按照I2C總線數據傳送時序和操作格式設計模擬子程序,我們編制了EEPROM的讀寫子程序。(限于篇幅,只給出部分詳細程序)

void start()//起始信號

{

sda=1;

delay();//延時程序

scl=1;

delay();

sda=0;

delay();

}

void stop()//停止信號

{

sda=0;

delay();

scl=1;

delay();

sda=1;

delay();

}

void respons()//檢查應答

{

sda=0;

delay();

scl=1;

delay();

scl=0;

delay();

sda=1;

delay();

}

void init()//初始化

{

sda=1;

delay();

scl=1;

delay();

}

void write_byte(uchar date)//寫一個字節

{

uchar i,temp;

temp=date;

for(i=0;i<8;i++)

{

temp=temp<<1;

scl=0;

delay();

sda=CY;

delay();

scl=1;

delay();

}

scl=0;

delay();

sda=1;

delay();

}

uchar read_byte()//讀取一個字節

{

uchar i,k;

scl=0;

delay();

sda=1;

delay();

for(i=0;i<8;i++)

{

scl=1;

delay();

k=(k<<1)|sda;

sda=0;

delay();

}

return k;

}

5 結束語

I2C串行總線雖然沒有并行總線那么快的數據傳輸能力,但其硬件接口簡單,因而簡化了電路的設計,擴展方便并且可靠性高,在實際電路設計中經常使用,如I2C接口EEPROM芯片用于存放系統重要的參數,I2C接口時鐘芯片用于產生系統精密時鐘等。本文通過給出單片機與AT24C系列連接電路圖和部分編程程序,證明51單片機基于I2C串行總線數據的讀寫穩定可靠,在main函數中可直接引用,適用于工程實踐。

參考文獻:

[1] 郭天祥.新概念51單片機C語言教程——入門、提高、開發、拓展全攻略[M].北京:電子工業出版社,2009.

[2] 董艷鋒,田海峰,秦文華,等.I2C串行總線存儲技術在單片機系統中的應用[J].山西電子技術,2007,(4):19-20.

[3] 趙建領.薛園園.51單片機開發與應用技術詳解[M].北京:電子工業出版社,2009.

主站蜘蛛池模板: 亚洲制服中文字幕一区二区| 亚洲精品国产精品乱码不卞 | 中文字幕亚洲无线码一区女同| 中国精品自拍| 无码国内精品人妻少妇蜜桃视频 | 婷婷五月在线视频| 日日碰狠狠添天天爽| 国产福利微拍精品一区二区| 亚洲av日韩av制服丝袜| 国产人成乱码视频免费观看| 国产原创第一页在线观看| 日本午夜网站| 欧美a级完整在线观看| 亚国产欧美在线人成| 色综合激情网| 欧美日韩在线亚洲国产人| 免费一级毛片完整版在线看| 久久精品国产一区二区小说| 麻豆国产精品视频| 亚洲精品在线影院| 久久香蕉国产线| 亚洲不卡影院| 国产精品对白刺激| 亚洲福利一区二区三区| 国产欧美视频综合二区| 国产一级在线观看www色 | 国产裸舞福利在线视频合集| 69国产精品视频免费| 尤物成AV人片在线观看| 国产一级毛片在线| 日韩在线观看网站| 精品超清无码视频在线观看| 九九这里只有精品视频| 中文字幕日韩欧美| 欧美中文字幕无线码视频| 国产成人亚洲无吗淙合青草| 亚洲中文字幕无码mv| 制服丝袜 91视频| 国产丝袜无码一区二区视频| 国产亚洲精品无码专| 奇米精品一区二区三区在线观看| 国产免费a级片| 亚洲综合狠狠| 国产精品30p| 91午夜福利在线观看| 国产毛片基地| 五月婷婷综合在线视频| 黄色成年视频| 亚洲精品无码AV电影在线播放| 欧美激情综合| 国产jizz| 日本尹人综合香蕉在线观看| 免费观看精品视频999| 国产chinese男男gay视频网| 色亚洲成人| 欧洲成人在线观看| jijzzizz老师出水喷水喷出| 久久久无码人妻精品无码| 中文字幕波多野不卡一区| 久久午夜影院| 91精品啪在线观看国产| 福利在线不卡| 动漫精品啪啪一区二区三区| 国模视频一区二区| 91免费国产高清观看| 国产高清自拍视频| 亚洲午夜国产精品无卡| 欧美性爱精品一区二区三区| 亚洲成综合人影院在院播放| 久久9966精品国产免费| 香蕉久久国产超碰青草| 国产欧美日韩综合一区在线播放| 欧美亚洲另类在线观看| 91午夜福利在线观看精品| 依依成人精品无v国产| 国产亚洲欧美在线专区| 99久久精品国产麻豆婷婷| 国产成年女人特黄特色大片免费| 国产精品99久久久久久董美香| 内射人妻无套中出无码| 国产精品夜夜嗨视频免费视频 | 亚洲天堂精品视频|