




免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
實(shí)驗(yàn)三 I2C總線(xiàn)串行E2PROM 24C02A實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康呐c要求 了解I2C總線(xiàn)讀寫(xiě)方式;掌握I2C總線(xiàn)的讀寫(xiě)操作和對(duì)24C02A進(jìn)行數(shù)據(jù)讀寫(xiě)二、實(shí)驗(yàn)設(shè)備 STAR系列實(shí)驗(yàn)儀一套、PC機(jī)一臺(tái)。三、實(shí)驗(yàn)內(nèi)容 1、24C02A: (1) 24C02是I2C總線(xiàn)(二線(xiàn)串行接口)的串行EEPROM,容量4K Bit。 (2)分為字節(jié)寫(xiě)和頁(yè)寫(xiě)(8字節(jié))模式,可以單字節(jié)讀取或連續(xù)讀出數(shù)據(jù)。 2實(shí)驗(yàn)過(guò)程 (1)寫(xiě)滿(mǎn)24C02A內(nèi)部整個(gè)4K bit串行EEPROM,然后檢驗(yàn)寫(xiě)入數(shù)據(jù)是否正確并顯示結(jié)果,正確;點(diǎn)亮8個(gè)紅色發(fā)光管(G6區(qū)),錯(cuò)誤;熄滅8個(gè)紅色發(fā)光管 (2)起始寫(xiě)入地址為OOH,起始寫(xiě)入數(shù)據(jù)為OOH,之后地址與數(shù)據(jù)都以+l遞增,直到寫(xiě)滿(mǎn)整個(gè)EEPROM四、實(shí)驗(yàn)原理圖五、實(shí)驗(yàn)步驟 1、主機(jī)連線(xiàn)說(shuō)明; ;E4區(qū);SDA l A3區(qū);P3.2(INTO) iE4區(qū);SCL 一;A3區(qū);P3.3(INTl) !G6區(qū);JP65 一 A3區(qū);JP51 (Pl) 2、運(yùn)行程序;向24C02A寫(xiě)入數(shù)據(jù),然后讀出數(shù)據(jù)檢驗(yàn),檢驗(yàn)正確,8個(gè)發(fā)光管(G6區(qū))全亮;檢驗(yàn)錯(cuò)誤,8個(gè)發(fā)光管(G6醫(yī))全滅六、演示程序(完整程序見(jiàn)目錄24C02A);l、24C02A子程序(24C02A. ASM)SDA BIT P3.2 ;數(shù)據(jù)傳輸口 SCL BIT P3.3 ;時(shí)鐘;24C02的片選地址;100H A24C02_WRITE EQU OA8H ;寫(xiě)指令 A24C02_READ EQU OA9H ;讀指令;初始化A24C02_INIT; SETB SCL ;將SCL,SDA置位,釋放IIC總線(xiàn) SETB SDA RET;寫(xiě)操作,分字節(jié)寫(xiě)和頁(yè)寫(xiě)模式;字節(jié)寫(xiě),一次寫(xiě)入一個(gè)字節(jié)數(shù)據(jù),A-寫(xiě)入地址,B-數(shù)據(jù)Write_Byte; PUSH ACC ;A中地址壓棧 MOV A,#A24C02_WRITE ;寫(xiě)操作指令 LCALL Start ;開(kāi)始信號(hào) LCALL Write_8bits ;寫(xiě)入8位數(shù)據(jù) LCALL Acknowledge ;查詢(xún)接收端應(yīng)答信號(hào) POP ACC ;寫(xiě)入A中地址 LCALL Write_8bits LCALL Acknowledge MOV A,B ;寫(xiě)入B中數(shù)據(jù) LCALL Write_8bits LCALL Acknowledge LCALL Stop ;結(jié)束信號(hào) LCALL AckPolling ;等待寫(xiě)操作完成 RET;頁(yè)寫(xiě),一次寫(xiě)入8個(gè)字節(jié)數(shù)據(jù),A中存放起始寫(xiě)入地址,RO中存放數(shù)據(jù)首地址Write_Page: PUSH 07H MOV R7, #8 PUSH ACC ;A中地址壓棧 MOV A,#A24C02_WRITE ;寫(xiě)操作指令 LCALL Start ;開(kāi)始信號(hào) LCALL Write_8bits ;寫(xiě)入8位數(shù)據(jù) LCALL Acknowledge ;查詢(xún)接收端應(yīng)答倍號(hào) POP ACC ;寫(xiě)入A中地址 LCALL Write_8bits LCALL Acknowledge PUSH ACCWrite_Page_l: MOV A,R0 ;緩存區(qū)數(shù)據(jù)逐一寫(xiě)入 LCALL Write_8bits LCALL Acknowledge INC RO DJNZ R7, Write_Page_l ;寫(xiě)8次 LCALL Stop ;結(jié)束信號(hào) CLR A LCALL AckPolling ;等待寫(xiě)操作完成 POP ACC POP 07H RET;等待寫(xiě)操作完成AckPolling; MOV A,#A24C02_Write ;寫(xiě)操作指令 LCALL Start ;開(kāi)始信號(hào) LCALL Write_8bits SETB SDA ;從機(jī)應(yīng)答 SETB SCL ;應(yīng)答占用一個(gè)脈沖 LCALL Delay_Time JB SDA,AckPolling ;接收端應(yīng)答標(biāo)志;將SDA置低 CLR SCL LCALL Stop ;停止信號(hào) RET;讀操作,分為字節(jié)讀和連續(xù)讀取操作;字節(jié)讀,一次讀取一個(gè)字節(jié),A一讀取地址Read_Byte; PUSH ACC ;A中地址壓棧 LCALL Start ;開(kāi)始信號(hào) MOV A,#A24C02_ Write ;寫(xiě)操作指令 LCALL Write_8bits LCALL Acknowledge POP ACC 寫(xiě)入A中地址 LCALL Write_8bits LCALL Acknowledge ;立即讀,讀取當(dāng)前內(nèi)部地址的數(shù)據(jù),一個(gè)字節(jié) Read_Current; LCALL Start ;開(kāi)始信號(hào),下面讀取數(shù)據(jù) MOV A,#A24C02_Read ;讀操作指令 LCALL Write_8bits LCALL Acknowledge LCALL Read_8bits 讀取數(shù)據(jù),放在A中 LCALL Stop ;停止信號(hào) RET ;連續(xù)讀取n個(gè)教據(jù),A-讀取首地址,B一存放讀取數(shù)據(jù)個(gè)數(shù) ;RO-緩沖區(qū) Read_Sequence: , PUSH 07H PUSH ACC DEC B MOV R7,B ;B中存放讀取數(shù)據(jù)個(gè)數(shù) LCALL Start ;開(kāi)始信號(hào) MOV A,#A24C02_Write ;寫(xiě)操作指令 LCALL Write_8bits LCALL Acknowledge POP ACC LCALL Write_8bits LCALL Acknowledge LCALL Start ;開(kāi)始信號(hào),下面讀取數(shù)據(jù) MOV A,#A24C02_Read ;讀操作指令 LCALL Write_8bits LCALL Acknowledge Read_Sequence_l: LCALL Read_8bits LCALL MasterACK MOV R0,A ;將數(shù)據(jù)存到RO指向的RAM中 INC RO DJNZ R7, Read_Sequence_l LCALL Read_8bits ;最后一次讀無(wú)應(yīng)答 MOV R0, A LCALL Stop ;停止信號(hào) POP 07H Read_Sequence_2; RET ;寫(xiě)入8位數(shù)據(jù) Write_8bits: PUSH 07H MOV R7, #8 Write_8bits_l: RLC A CLR SCL;數(shù)據(jù)在SCL為低時(shí)SDA上的數(shù)據(jù)可以改變,此時(shí)送上欲寫(xiě)數(shù)據(jù) LCALL Delay_Time ;延時(shí) MOV SDA,C SETB SCL LCALL Delay_Time DJNZ R7, Write_8bit s_l CLR SCL POP 07H RET;讀取8位數(shù)據(jù)Read_8bits: PUSH 07H MOV R7, #8Read_8bits_l: CLR SCL LCALL Delay_Time SETB SCL ;高電平讀出數(shù)據(jù) MOV CSDA RLC A DJNZ R7, Read_8bit s_l CLR SCL POP 07H RET;開(kāi)始信號(hào)Start: SETB SDA;I2C總線(xiàn)操作開(kāi)始信號(hào);SCL為高時(shí),SDA由高一低 SETB SCL LCALL Delay_Time CLR SDA LCALL Delay_Time RET ;結(jié)束信號(hào)Stop: CLR SDA;I2C總線(xiàn)操作結(jié)束信號(hào);SCL為高時(shí),SDA由低一高 SETB SCL LCALL Delay_Time SETB SDA 結(jié)束操作,將SCL、SDA置高,釋放總線(xiàn) LCALL Delay_Time RET;應(yīng)答查詢(xún);從機(jī)應(yīng)答Acknowledge: SETB SDA ;從機(jī)應(yīng)答 SETB SCL ;應(yīng)答占用一個(gè)脈沖 LCALL Delay_Time JB SDA,$ ;接收端應(yīng)答標(biāo)志;將SDA置低 CLR SCL RET;主機(jī)應(yīng)答MasterACK: CLR SDA ;數(shù)據(jù)線(xiàn)SDA清O應(yīng)答 SETB SCL 產(chǎn)生一個(gè)脈沖令從機(jī)接收到應(yīng)答 LCALL Delay_Time CLR SCL SETB SDA 必須置高數(shù)據(jù) RET;延時(shí)Delay_Time; RET END ;2、主程序(MAIN. ASM) ;寫(xiě)入數(shù)據(jù),256字節(jié)串行EEPROM順序?qū)懭隣OH-OFFH A24C02_Write: MOV R7,#32 ;32次頁(yè)寫(xiě),每次頁(yè)寫(xiě)寫(xiě)入8個(gè)字節(jié),共256個(gè)字節(jié) MOV R3,#OOH 寫(xiě)入首地址 MOV R2,#VERIFYDATA ;起始寫(xiě)入數(shù)據(jù) A24C02_Write_l: MOV RO,#buffer ;寫(xiě)入數(shù)據(jù)先放在buffer (30H開(kāi)始的內(nèi)部RAM) A24C02_Write_2: MOV RO, 02H INC RO INC R2 CJNE RO#buffer+8,A24C02_Write_2;一頁(yè)寫(xiě)入8個(gè)字節(jié) MOV RO,#buffer MOV A,R3 LCALL Write_Page MOV A,R3 ADD A,#8 MOV R3,A DJNZ R7,A24C02_Write_l RET ;檢驗(yàn)數(shù)據(jù),讀出數(shù)據(jù)與寫(xiě)入數(shù)據(jù)一一對(duì)應(yīng)相比較,檢驗(yàn)寫(xiě)入是否正確MOV R7,#OFFH ;讀取整個(gè)EEPROM內(nèi)的數(shù)據(jù),256個(gè)字節(jié) MOV Rl#buffer MOV R2,#VERIFYDATA ;數(shù)據(jù)檢驗(yàn) MOV B,#OOH ;檢驗(yàn)EEPROM起始數(shù)據(jù)地址 A24C02_Verify_l: MOV A,B LCALL Read_Byte 讀取數(shù)據(jù) XCH ARl CJNE A,#buffer+30H,$+3 ;寫(xiě)入片內(nèi)RAM,超過(guò)30H個(gè)字節(jié),停止寫(xiě)入 XCH A,Rl JNC A24C02_Verify_3 MOV Rl,A ;讀出的數(shù)據(jù)順序?qū)懭肫瑑?nèi)RAM,便于檢
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單人住宿改造方案(3篇)
- 公司疫情防御管理制度
- 廠(chǎng)內(nèi)特種機(jī)械管理制度
- 工廠(chǎng)改造防塵方案(3篇)
- 推銷(xiāo)計(jì)劃方案文案(3篇)
- 工地現(xiàn)場(chǎng)垃圾管理制度
- 華為軟件資產(chǎn)管理制度
- DB62T 4316-2021 岷山貓尾草規(guī)范
- DB62T 4462-2021 小麥品種 蘭天33號(hào)
- 小型活動(dòng)安保方案(3篇)
- 2025年高考政治搶押秘籍(江蘇專(zhuān)用)時(shí)政熱點(diǎn)04哪吒2(學(xué)生版+解析)
- 廣東省深圳市2025年中考模擬歷史試題四套附參考答案
- 粵語(yǔ)知識(shí)測(cè)試題及答案
- 2025年北京市東城區(qū)初三語(yǔ)文一模作文《根基》寫(xiě)作指導(dǎo)+范文
- 太陽(yáng)能光伏發(fā)電系統(tǒng)多目標(biāo)容量?jī)?yōu)化配置技術(shù)研究
- 中央2024年中國(guó)合格評(píng)定國(guó)家認(rèn)可中心招聘筆試歷年參考題庫(kù)附帶答案詳解
- 2025年高考化學(xué)考試易錯(cuò)題易錯(cuò)類(lèi)型18物質(zhì)的分離、提純與鑒別(7大易錯(cuò)點(diǎn))(學(xué)生版+解析)
- 內(nèi)蒙古榮信化工有限公司招聘筆試題庫(kù)2025
- 美容外科概論試題及答案
- 加工風(fēng)管合同樣本
- 2025-2030中國(guó)電動(dòng)自行車(chē)充電樁行業(yè)市場(chǎng)深度分析及發(fā)展前景與投資研究報(bào)告
評(píng)論
0/150
提交評(píng)論