藍(lán)橋杯單片機(jī)IIC總線協(xié)議及EEPROM AT24C02課件_第1頁(yè)
藍(lán)橋杯單片機(jī)IIC總線協(xié)議及EEPROM AT24C02課件_第2頁(yè)
藍(lán)橋杯單片機(jī)IIC總線協(xié)議及EEPROM AT24C02課件_第3頁(yè)
藍(lán)橋杯單片機(jī)IIC總線協(xié)議及EEPROM AT24C02課件_第4頁(yè)
藍(lán)橋杯單片機(jī)IIC總線協(xié)議及EEPROM AT24C02課件_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 I2C總線器件的擴(kuò)展總線器件的擴(kuò)展一、一、擴(kuò)展電路擴(kuò)展電路 基于IIC總線的E2PROM AT24C02特性特性 與與 400KHz IIC 總線兼容總線兼容 1.8 到到 6.0 伏工作電壓范圍伏工作電壓范圍 低功耗低功耗 CMOS 技術(shù)技術(shù) 寫保護(hù)功能寫保護(hù)功能 當(dāng)當(dāng) WP 為高電平時(shí)進(jìn)入寫保護(hù)狀態(tài)為高電平時(shí)進(jìn)入寫保護(hù)狀態(tài) 頁(yè)寫緩沖器頁(yè)寫緩沖器 自定時(shí)擦寫周期自定時(shí)擦寫周期 1,000,000 編程編程/擦除周期擦除周期 可保存數(shù)據(jù)可保存數(shù)據(jù) 100 年年 8 腳腳 DIP SOIC 或或 TSSOP 封裝封裝 溫度范圍溫度范圍 商業(yè)級(jí)商業(yè)級(jí) 工業(yè)級(jí)和汽車級(jí)工業(yè)級(jí)和汽車級(jí) 串行串行E2P

2、ROM典型產(chǎn)品典型產(chǎn)品 AT24C01:128字節(jié)(字節(jié)(1288位);位); AT24C02:256字節(jié)(字節(jié)(2568位);位);AT24C04:512字節(jié)(字節(jié)(5128位)位)AT24C08:1K字節(jié)(字節(jié)(1K8位);位);AT24C16:2K字節(jié)(字節(jié)(2K8位);位); ATMEL公司的公司的AT24C系列:系列: AT24C02引腳分布引腳分布WP 寫保護(hù)寫保護(hù) 如果如果WP 管腳連接到管腳連接到 Vcc 所有的內(nèi)容都被寫保護(hù)所有的內(nèi)容都被寫保護(hù),只能讀。當(dāng),只能讀。當(dāng) WP 管腳連接到管腳連接到Vss或懸空,允許器件進(jìn)行正常的讀或懸空,允許器件進(jìn)行正常的讀/寫操作。寫操作。A

3、T24C02讀寫時(shí)間周期讀寫時(shí)間周期 AT24WC01/02/04/08/16支持支持I2C總線數(shù)據(jù)傳送協(xié)議總線數(shù)據(jù)傳送協(xié)議和和I2C總線協(xié)議規(guī)定。總線協(xié)議規(guī)定。 任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器,任何任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器,任何從總線接收數(shù)據(jù)的器件為接收器。從總線接收數(shù)據(jù)的器件為接收器。 數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)的主器件控制的,主器件和從器件都可以作為發(fā)送器的主器件控制的,主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收發(fā)送或接收)的的模式,通過(guò)器件地址輸入

4、端模式,通過(guò)器件地址輸入端A0、A1和和A2可以實(shí)現(xiàn)將可以實(shí)現(xiàn)將最多最多8個(gè)個(gè)24WC01和和24WC02器件,器件,4個(gè)個(gè)24WC04器件器件(僅使用僅使用A1A2 地址管腳地址管腳),2個(gè)個(gè)24WC08器件器件(僅使用地址僅使用地址管腳管腳 A2 A0)和和 1個(gè)個(gè) 24WC16器件連接到總線上器件連接到總線上(所有所有地址管腳地址管腳 A0 A1 A2 都未用都未用)。AT24C02功能描述功能描述I2C總線協(xié)議總線協(xié)議1、只有在總線空閑時(shí)才允許啟動(dòng)數(shù)據(jù)傳送;、只有在總線空閑時(shí)才允許啟動(dòng)數(shù)據(jù)傳送;2、在數(shù)據(jù)傳送過(guò)程中,當(dāng)、在數(shù)據(jù)傳送過(guò)程中,當(dāng)SCL=1時(shí),數(shù)據(jù)線時(shí),數(shù)據(jù)線SDA必須保持必

5、須保持穩(wěn)定狀態(tài),不允許有跳變;穩(wěn)定狀態(tài),不允許有跳變;SCL=1時(shí),數(shù)據(jù)線時(shí),數(shù)據(jù)線SDA的任何電的任何電平變化將被看作總線的起始或停止信號(hào);平變化將被看作總線的起始或停止信號(hào);起始信號(hào)起始信號(hào) 時(shí)鐘線時(shí)鐘線SCL保持高電平期間,數(shù)據(jù)線保持高電平期間,數(shù)據(jù)線SDA電平從高到低電平從高到低的跳變作為的跳變作為I2C總線的起始信號(hào)??偩€的起始信號(hào)。 停止信號(hào)停止信號(hào) 時(shí)鐘線時(shí)鐘線SCL保持高電平期間,數(shù)據(jù)線保持高電平期間,數(shù)據(jù)線SDA電平從低到高的電平從低到高的跳變作為跳變作為I2C總線的停止信號(hào)總線的停止信號(hào) 器件尋址器件尋址1010A2A1A0 主器件通過(guò)發(fā)送一個(gè)起始信號(hào)啟動(dòng)發(fā)送過(guò)程,然后發(fā)送

6、它主器件通過(guò)發(fā)送一個(gè)起始信號(hào)啟動(dòng)發(fā)送過(guò)程,然后發(fā)送它所要尋址的從器件的地址:所要尋址的從器件的地址: 8 8位從器件地址的高位從器件地址的高4 4位固定為位固定為10101010,接下來(lái)的,接下來(lái)的3 3位位A2A1A0 A2A1A0 為器件的地址位,用來(lái)定義哪個(gè)器件以及器件的哪個(gè)部分被為器件的地址位,用來(lái)定義哪個(gè)器件以及器件的哪個(gè)部分被主器件訪問(wèn)。主器件訪問(wèn)。最低位作為讀寫控制位:最低位作為讀寫控制位: 1 1 表示對(duì)從器件進(jìn)行讀操作表示對(duì)從器件進(jìn)行讀操作 0 0 表示對(duì)從器件進(jìn)行寫操作表示對(duì)從器件進(jìn)行寫操作 在主器件發(fā)送起始信號(hào)和從器件地址字節(jié)后在主器件發(fā)送起始信號(hào)和從器件地址字節(jié)后24C

7、02監(jiān)視總線監(jiān)視總線并當(dāng)其地址與發(fā)送的從地址并當(dāng)其地址與發(fā)送的從地址相符時(shí)相符時(shí),響應(yīng)一個(gè)應(yīng)答信號(hào)響應(yīng)一個(gè)應(yīng)答信號(hào)(通過(guò)通過(guò)SDA線線),24C02根據(jù)讀寫控制位根據(jù)讀寫控制位(R/W)的狀態(tài)進(jìn)行讀或?qū)懖僮鞯臓顟B(tài)進(jìn)行讀或?qū)懖僮?W/R應(yīng)答信號(hào)應(yīng)答信號(hào) I2C總線數(shù)據(jù)傳送時(shí),每成功地傳送一個(gè)字節(jié)數(shù)據(jù)后,接總線數(shù)據(jù)傳送時(shí),每成功地傳送一個(gè)字節(jié)數(shù)據(jù)后,接收器都必須產(chǎn)生一個(gè)應(yīng)答信號(hào),收器都必須產(chǎn)生一個(gè)應(yīng)答信號(hào),應(yīng)答的器件在第應(yīng)答的器件在第9個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期時(shí),將時(shí),將SDA線拉低線拉低,表示其已收到一個(gè),表示其已收到一個(gè)8位數(shù)據(jù)。位數(shù)據(jù)。 24C02在接收到起始信號(hào)和從器件地址之后響應(yīng)一個(gè)應(yīng)答在接

8、收到起始信號(hào)和從器件地址之后響應(yīng)一個(gè)應(yīng)答信號(hào),如果器件已選擇了寫操作信號(hào),如果器件已選擇了寫操作,則在每接收一個(gè)則在每接收一個(gè)8位字節(jié)之位字節(jié)之后響應(yīng)一個(gè)應(yīng)答信號(hào);后響應(yīng)一個(gè)應(yīng)答信號(hào); 當(dāng)當(dāng)24C02工作于讀模式時(shí),在發(fā)送一個(gè)工作于讀模式時(shí),在發(fā)送一個(gè) 8 位數(shù)據(jù)后釋放位數(shù)據(jù)后釋放SDA線并監(jiān)視一個(gè)應(yīng)答信號(hào),一旦接收到應(yīng)答信號(hào),線并監(jiān)視一個(gè)應(yīng)答信號(hào),一旦接收到應(yīng)答信號(hào),24C02繼續(xù)發(fā)送數(shù)據(jù),如主器件沒(méi)有發(fā)送應(yīng)答信號(hào)器件停止傳送繼續(xù)發(fā)送數(shù)據(jù),如主器件沒(méi)有發(fā)送應(yīng)答信號(hào)器件停止傳送數(shù)據(jù)且等待一個(gè)停止信號(hào)。數(shù)據(jù)且等待一個(gè)停止信號(hào)。應(yīng)答時(shí)序應(yīng)答時(shí)序主機(jī)時(shí)鐘主機(jī)時(shí)鐘發(fā)送器輸出的數(shù)據(jù)發(fā)送器輸出的數(shù)據(jù)接收器

9、輸出的數(shù)據(jù)接收器輸出的數(shù)據(jù) (2)寫入過(guò)程)寫入過(guò)程 AT24C系列系列E2PROM芯片地址的固定部分為芯片地址的固定部分為1010,A2、A1、A0引腳接高、低電平后得到確定引腳接高、低電平后得到確定的的3位編碼。形成的位編碼。形成的7位編碼即為該器件的地址碼。位編碼即為該器件的地址碼。 單片機(jī)進(jìn)行寫操作時(shí),首先發(fā)送該器件的單片機(jī)進(jìn)行寫操作時(shí),首先發(fā)送該器件的7位地位地址碼和寫方向位址碼和寫方向位“0”(共(共8位,即一個(gè)字節(jié)),發(fā)位,即一個(gè)字節(jié)),發(fā)送完后釋放送完后釋放SDA線并在線并在SCL線上產(chǎn)生第線上產(chǎn)生第9個(gè)時(shí)鐘信個(gè)時(shí)鐘信號(hào)號(hào);被選中的存儲(chǔ)器器件在確認(rèn)是自己的地址后,在被選中的存儲(chǔ)

10、器器件在確認(rèn)是自己的地址后,在SDA線上產(chǎn)生一個(gè)應(yīng)答信號(hào)作為相應(yīng),單片機(jī)收到線上產(chǎn)生一個(gè)應(yīng)答信號(hào)作為相應(yīng),單片機(jī)收到應(yīng)答后就可以傳送數(shù)據(jù)了。應(yīng)答后就可以傳送數(shù)據(jù)了。 傳送數(shù)據(jù)時(shí),單片機(jī)首先發(fā)送一個(gè)字節(jié)的被寫入器件的傳送數(shù)據(jù)時(shí),單片機(jī)首先發(fā)送一個(gè)字節(jié)的被寫入器件的存儲(chǔ)區(qū)的首地址,收到存儲(chǔ)器器件的應(yīng)答后,單片機(jī)就逐個(gè)存儲(chǔ)區(qū)的首地址,收到存儲(chǔ)器器件的應(yīng)答后,單片機(jī)就逐個(gè)發(fā)送各數(shù)據(jù)字節(jié),但每發(fā)送一個(gè)字節(jié)后都要等待應(yīng)答。發(fā)送各數(shù)據(jù)字節(jié),但每發(fā)送一個(gè)字節(jié)后都要等待應(yīng)答。 AT24C系列器件片內(nèi)地址在接收到每一個(gè)數(shù)據(jù)字節(jié)地址后系列器件片內(nèi)地址在接收到每一個(gè)數(shù)據(jù)字節(jié)地址后自動(dòng)加自動(dòng)加1,在芯片的,在芯片的“一

11、次裝載字節(jié)數(shù)一次裝載字節(jié)數(shù)”(不同芯片字節(jié)數(shù)不(不同芯片字節(jié)數(shù)不同)限度內(nèi),只需輸入首地址。裝載字節(jié)數(shù)超過(guò)芯片的同)限度內(nèi),只需輸入首地址。裝載字節(jié)數(shù)超過(guò)芯片的“一一次裝載字節(jié)數(shù)次裝載字節(jié)數(shù)”時(shí),數(shù)據(jù)地址將時(shí),數(shù)據(jù)地址將“上卷上卷”,前面的數(shù)據(jù)將被,前面的數(shù)據(jù)將被覆蓋。覆蓋。 當(dāng)要寫入的數(shù)據(jù)傳送完后,單片機(jī)應(yīng)發(fā)出終止信號(hào)以結(jié)束當(dāng)要寫入的數(shù)據(jù)傳送完后,單片機(jī)應(yīng)發(fā)出終止信號(hào)以結(jié)束寫入操作。寫入寫入操作。寫入n個(gè)字節(jié)的數(shù)據(jù)格式個(gè)字節(jié)的數(shù)據(jù)格式 :S1010 xxx0A字節(jié)首地址字節(jié)首地址AData1AData2A AData nAP寫入時(shí)序?qū)懭霑r(shí)序S器件地址器件地址+0A字節(jié)首地址字節(jié)首地址ADat

12、a1AData2A AData nAP頁(yè)寫頁(yè)寫 頁(yè)寫操作的啟動(dòng)和字節(jié)寫一樣,不同在于傳送了一字節(jié)頁(yè)寫操作的啟動(dòng)和字節(jié)寫一樣,不同在于傳送了一字節(jié)數(shù)據(jù)后并不產(chǎn)生停止信號(hào),主器件被允許再發(fā)送數(shù)據(jù)后并不產(chǎn)生停止信號(hào),主器件被允許再發(fā)送 P=15個(gè)額個(gè)額外的字節(jié);外的字節(jié); 每發(fā)送一個(gè)字節(jié)數(shù)據(jù)后每發(fā)送一個(gè)字節(jié)數(shù)據(jù)后24C02產(chǎn)生一個(gè)應(yīng)答位并將字節(jié)產(chǎn)生一個(gè)應(yīng)答位并將字節(jié)地址低位加地址低位加 1 高位保持不變高位保持不變 ,如果在發(fā)送停止信號(hào)之前主,如果在發(fā)送停止信號(hào)之前主器件發(fā)送超過(guò)器件發(fā)送超過(guò)P+1個(gè)字節(jié)個(gè)字節(jié) 地址計(jì)數(shù)器將自動(dòng)翻轉(zhuǎn),先前寫地址計(jì)數(shù)器將自動(dòng)翻轉(zhuǎn),先前寫入的數(shù)據(jù)被覆蓋。入的數(shù)據(jù)被覆蓋。2

13、4C02可以一次寫入可以一次寫入 16 個(gè)字節(jié)的數(shù)據(jù)個(gè)字節(jié)的數(shù)據(jù) 接收到接收到P+1字節(jié)數(shù)據(jù)和主器件發(fā)送的停止信號(hào)后字節(jié)數(shù)據(jù)和主器件發(fā)送的停止信號(hào)后 24C02 啟動(dòng)內(nèi)部寫周期將數(shù)據(jù)寫到數(shù)據(jù)區(qū),所有接收的數(shù)據(jù)在一啟動(dòng)內(nèi)部寫周期將數(shù)據(jù)寫到數(shù)據(jù)區(qū),所有接收的數(shù)據(jù)在一個(gè)寫周期內(nèi)寫入個(gè)寫周期內(nèi)寫入24C02。頁(yè)寫時(shí)序頁(yè)寫時(shí)序S1010XXX0A字節(jié)首地址字節(jié)首地址AData1AData2A AData nAP 寫保護(hù)操作特性可使用戶避免由于不當(dāng)操作而造成對(duì)存寫保護(hù)操作特性可使用戶避免由于不當(dāng)操作而造成對(duì)存儲(chǔ)區(qū)域內(nèi)部數(shù)據(jù)的改寫。儲(chǔ)區(qū)域內(nèi)部數(shù)據(jù)的改寫。 當(dāng)當(dāng) WP管腳接高時(shí),整個(gè)寄存器區(qū)全部被保護(hù)起來(lái)而變

14、管腳接高時(shí),整個(gè)寄存器區(qū)全部被保護(hù)起來(lái)而變?yōu)橹豢勺x??;為只可讀?。?4C02可以接收從器件地址和字節(jié)地址,但是可以接收從器件地址和字節(jié)地址,但是裝置在接收到第一個(gè)數(shù)據(jù)字節(jié)后不發(fā)送應(yīng)答信號(hào)從而避免寄裝置在接收到第一個(gè)數(shù)據(jù)字節(jié)后不發(fā)送應(yīng)答信號(hào)從而避免寄存器區(qū)域被編程改寫存器區(qū)域被編程改寫 。寫保護(hù)寫保護(hù)讀操作讀操作 24C02 讀操作的初始化方式和寫操作時(shí)一樣讀操作的初始化方式和寫操作時(shí)一樣,僅把僅把 位置為位置為 1 ,有三種不同的讀操作方式:,有三種不同的讀操作方式:立即地址讀立即地址讀、選擇選擇讀讀和和連續(xù)讀連續(xù)讀。 1010A2A1A0W/RW/R立即地址讀立即地址讀 AT24C02的地址

15、計(jì)數(shù)器內(nèi)容為最后操作字節(jié)的地址的地址計(jì)數(shù)器內(nèi)容為最后操作字節(jié)的地址加加 1。也就是說(shuō),如果上次讀。也就是說(shuō),如果上次讀/寫的操作地址為寫的操作地址為 N,則立,則立即讀的地址從地址即讀的地址從地址 N+1開始。如果開始。如果 N=E(這里對(duì)這里對(duì)24WC01, E=127;對(duì);對(duì) 24WC02,E=255;對(duì);對(duì)24WC04,E=511;對(duì);對(duì)24WC08,E=1023;對(duì);對(duì) 24WC16,E=2047)則計(jì)數(shù)器將則計(jì)數(shù)器將翻轉(zhuǎn)到翻轉(zhuǎn)到 0 且繼續(xù)輸出數(shù)據(jù)。且繼續(xù)輸出數(shù)據(jù)。 AT24C02 接收到從器件地址信號(hào)后接收到從器件地址信號(hào)后R/W 位置位置 1,它首,它首先發(fā)送一個(gè)應(yīng)答信號(hào),然后發(fā)

16、送一個(gè)先發(fā)送一個(gè)應(yīng)答信號(hào),然后發(fā)送一個(gè)8 位字節(jié)數(shù)據(jù),主器位字節(jié)數(shù)據(jù),主器件不需發(fā)送一個(gè)應(yīng)答信號(hào),但要產(chǎn)生一個(gè)停止信號(hào)。件不需發(fā)送一個(gè)應(yīng)答信號(hào),但要產(chǎn)生一個(gè)停止信號(hào)。 立即地址讀時(shí)序立即地址讀時(shí)序選擇性讀選擇性讀 選擇性讀操作允許主器件對(duì)寄存器的任意字節(jié)進(jìn)行讀選擇性讀操作允許主器件對(duì)寄存器的任意字節(jié)進(jìn)行讀操作,主器件首先通過(guò)發(fā)送操作,主器件首先通過(guò)發(fā)送起始信號(hào)起始信號(hào)、從器件地址從器件地址和和它想它想讀取的字節(jié)數(shù)據(jù)的地址讀取的字節(jié)數(shù)據(jù)的地址執(zhí)行一個(gè)偽寫操作。執(zhí)行一個(gè)偽寫操作。 在在24C02應(yīng)答之后,主器件重新發(fā)送起始信號(hào)和從器件應(yīng)答之后,主器件重新發(fā)送起始信號(hào)和從器件地址,此時(shí)地址,此時(shí)R/

17、W位置位置1,24C02響應(yīng)并發(fā)送應(yīng)答信號(hào),然后響應(yīng)并發(fā)送應(yīng)答信號(hào),然后輸出所要求的一個(gè)輸出所要求的一個(gè)8 位字節(jié)數(shù)據(jù),主器件不發(fā)送應(yīng)答信號(hào)位字節(jié)數(shù)據(jù),主器件不發(fā)送應(yīng)答信號(hào)但產(chǎn)生一個(gè)停止信號(hào)但產(chǎn)生一個(gè)停止信號(hào) 。選擇性讀時(shí)序選擇性讀時(shí)序 連續(xù)讀連續(xù)讀 連續(xù)讀操作可通過(guò)立即讀或選擇性讀操作啟動(dòng),在連續(xù)讀操作可通過(guò)立即讀或選擇性讀操作啟動(dòng),在24C02發(fā)送完一個(gè)發(fā)送完一個(gè) 8 位字節(jié)數(shù)據(jù)后,主器件產(chǎn)生一個(gè)應(yīng)答信號(hào)來(lái)響位字節(jié)數(shù)據(jù)后,主器件產(chǎn)生一個(gè)應(yīng)答信號(hào)來(lái)響應(yīng),告知應(yīng),告知24C02主器件要求更多的數(shù)據(jù),對(duì)應(yīng)每個(gè)主機(jī)產(chǎn)生的主器件要求更多的數(shù)據(jù),對(duì)應(yīng)每個(gè)主機(jī)產(chǎn)生的應(yīng)答信號(hào),應(yīng)答信號(hào),24C02將發(fā)送一

18、個(gè)將發(fā)送一個(gè) 8 位數(shù)據(jù)字節(jié),當(dāng)主器件不發(fā)位數(shù)據(jù)字節(jié),當(dāng)主器件不發(fā)送應(yīng)答信號(hào)而發(fā)送停止位時(shí)結(jié)束此操作。送應(yīng)答信號(hào)而發(fā)送停止位時(shí)結(jié)束此操作。 從從24C02輸出的數(shù)據(jù)按順序由輸出的數(shù)據(jù)按順序由 N 到到 N+1 輸出,讀操作時(shí),輸出,讀操作時(shí),地址計(jì)數(shù)器在地址計(jì)數(shù)器在24C02 整個(gè)地址內(nèi)增加,這樣整個(gè)寄存器區(qū)域整個(gè)地址內(nèi)增加,這樣整個(gè)寄存器區(qū)域在可在一個(gè)讀操作內(nèi)全部讀出。當(dāng)讀取的字節(jié)超過(guò)在可在一個(gè)讀操作內(nèi)全部讀出。當(dāng)讀取的字節(jié)超過(guò)E (這里對(duì)這里對(duì)24WC01, E=127;對(duì);對(duì) 24WC02,E=255;對(duì);對(duì)24WC04,E=511;對(duì);對(duì)24WC08,E=1023;對(duì);對(duì) 24WC16

19、,E=2047),計(jì),計(jì)數(shù)器將翻轉(zhuǎn)到零并繼續(xù)輸出數(shù)據(jù)字節(jié)。數(shù)器將翻轉(zhuǎn)到零并繼續(xù)輸出數(shù)據(jù)字節(jié)。 連續(xù)讀時(shí)序連續(xù)讀時(shí)序 小結(jié)讀出過(guò)程小結(jié)讀出過(guò)程 單片機(jī)先發(fā)送該器件的單片機(jī)先發(fā)送該器件的7位地址碼和寫方向位位地址碼和寫方向位“0”(“偽偽寫寫”),),發(fā)送完后釋放發(fā)送完后釋放SDA線并在線并在SCL線上產(chǎn)生第線上產(chǎn)生第9個(gè)時(shí)鐘信個(gè)時(shí)鐘信號(hào)。號(hào)。被選中的存儲(chǔ)器器件在確認(rèn)是自己的地址后,在被選中的存儲(chǔ)器器件在確認(rèn)是自己的地址后,在SDA線線上產(chǎn)生一個(gè)應(yīng)答信號(hào)作為回應(yīng)。上產(chǎn)生一個(gè)應(yīng)答信號(hào)作為回應(yīng)。 然后,再發(fā)一個(gè)字節(jié)的要讀出器件的存儲(chǔ)區(qū)的首地址,收然后,再發(fā)一個(gè)字節(jié)的要讀出器件的存儲(chǔ)區(qū)的首地址,收到應(yīng)答

20、后,單片機(jī)要重復(fù)一次起始信號(hào)并發(fā)出器件地址和讀到應(yīng)答后,單片機(jī)要重復(fù)一次起始信號(hào)并發(fā)出器件地址和讀方向位(方向位(“1”),收到器件應(yīng)答后就可以讀出數(shù)據(jù)字節(jié),每),收到器件應(yīng)答后就可以讀出數(shù)據(jù)字節(jié),每讀出一個(gè)字節(jié),單片機(jī)都要回復(fù)應(yīng)答信號(hào)。當(dāng)最后一個(gè)字節(jié)讀出一個(gè)字節(jié),單片機(jī)都要回復(fù)應(yīng)答信號(hào)。當(dāng)最后一個(gè)字節(jié)數(shù)據(jù)讀完后,單片機(jī)應(yīng)返回以數(shù)據(jù)讀完后,單片機(jī)應(yīng)返回以“非應(yīng)答非應(yīng)答”(高電平),并發(fā)(高電平),并發(fā)出終止信號(hào)以結(jié)束讀出操作。出終止信號(hào)以結(jié)束讀出操作。 S1010XXX0A字節(jié)首地址字節(jié)首地址AS1010XXX1AData1A AData nAP大賽大賽24C02部分電路圖部分電路圖 sbit

21、 SCL = P20;sbit SDA = P21;void iic_start(void) SDA = 1; _nop_(); SCL = 1; somenop; SDA = 0; somenop; SCL = 0;#define somenop _nop_();_nop_();_nop_();_nop_();_nop_();起始信號(hào)起始信號(hào)void iic_stop(void) SDA = 0; _nop_(); SCL = 1; somenop; SDA = 1; somenop; SCL=0;終止信號(hào)終止信號(hào)void iic_ack(bit ackbit) if(ackbit) SDA

22、 = 0; else SDA = 1; somenop; SCL = 1; somenop; SCL = 0; SDA = 1; 單片機(jī)向單片機(jī)向24C02的應(yīng)答信號(hào)的應(yīng)答信號(hào)單片機(jī)單片機(jī)24C02bit iic_waitack(void) SDA = 1; somenop; SCL = 1; somenop; if(SDA) SCL = 0;iic_stop();return 0; else SCL = 0;return 1; 單片機(jī)等待來(lái)自單片機(jī)等待來(lái)自24C02的應(yīng)答信號(hào)的應(yīng)答信號(hào)單片機(jī)單片機(jī)24C02void iic_sendbyte(unsigned char byt) unsign

23、ed char i; for(i=0;i8;i+) if(byt&0 x80) SDA = 1;else SDA = 0;somenop;SCL = 1;byt = 1;somenop; SCL = 0; 單片機(jī)向單片機(jī)向24C02發(fā)送一個(gè)字節(jié)發(fā)送一個(gè)字節(jié)unsigned char iic_recbyte(void) unsigned char da; unsigned char i; for(i=0;i8;i+) SCL = 1;somenop;da = 1;if(SDA) da |= 0 x01;SCL = 0;somenop; return da;單片機(jī)從單片機(jī)從24C02讀取一

24、個(gè)字節(jié)讀取一個(gè)字節(jié)void wrbyte_24c02(unsigned char add,unsigned char dat) / Device Address 1010 000 R/W iic_start(); iic_sendbyte(0 xa0); iic_waitack(); iic_sendbyte(add); iic_waitack(); iic_sendbyte(dat); iic_waitack(); iic_stop(); delay(10);S1010XXX0A字節(jié)首地址字節(jié)首地址AData1AData2A AData nAP單片機(jī)向單片機(jī)向24C02的的add地址上,寫入

25、地址上,寫入char型的數(shù)型的數(shù)datunsigned char rdbyte_24c02(unsigned char add) / Device Address 1100 000 R/W unsigned char da; iic_start(); iic_sendbyte(0 xa0); iic_waitack(); iic_sendbyte(add); iic_waitack(); iic_start(); iic_sendbyte(0 xa1); iic_waitack(); da = iic_recbyte(); iic_ack(0); iic_stop(); return da;S

26、1010XXX0A字節(jié)首地址字節(jié)首地址AS1010XXX1AData1A AData nAP單片機(jī)從單片機(jī)從24C02的的add地址上讀取一個(gè)數(shù)地址上讀取一個(gè)數(shù)temp = rdbyte_24c02(0 x00);/從從24C02的的0 x00地址上讀取一個(gè)字節(jié)到地址上讀取一個(gè)字節(jié)到temp中中主程序調(diào)用主程序調(diào)用 wrbyte_24c02(0 x00,a0);/向向24C02的的0 x00地址寫入地址寫入a0的內(nèi)容的內(nèi)容void wrbyte_24c02(uchar add, uchar dat0, uchar dat1,) / Device Address 1010 000 R/W iic_start(); iic_sendbyte(0 xa0); iic_waitack(); iic_sendbyte(add); iic_waitack(); iic_sendbyte(dat0); iic_waitack(); iic_sendbyte(dat1); iic_waitack(); iic_stop(); delay(10);S1010XXX0A字節(jié)首地址字節(jié)首地址AData1AData2A AData nAP單片機(jī)向單片機(jī)向24C02的的add開始的地址上,依次寫入多個(gè)開始的地址上,依次

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論