浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 單 片 機

51單片機控制24C02串行E2PROM的讀寫

發(fā)布時間:2008/8/25 0:00:00 訪問次數(shù):498

  i2c總線是一種用于ic器件之間連接的二線制總線。它通過sda(串行數(shù)據(jù)線)及scl(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識別每個器件:不管是單片機、存儲器、lcd驅(qū)動器還是鍵盤接口。

  1.i2c總線的基本結(jié)構(gòu) 采用i2c總線標準的單片機或ic器件,其內(nèi)部不僅有i2c接口電路,而且將內(nèi)部各單元電路按功能劃分為若干相對獨立的模塊,通過軟件尋址實現(xiàn)片選,減少了器件片選線的連接。cpu不僅能通過指令將某個功能單元電路掛靠或摘離總線,還可對該單元的工作狀況進行檢測,從而實現(xiàn)對硬件系統(tǒng)的既簡單又靈活的擴展與控制。i2c總線接口電路結(jié)構(gòu)如圖1所示。
2.雙向傳輸?shù)慕涌谔匦浴鹘y(tǒng)的單片機串行接口的發(fā)送和接收一般都各用一條線,如mcs51系列的txd和rxd,而i2c總線則根據(jù)器件的功能通過軟件程序使其可工作于發(fā)送或接收方式。當(dāng)某個器件向總線上發(fā)送信息時,它就是發(fā)送器(也叫主器件),而當(dāng)其從總線上接收信息時,又成為接收器(也叫從器件)。主器件用于啟動總線上傳送數(shù)據(jù)并產(chǎn)生時鐘以開放傳送的器件,此時任何被尋址的器件均被認為是從器件。i2c總線的控制完全由掛接在總線上的主器件送出的地址和數(shù)據(jù)決定。在總線上,既沒有中心機,也沒有優(yōu)先機。

  總線上主和從(即發(fā)送和接收)的關(guān)系不是一成不變的,而是取決于此時數(shù)據(jù)傳送的方向。sda和scl均為雙向i/o線,通過上拉電阻接正電源。當(dāng)總線空閑時,兩根線都是高電平。連接總線的器件的輸出級必須是集電極或漏極開路,以具有線“與”功能。i2c總線的數(shù)據(jù)傳送速率在標準工作方式下為100kbit/s,在快速方式下,最高傳送速率可達400kbit/s。

  3.i2c總線上的時鐘信號 在i2c總線上傳送信息時的時鐘同步信號是由掛接在scl時鐘線上的所有器件的邏輯“與”完成的。scl線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使scl線一直保持低電平,使scl線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響scl線的狀態(tài),于是這些器件將進入高電平等待的狀態(tài)。

  當(dāng)所有器件的時鐘信號都上跳為高電平時,低電平期結(jié)束,scl線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結(jié)束高電平期的器件又將scl線拉成低電平。這樣就在scl線上產(chǎn)生一個同步時鐘。可見,時鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。

  4.?dāng)?shù)據(jù)的傳送 在數(shù)據(jù)傳送過程中,必須確認數(shù)據(jù)傳送的開始和結(jié)束。在i2c總線技術(shù)規(guī)范中,開始和結(jié)束信號(也稱啟動和停止信號)的定義如圖2所示。當(dāng)時鐘線scl為高電平時,數(shù)據(jù)線sda由高電平跳變?yōu)榈碗娖蕉x為“開始”信號;當(dāng)scl線為高電平時,sda線發(fā)生低電平到高電平的跳變?yōu)椤敖Y(jié)束”信號。開始和結(jié)束信號都是由主器件產(chǎn)生。在開始信號以后,總線即被認為處于忙狀態(tài);在結(jié)束信號以后的一段時間內(nèi),總線被認為是空閑的。
i2c總線的數(shù)據(jù)傳送格式是:在i2c總線開始信號后,送出的第一個字節(jié)數(shù)據(jù)是用來選擇從器件地址的,其中前7位為地址碼,第8位為方向位(r/w)。方向位為“0”表示發(fā)送,即主器件把信息寫到所選擇的從器件;方向位為“1”表示主器件將從從器件讀信息。開始信號后,系統(tǒng)中的各個器件將自己的地址和主器件送到總線上的地址進行比較,如果與主器件發(fā)送到總線上的地址一致,則該器件即為被主器件尋址的器件,其接收信息還是發(fā)送信息則由第8位(r/w)確定。

  在i2c總線上每次傳送的數(shù)據(jù)字節(jié)數(shù)不限,但每一個字節(jié)必須為8位,而且每個傳送的字節(jié)后面必須跟一個認可位(第9位),也叫應(yīng)答位(ack)。數(shù)據(jù)的傳送過程如圖3所示。每次都是先傳最高位,通常從器件在接收到每個字節(jié)后都會作出響應(yīng),即釋放scl線返回高電平,準備接收下一個數(shù)據(jù)字節(jié),主器件可繼續(xù)傳送。如果從器件正在處理一個實時事件而不能接收數(shù)據(jù)時,(例如正在處理一個內(nèi)部中斷,在這個中斷處理完之前就不能接收i2c總線上的數(shù)據(jù)字節(jié))可以使時鐘scl線保持低電平,從器件必須使sda保持高電平,此時主器件產(chǎn)生1個結(jié)束信號,使傳送異常結(jié)束,迫使主器件處于等待狀態(tài)。當(dāng)從器件處理完畢時將釋放scl線,主器件繼續(xù)傳送。
當(dāng)主器件發(fā)送完一個字節(jié)的數(shù)據(jù)后,接著發(fā)出對應(yīng)于scl線上的一個時鐘(ack)認可位,在此時鐘內(nèi)主器件釋放sda線,一個字節(jié)傳送結(jié)束,而從器件的響應(yīng)信號將sda線拉成低電平,使sda在該時鐘的高電平期間為穩(wěn)定的低電平。從器件的響應(yīng)信號結(jié)束后,sda線返回高電平,進入下一個傳送周期。

  i2c總線還具有廣播呼叫地址用于尋址總線上所有器件的功能。若一個器件不需要廣播呼叫尋址中所提供的任何數(shù)據(jù),則可以忽略該地址不作響應(yīng)。如果該器件需要廣播呼叫尋址中提供的數(shù)據(jù),則應(yīng)對地址

  i2c總線是一種用于ic器件之間連接的二線制總線。它通過sda(串行數(shù)據(jù)線)及scl(串行時鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識別每個器件:不管是單片機、存儲器、lcd驅(qū)動器還是鍵盤接口。

  1.i2c總線的基本結(jié)構(gòu) 采用i2c總線標準的單片機或ic器件,其內(nèi)部不僅有i2c接口電路,而且將內(nèi)部各單元電路按功能劃分為若干相對獨立的模塊,通過軟件尋址實現(xiàn)片選,減少了器件片選線的連接。cpu不僅能通過指令將某個功能單元電路掛靠或摘離總線,還可對該單元的工作狀況進行檢測,從而實現(xiàn)對硬件系統(tǒng)的既簡單又靈活的擴展與控制。i2c總線接口電路結(jié)構(gòu)如圖1所示。
2.雙向傳輸?shù)慕涌谔匦浴鹘y(tǒng)的單片機串行接口的發(fā)送和接收一般都各用一條線,如mcs51系列的txd和rxd,而i2c總線則根據(jù)器件的功能通過軟件程序使其可工作于發(fā)送或接收方式。當(dāng)某個器件向總線上發(fā)送信息時,它就是發(fā)送器(也叫主器件),而當(dāng)其從總線上接收信息時,又成為接收器(也叫從器件)。主器件用于啟動總線上傳送數(shù)據(jù)并產(chǎn)生時鐘以開放傳送的器件,此時任何被尋址的器件均被認為是從器件。i2c總線的控制完全由掛接在總線上的主器件送出的地址和數(shù)據(jù)決定。在總線上,既沒有中心機,也沒有優(yōu)先機。

  總線上主和從(即發(fā)送和接收)的關(guān)系不是一成不變的,而是取決于此時數(shù)據(jù)傳送的方向。sda和scl均為雙向i/o線,通過上拉電阻接正電源。當(dāng)總線空閑時,兩根線都是高電平。連接總線的器件的輸出級必須是集電極或漏極開路,以具有線“與”功能。i2c總線的數(shù)據(jù)傳送速率在標準工作方式下為100kbit/s,在快速方式下,最高傳送速率可達400kbit/s。

  3.i2c總線上的時鐘信號 在i2c總線上傳送信息時的時鐘同步信號是由掛接在scl時鐘線上的所有器件的邏輯“與”完成的。scl線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使scl線一直保持低電平,使scl線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響scl線的狀態(tài),于是這些器件將進入高電平等待的狀態(tài)。

  當(dāng)所有器件的時鐘信號都上跳為高電平時,低電平期結(jié)束,scl線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結(jié)束高電平期的器件又將scl線拉成低電平。這樣就在scl線上產(chǎn)生一個同步時鐘?梢,時鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。

  4.?dāng)?shù)據(jù)的傳送 在數(shù)據(jù)傳送過程中,必須確認數(shù)據(jù)傳送的開始和結(jié)束。在i2c總線技術(shù)規(guī)范中,開始和結(jié)束信號(也稱啟動和停止信號)的定義如圖2所示。當(dāng)時鐘線scl為高電平時,數(shù)據(jù)線sda由高電平跳變?yōu)榈碗娖蕉x為“開始”信號;當(dāng)scl線為高電平時,sda線發(fā)生低電平到高電平的跳變?yōu)椤敖Y(jié)束”信號。開始和結(jié)束信號都是由主器件產(chǎn)生。在開始信號以后,總線即被認為處于忙狀態(tài);在結(jié)束信號以后的一段時間內(nèi),總線被認為是空閑的。
i2c總線的數(shù)據(jù)傳送格式是:在i2c總線開始信號后,送出的第一個字節(jié)數(shù)據(jù)是用來選擇從器件地址的,其中前7位為地址碼,第8位為方向位(r/w)。方向位為“0”表示發(fā)送,即主器件把信息寫到所選擇的從器件;方向位為“1”表示主器件將從從器件讀信息。開始信號后,系統(tǒng)中的各個器件將自己的地址和主器件送到總線上的地址進行比較,如果與主器件發(fā)送到總線上的地址一致,則該器件即為被主器件尋址的器件,其接收信息還是發(fā)送信息則由第8位(r/w)確定。

  在i2c總線上每次傳送的數(shù)據(jù)字節(jié)數(shù)不限,但每一個字節(jié)必須為8位,而且每個傳送的字節(jié)后面必須跟一個認可位(第9位),也叫應(yīng)答位(ack)。數(shù)據(jù)的傳送過程如圖3所示。每次都是先傳最高位,通常從器件在接收到每個字節(jié)后都會作出響應(yīng),即釋放scl線返回高電平,準備接收下一個數(shù)據(jù)字節(jié),主器件可繼續(xù)傳送。如果從器件正在處理一個實時事件而不能接收數(shù)據(jù)時,(例如正在處理一個內(nèi)部中斷,在這個中斷處理完之前就不能接收i2c總線上的數(shù)據(jù)字節(jié))可以使時鐘scl線保持低電平,從器件必須使sda保持高電平,此時主器件產(chǎn)生1個結(jié)束信號,使傳送異常結(jié)束,迫使主器件處于等待狀態(tài)。當(dāng)從器件處理完畢時將釋放scl線,主器件繼續(xù)傳送。
當(dāng)主器件發(fā)送完一個字節(jié)的數(shù)據(jù)后,接著發(fā)出對應(yīng)于scl線上的一個時鐘(ack)認可位,在此時鐘內(nèi)主器件釋放sda線,一個字節(jié)傳送結(jié)束,而從器件的響應(yīng)信號將sda線拉成低電平,使sda在該時鐘的高電平期間為穩(wěn)定的低電平。從器件的響應(yīng)信號結(jié)束后,sda線返回高電平,進入下一個傳送周期。

  i2c總線還具有廣播呼叫地址用于尋址總線上所有器件的功能。若一個器件不需要廣播呼叫尋址中所提供的任何數(shù)據(jù),則可以忽略該地址不作響應(yīng)。如果該器件需要廣播呼叫尋址中提供的數(shù)據(jù),則應(yīng)對地址
相關(guān)IC型號
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!