91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機模擬I2C總線及24C02讀寫實例(c源代碼),24C02 read / write process

454398 ? 2018-09-20 19:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單片機模擬I2C總線及24C02讀寫實例(c源代碼),24C02 read / write process

關(guān)鍵字:單片機模擬I2C總線及24C02讀寫實例(c源代碼)

單片機模擬I2C總線及24C02(I2C EEPROM)讀寫實例(c源代碼)
/* 51系列單片機在使用時,有時需要模擬I2C總線, */
/* 這里舉出一個實例(讀寫串行EEPROM芯片at2402) */

/************************************************************************/
/* Name:AT24C02存儲器的讀寫程序,用到I2C總線,含相對獨立的I2C總線讀寫函數(shù) */
/* Language: C51單片機編程語言 */
/* Platform: Win98,Intel Celeron 433 Processor,偉福仿真器,仿真8751 */
/* Author: StephenZhu javasdk@163.com */
/* Date: 2003年5月21日,5月22日,5月29日 */
/* Version: 1.1.1 */
/* Others: None */
/************************************************************************/
#include
#include
#include
#define DELAY_TIME 60 /*經(jīng)實驗,不要小于50!否則可能造成時序混亂*/
#define TRUE 1
#define FALSE 0
sbit SCL=P1^7;/*假設(shè)由P1.7和P1.6控制*/
sbit SDA=P1^6;
/********** Function Definition函數(shù)定義 ************/
void DELAY(unsigned int t) /*延時函數(shù)*/
{
while(t!=0)
t--;
}
void I2C_Start(void)
{
/*啟動I2C總線的函數(shù),當(dāng)SCL為高電平時使SDA產(chǎn)生一個負跳變*/
SDA=1;
SCL=1;
DELAY(DELAY_TIME);
SDA=0;
DELAY(DELAY_TIME);
SCL=0;
DELAY(DELAY_TIME);
}
void I2C_Stop(void)
{
/*終止I2C總線,當(dāng)SCL為高電平時使SDA產(chǎn)生一個正跳變*/
SDA=0;
SCL=1;
DELAY(DELAY_TIME);
SDA=1;
DELAY(DELAY_TIME);
SCL=0;
DELAY(DELAY_TIME);
}
void SEND_0(void) /* SEND ACK */
{
/*發(fā)送0,在SCL為高電平時使SDA信號為低*/
SDA=0;
SCL=1;
DELAY(DELAY_TIME);
SCL=0;
DELAY(DELAY_TIME);
}
void SEND_1(void)
{
/*發(fā)送1,在SCL為高電平時使SDA信號為高*/
SDA=1;
SCL=1;
DELAY(DELAY_TIME);
SCL=0;
DELAY(DELAY_TIME);
}
bit Check_AcknowLEDge(void)
{
/*發(fā)送完一個字節(jié)后檢驗設(shè)備的應(yīng)答信號*/
SDA=1;
SCL=1;
DELAY(DELAY_TIME/2);
F0=SDA;
DELAY(DELAY_TIME/2);
SCL=0;
DELAY(DELAY_TIME);
if(F0==1)
return FALSE;
return TRUE;
}
void WriteI2CByte(char b)reentrant
{
/*向I2C總線寫一個字節(jié)*/
char i;
for(i=0;i<8;i++)
if((b< SEND_1();
else
SEND_0();
}

char ReadI2CByte(void)reentrant
{
/*從I2C總線讀一個字節(jié)*/
char b=0,i;
for(i=0;i<8;i++)
{
SDA=1; /*釋放總線*/
SCL=1; /*接受數(shù)據(jù)*/
DELAY(10);
F0=SDA;
DELAY(10);
SCL=0;
if(F0==1)
{
b=b<<1;
b=b|0x01;
}
else
b=b<<1;
}
return b;
}
/**********以下為讀寫24c02的函數(shù)**********/見下一頁面

下一頁
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于FPGA的I2C控制模塊設(shè)計

    I2C_WRITE_WDATA.v模塊實現(xiàn)I2C寫時序,I2C_Controller (I2C控制器)例化了I2C_WRITE_WDATA.
    的頭像 發(fā)表于 12-26 09:48 ?4962次閱讀
    基于FPGA的<b class='flag-5'>I2C</b>控制模塊設(shè)計

    CW32單片機I2C接口來讀寫EEPROM芯片

    u8State = 0; uint8_t receivedflag = 0; //讀取完成標志 6.主程序:利用I2C接口,采用中斷方式讀寫EEPROM芯片(CW24C02)。 int32_t main
    發(fā)表于 12-09 07:43

    Onsemi N24C02/04/08/16:高性能I2C EEPROM的卓越之選

    在電子設(shè)計領(lǐng)域,EEPROM是一種至關(guān)重要的存儲元件,而Onsemi的N24C02、N24C04、N24C08和N24C16系列I2
    的頭像 發(fā)表于 12-02 14:02 ?711次閱讀
    Onsemi N<b class='flag-5'>24C02</b>/04/08/16:高性能<b class='flag-5'>I</b>2<b class='flag-5'>C</b> EEPROM的卓越之選

    芯伯樂24C02/24C04/24CXX:百萬次擦寫非易失性存儲器的解決方案

    的首選方案。無論是消費電子、工業(yè)控制還是物聯(lián)網(wǎng)設(shè)備,都能見到它的身影。一產(chǎn)品概述24C02/24C04/24Cxx系列是基于IIC總線協(xié)議的串行電可擦除存儲器(E
    的頭像 發(fā)表于 11-28 18:32 ?844次閱讀
    芯伯樂<b class='flag-5'>24C02</b>/<b class='flag-5'>24C</b>04/<b class='flag-5'>24</b>CXX:百萬次擦寫非易失性存儲器的解決方案

    ?STMicroelectronics M24C64-U 64-Kbit串行I2C總線EEPROM技術(shù)解析

    STMicroelectronics M24C64-U 64-Kbit串行^I2C^總線EEPROM專為高效可靠的數(shù)據(jù)存儲而設(shè)計。該STMicroelectronics EEPROM采用8K×8位
    的頭像 發(fā)表于 10-15 17:27 ?918次閱讀
    ?STMicroelectronics M<b class='flag-5'>24C</b>64-U 64-Kbit串行<b class='flag-5'>I</b>2<b class='flag-5'>C</b><b class='flag-5'>總線</b>EEPROM技術(shù)解析

    深入剖析I2C協(xié)議

    I2C是由Philips開發(fā)的簡單的雙向兩線總線,在深入淺出理解SPI協(xié)議中,我們區(qū)分了單工,半雙工,全雙工協(xié)議數(shù)據(jù)流向的區(qū)別,根據(jù)特征,I2C協(xié)議屬于半雙工協(xié)議(即同一時刻,數(shù)據(jù)單向流動)。此外
    的頭像 發(fā)表于 08-21 15:10 ?3670次閱讀
    深入剖析<b class='flag-5'>I2C</b>協(xié)議

    【沁恒CH585開發(fā)板免費試用體驗】I2C 讀寫EEPROM (三)

    (\"\\\\r\\\\n\"); } } printf(\"I2C(AT24C02) Read and write test successful\\\\r
    發(fā)表于 08-05 22:25

    【沁恒CH585開發(fā)板免費試用體驗】I2C 讀寫EEPROM (二)

    ;); } } printf(\"I2C(AT24C02) Read and write test successful\\\\r\\\\n\"); } 4.2 實驗現(xiàn)象
    發(fā)表于 08-05 22:13

    【沁恒CH585開發(fā)板免費試用體驗】I2C 讀寫EEPROM (一)

    /16監(jiān)視總線并當(dāng)其地址與發(fā)送的從地址相符時響應(yīng)一個應(yīng)答信號(通過SDA線)。AT24C01/02/04/08/16再根據(jù)讀寫控制位(R/W)的狀態(tài)進行讀或?qū)懖僮鳌? Figure
    發(fā)表于 08-05 22:09

    單片機實例項目:AT24C02EEPROM存儲器

    單片機實例項目:AT24C02EEPROM存儲器,推薦下載!
    發(fā)表于 06-03 20:50

    【RA-Eco-RA4M2開發(fā)板評測】I2C讀取EEPROM(二)

    就行。 值得注意的是,這里的從地址是7位,代碼中自動左移了。 然后讓軟件自動生成配置代碼即可。 6.2 基于I2C的EEPROM讀寫實現(xiàn)
    發(fā)表于 04-28 23:14

    【RA-Eco-RA4M2開發(fā)板評測】I2C讀取EEPROM(一)

    的存儲器,常用來存儲一些配置信息,以便系統(tǒng)重新上電的時候加載。 EEPROM 芯片最常用的通訊方式就是 I2C 協(xié)議,本文將要講解EEPROM的讀寫操作。 4.1 AT24Cxx概述 AT24
    發(fā)表于 04-28 23:13

    基于APM32F407如何制作I2C EEPROM(AT24C02型號)的MDK-Keil下載算法

    基于APM32F407如何制作I2C EEPROM(AT24C02型號)的Keil下載算法,這樣在我們下載代碼時可以一鍵把數(shù)據(jù)燒錄到EEPROM中。
    的頭像 發(fā)表于 04-11 11:06 ?2084次閱讀
    基于APM32F407如何制作<b class='flag-5'>I2C</b> EEPROM(AT<b class='flag-5'>24C02</b>型號)的MDK-Keil下載算法

    FN2-24D24C3N FN2-24D24C3N

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)FN2-24D24C3N相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有FN2-24D24C3N的引腳圖、接線圖、封裝手冊、中文資料、英文資料,F(xiàn)N2-24D24C3N真值表,F(xiàn)N
    發(fā)表于 03-19 18:49
    FN<b class='flag-5'>2-24D24C</b>3N FN<b class='flag-5'>2-24D24C</b>3N

    I2C總線復(fù)用

    帝晶智慧屏I2C總線復(fù)用
    的頭像 發(fā)表于 03-11 17:20 ?2087次閱讀