在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

454398 ? 2018-09-20 19:41 ? 次閱讀

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

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

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

/************************************************************************/
/* Name:AT24C02存儲器的讀寫程序,用到I2C總線,含相對獨(dú)立的I2C總線讀寫函數(shù) */
/* Language: C51單片機(jī)編程語言 */
/* 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)實(shí)驗(yàn),不要小于50!否則可能造成時(shí)序混亂*/
#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í)函數(shù)*/
{
while(t!=0)
t--;
}
void I2C_Start(void)
{
/*啟動(dòng)I2C總線的函數(shù),當(dāng)SCL為高電平時(shí)使SDA產(chǎn)生一個(gè)負(fù)跳變*/
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為高電平時(shí)使SDA產(chǎn)生一個(gè)正跳變*/
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為高電平時(shí)使SDA信號為低*/
SDA=0;
SCL=1;
DELAY(DELAY_TIME);
SCL=0;
DELAY(DELAY_TIME);
}
void SEND_1(void)
{
/*發(fā)送1,在SCL為高電平時(shí)使SDA信號為高*/
SDA=1;
SCL=1;
DELAY(DELAY_TIME);
SCL=0;
DELAY(DELAY_TIME);
}
bit Check_AcknowLEDge(void)
{
/*發(fā)送完一個(gè)字節(jié)后檢驗(yàn)設(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總線寫一個(gè)字節(jié)*/
char i;
for(i=0;i<8;i++)
if((b< SEND_1();
else
SEND_0();
}

char ReadI2CByte(void)reentrant
{
/*從I2C總線讀一個(gè)字節(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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評論

    相關(guān)推薦

    I2C總線上拉電阻阻值如何確定?

    導(dǎo)讀I2C總線在產(chǎn)品設(shè)計(jì)中被廣泛應(yīng)用,盡管其結(jié)構(gòu)簡單,但經(jīng)常發(fā)生上拉電阻設(shè)計(jì)不合理的問題。本文將對I2C上拉電阻的選擇進(jìn)行簡要分析。一根信號線上,通過電阻連接一個(gè)固定的高電平VCC,信號線初始、空閑
    的頭像 發(fā)表于 12-27 11:34 ?440次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>上拉電阻阻值如何確定?

    《DNESP32S3使用指南-IDF版_V1.6》第二十章 IIC_EEPROM實(shí)驗(yàn)

    24C02設(shè)備的讀操作地址為:0xA1;寫操作地址為:0xA0。在前面已經(jīng)說過IIC總線的基本讀寫操作,那么我們就可以基于IIC總線的時(shí)序的上,理解
    發(fā)表于 12-21 09:31

    【AG32開發(fā)板體驗(yàn)連載】智能蒸烤箱--AG32VF407I2C總線測試

    TestI2cPROM() // Testing AT24C02等五個(gè)主要函數(shù)組成,通過I2C總線實(shí)現(xiàn)對24LC02B的
    發(fā)表于 11-20 23:15

    RISC V的I2C操作

    (system_i2c_0_io_scl_write),.system_i2c_0_io_scl_read(system_i2c_0_io_scl_read),WriteEnable信號的處理
    的頭像 發(fā)表于 11-01 11:06 ?206次閱讀

    了解I2C總線

    電子發(fā)燒友網(wǎng)站提供《了解I2C總線.pdf》資料免費(fèi)下載
    發(fā)表于 10-08 11:13 ?2次下載
    了解<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>

    I2C總線上拉電阻計(jì)算

    電子發(fā)燒友網(wǎng)站提供《I2C總線上拉電阻計(jì)算.pdf》資料免費(fèi)下載
    發(fā)表于 10-08 09:54 ?1次下載
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>上拉電阻計(jì)算

    英銳芯AD24C02_16-Byte(中性)

    AD24C02是一款串行電可擦除編程只讀存儲器(EEPROM)。存儲器可存儲256個(gè)字節(jié)數(shù)據(jù),分為16頁 每頁16字節(jié),隨機(jī)字尋址需要8位數(shù)據(jù)字地址,具有低功耗CMOS技術(shù),自定時(shí)編程周期
    發(fā)表于 09-09 15:08 ?0次下載

    優(yōu)秀實(shí)踐:I3C共享總線上的I2C器件

    電子發(fā)燒友網(wǎng)站提供《優(yōu)秀實(shí)踐:I3C共享總線上的I2C器件.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 09:49 ?0次下載
    優(yōu)秀實(shí)踐:<b class='flag-5'>I3C</b>共享<b class='flag-5'>總線</b>上的<b class='flag-5'>I2C</b>器件

    I2C總線協(xié)議的工作原理和尋址格式

    I2C(Inter-Integrated Circuit)總線協(xié)議,即集成電路總線協(xié)議,是一種用于連接微控制器及其外圍設(shè)備的串行總線協(xié)議。I2C
    的頭像 發(fā)表于 05-27 15:47 ?1773次閱讀

    STM8S I2C機(jī)模式無ACK的原因?

    到主機(jī)模式訪問24C02正常。 但從機(jī)模式時(shí),對另一塊做主機(jī)的板發(fā)送的地址無應(yīng)答。 百思不得其解。試著將主機(jī)端的尋址地址從0到最大值逐一的試了一個(gè)遍也沒效果。 現(xiàn)求助大神有沒有解決的辦法
    發(fā)表于 05-06 08:45

    STM8S103F3讀24C02硬件I2C可以連續(xù)讀,模擬I2C只能讀一個(gè),第二個(gè)是0x00為什么?

    24C02硬件I2C可以連續(xù)讀,模擬I2C只能讀一個(gè)。第二個(gè)是0x00,求助大神指點(diǎn)
    發(fā)表于 05-06 07:22

    STM32F103用普通IO口驅(qū)動(dòng)24C02讀寫不正確的原因?

    以下24C02的驅(qū)動(dòng)好像不穩(wěn)定,不更換24C02時(shí),讀寫都正確,但是更換一個(gè)24C02,數(shù)據(jù)就讀寫不正確,在把之前的正常的
    發(fā)表于 04-19 06:12

    通過STM32F103的I2C讀寫24LC024,超過16個(gè)以后讀回來的地址上的數(shù)不對是怎么回事?

    通過STM32F103的I2C讀寫24LC024,現(xiàn)在問題是一次讀寫16個(gè)及以內(nèi)的數(shù)據(jù)完全正常 ,超過16個(gè)以后讀回來的地址上的數(shù)不對,想問問讀寫
    發(fā)表于 04-18 06:37

    什么是I2C協(xié)議 I2C總線的控制邏輯

    在實(shí)際使用過程中,I2C比較容易出現(xiàn)的一個(gè)問題就是死鎖 ,死鎖在I2C中主要表現(xiàn)為:I2C死鎖時(shí)表現(xiàn)為SCL為高,SDA一直為低。
    發(fā)表于 03-12 09:17 ?1073次閱讀
    什么是<b class='flag-5'>I2C</b>協(xié)議 <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的控制邏輯
    主站蜘蛛池模板: 午夜在线观看福利| 久久天天综合| 97capcom超频在线| 8050午夜一级| 免费一级特黄特色大片在线| 一级骚片超级骚在线观看| 在线免费观看h视频| 亚洲成在人色婷婷| 国产三级毛片视频| 激情五月网站| 一级毛片一级毛片| 国产五月婷婷| 1024手机看片国产旧版你懂的| 亚洲人成网站在线| 国产哺乳期奶水avav| www.激情五月| 四虎免费影院4hu永久免费| a级网| 91国内在线国内在线播放| 色秀视频免费高清网站| 一级特黄视频| 天堂一区二区三区在线观看| 欧美午夜视频在线观看| 日日干干| 亚洲免费视频在线观看| 高清国产亚洲va精品| 欧美性猛交xxxx黑人猛交| 色婷婷影视| 失禁h啪肉尿出来高h| 狠狠gao| 国产精品二区三区免费播放心| 2021久久天天躁狠狠躁夜夜| 色综合激情| 手机看片自拍自自拍日韩免费| 老熟女毛片| 丁香视频在线观看播放| caoporn成人免费公开| 你懂得网址在线观看| 国产伦精一区二区三区| 色婷婷久久合月综| 色网综合|