




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、應(yīng)廣單片機(jī)讀寫24C02程序代碼#include extern. h#include ,zmain. h f 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I I I I I I 1 I I 1 /t f w vVw vTw vVw W VBW VgW VlW vaw vVw vTw vVw W VBW VgW VlW vaw vVw vTw vVw W VBW VgW VlW vaw vVw vTw vVw W VBW VgW VlW vaw vVw vTw vVw W
2、VBW VgW VlW vaw vVw vTw vVw W VBW VgW VlW vaw VBW vTw/?0aI2C?0?0I2C_SDA equ pb. 2I2C_SCL equ pb. 0I2C_SDA_DIR equ pbc. 2I2C_SCL_DIR equ pbc. 0I2C_L0NG_DLY equ 50I2C_SH0RT_DLY equ 20I2C_SDA_HIGH equ setl I2C.SDA I2C_SDA_L0W equ setO I2C.SDAI2C_SCL_HIGH equ setl I2C.SCL I2C_SCL_L0W equ setO I2C.SCLI2C
3、 SDA OUTPUT equ setl I2C SDA DIR I2C SDA INPUT equ setO I2C SDA DIRI2C SCL OUTPUT equ setl I2C SCL DIR I2C SCL INPUT equ setO I2C SCL DIR /?0aI2C?aA?uchar i2c_rw_addr; /?AD?M0O? uchar i2c_rw_byte; /?AD?fiy?Y uchar i2c_rw_cmd; /?AD?MAJ?t)M0O? uchar i2c_rw_temp; /?AD?y?10D?a?aA? uchar i2c_rw_cnt; /?AD
4、?y?tOD?a?aA?/?uuSTARTDAAi2c_start:I2C SDA OUTPUTI2C_SCL_0UTPUTI2C_SDA_HIGHdelay I2C_L0NG_DLYI2C_SCL_HIGHdelay I2C_L0NG_DLYI2C_SDA_L0Wdelay I2C_L0NG_DLYI2C_SCL_L0Wdelay I2C_L0NG_DLY ret/?ufiiiSTOPDA0 A/i2c_stop:I2C_SCL_L0Wdelay I2C_L0NG_DLYI2C_SDA_L0Wdelay I2C_L0NG_DLYI2C_SCL_HIGHdelay I2C_L0NG_DLYI2
5、C_SDA_HIGHdelay I2C_L0NG_DLY ret/?1?QSALVE ACKDAoA /i2c_slave_ack:/dont check ACKI2C_SDA_INPUTdelay I2C_SH0RT_DLYI2C_SCL_HIGHdelay I2C_SH0RT_DLYI2C_SCL_LOWdelay I2C_SH0RT_DLYI2C_SDA_0UTPUTI2C_SDA_L0Wdelay I2C_SH0RT_DLYret/餡?6MASTER ACKDAA /i2c_master_ack:I2C_SDA_0UTPUTI2C_SDA_L0Wdelay I2C_SH0RT_DLYI
6、2C_SCL_HIGHdelay I2C_SH0RT_DLYI2C_SCL_LOWdelay I2C_SH0RT_DLYret/骼?6MASTER NACKDAoA /i2c_master_nack:I2C_SDA_0UTPUTI2C_SDA_HIGHdelay I2C_SH0RT_DLYI2C_SCL_HIGHdelay I2C_SH0RT_DLYI2C_SCL_L0Wdelay I2C_SH0RT_DLY ret/D?0?oXO?0/Input: i2c_rw_temp/Used: i2c_ _rw_cnt/i2c_write_8bit:i2c rw ent = 8;i 2c_wr i t
7、 e_8b i t_loop:sic i2c_rw_tempswapc I2C_SDAdelay I2C_SHORT_DLYI2C_SCL_HIGHdelay I2C_SHORT_DLYI2C SCL LOWdelay I2C_SH0RT_DLYdzsn i2c_rw_cntgoto i2c_write_8bit_loopret/?A0?dxo?0/Used: i2c_ _rw_cnt/Output: i2c_rw_temp /i2c_read_8bit:i2c_rw_temp = 0;i2c rw ent = 8;delay I2C_SHORT_DLYi2c_read_8bit_loop:I
8、2C_SCL_HIGHdelay I2C_SHORT_DLYswapc I2C_SDAsic i2c_rw_tempI2C_SCL_LOWdelay I2C_SHORT_DLYdzsn i2c_rw_cntgoto i2c_read_8bit_loopret/Input: i2c_rw_addr / i2c_rw_cmd/Used: i2c_ _rw_cnt/ i2c_rw_temp /Output: i2c_rw_bytei2c_read_byte:/startcall i2c_start/write device address(write) i2c_rw_temp = i2c_rw_cm
9、d; call i2c_write_8bit/slave ackcal1 i2c_slave_ack/write register address i2c_rw_temp = i2c_rw_addr;call i2c_write_8bit/slave ack/dont check ACKcal1 i2c_slave_ack/start repeatcall i2c_start/write device address(read) i2c_rw_temp = i2c_rw_cmd; i2c_rw_temp 0 二 1;call i2c_write_8bit/slave ack/dont chec
10、k ACKI2C_SDA_INPUTdelay I2C_SHORT_DLYI2C_SCL_HIGHdelay I2C_SHORT_DLYI2C_SCL_LOWdelay I2C_SHORT_DLY /OaAi? 10fia(;6?dI2C_SDA?6Axa ? fia?d/read datai2c_rw_temp = 0;call i2c_read_8biti2c_rw_byte = i2c_rw_temp; /store data/master nackcall i2c_master_nack/stopcall i2c_stop/retunedelay I2C_LONG_DLYwdreset
11、ret/Input: i2c_rw_addr / i2c_rw_byte / i2c_rw_cmd /Used: i2c_rw_cnt/ i2c_rw_temp /i2c_write_byte:/startcall i2c_start/write device address i2c_rw_temp = i2c_rw_cmd;call i2c_write_8bit/slave ack/dont check ACKcall i2c_slave_ack/write register address i2c_rw_temp = i2c_rw_addr;call i2c_write_8bit/slav
12、e ack/dont check ACKcal1 i2c_slave_ack/write datai2c_rw_temp = i2c_rw_byte;call i2c_write_8bit/slave ack/dont check ACKcall i2c_slave_ack/stopcall i2c_stop/retunedelay I2C_L0NG_DLYwdresetretEEPRONLRW.CN equ OxAO/?CyAu: eeprom_read_byte /Input:i2c_rw_addr/Used: i2c. _rw_cnt/ i2c_rw_temp/Output: i2c_rw_byte/eeprom_read_byte:i2c_rw_cmd = EEPROM_RW_CMD;goto i2c_read_byte / X ?0a0aA 1 6AmA( 10 Xa/ /?yAu: eeprom_write_byte /In
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健身器材用戶參與度提升策略實踐考核試卷
- 塑料鞋生產(chǎn)效率統(tǒng)計與分析考核試卷
- 數(shù)學(xué)空間想象力培養(yǎng)教具考核試卷
- 供應(yīng)鏈大數(shù)據(jù)分析在供應(yīng)鏈中的應(yīng)用案例解析考核試卷
- 北京車牌借用合同范本
- 蔬菜購銷合同范本
- 藥店店員培訓(xùn)課件
- 冷庫設(shè)備銷售合同范本
- 靜脈輸液的基本操作流程
- 數(shù)據(jù)傳輸網(wǎng)絡(luò)安全合作協(xié)議之?dāng)?shù)據(jù)傳輸保護(hù)服務(wù)合同
- 宮頸癌化療患者的護(hù)理
- 車間主任考核表實用文檔
- 提高領(lǐng)導(dǎo)干部的溝通能力
- 《航空公司服務(wù)質(zhì)量改善研究8800字(論文)》
- GB/T 9124-2010鋼制管法蘭技術(shù)條件
- GB/T 4117-2008工業(yè)用二氯甲烷
- FZ/T 07019-2021針織印染面料單位產(chǎn)品能源消耗限額
- 人教PEP版英語五年級下冊第四單元全部課件
- 硬筆書法 社團(tuán)教案
- 中國膿毒癥及膿毒性休克急診治療指南
- 工序標(biāo)準(zhǔn)工時及產(chǎn)能計算表
評論
0/150
提交評論