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

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

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

24C02驅(qū)動(dòng)【掉電保存】

Harmony&嵌入式學(xué)習(xí) ? 來(lái)源:Harmony&嵌入式學(xué)習(xí) ? 作者:Harmony&嵌入式學(xué) ? 2023-07-17 09:24 ? 次閱讀

24c02簡(jiǎn)介
24C02是一個(gè)2Kbit的串行EEPROM存儲(chǔ)芯片,可存儲(chǔ)256個(gè)字節(jié)數(shù)據(jù)。工作電壓范圍為1.8V到6.0V,具有低功耗CMOS技術(shù),自定時(shí)擦寫周期,1000000次編程/擦除周期,可保存數(shù)據(jù)100年。24C02有一個(gè)16字節(jié)的頁(yè)寫緩沖器和一個(gè)寫保護(hù)功能。通過I2C總線通訊讀寫芯片數(shù)據(jù),通訊時(shí)鐘頻率可達(dá)400KHz。

wKgaomSzucKACHK-AAAZ9b8Y64g440.png

51型號(hào)驅(qū)動(dòng)程序


sbit I2C_SCL =      P1^2;  			//控制24c02的SCL引腳

sbit I2C_SDA =      P1^1;  			//控制24c02的SDA引腳

void I2C_Delay10us()//IIC協(xié)議所需:延遲10us函數(shù)
{
	uchar a, b;
	for(b=1; b>0; b--)
	{
		for(a=2; a>0; a--);
	}
}

void I2C_Start()  //開始啟動(dòng)IIC,IIC協(xié)議頭
{
	I2C_SDA = 1;
	I2C_Delay10us();
	I2C_SCL = 1;
	I2C_Delay10us();//建立時(shí)間是I2C_SDA保持時(shí)間>4.7us
	I2C_SDA = 0;
	I2C_Delay10us();//保持時(shí)間是>4us
	I2C_SCL = 0;			
	I2C_Delay10us();		
}

void I2C_Stop()  //停止IIC,IIC協(xié)議尾
{
	I2C_SDA = 0;
	I2C_Delay10us();
	I2C_SCL = 1;
	I2C_Delay10us();//建立時(shí)間大于4.7us
	I2C_SDA = 1;
	I2C_Delay10us();		
}
/*******************************************************************************
* 函 數(shù) 名           : I2cSendByte(uchar num)
* 函數(shù)功能 	         : 通過I2C發(fā)送一個(gè)字節(jié)。在I2C_SCL時(shí)鐘信號(hào)高電平期間,
*                    * 保持發(fā)送信號(hào)I2C_SDA保持穩(wěn)定
* 輸    入           : num ,ack
* 輸    出         	 : 0或1。發(fā)送成功返回1,發(fā)送失敗返回0
* 備    注           : 發(fā)送完一個(gè)字節(jié)I2C_SCL=0, 需要應(yīng)答則應(yīng)答設(shè)置為1,否則為0
*******************************************************************************/
uchar I2C_SendByte(uchar dat, uchar ack)
{
	uchar a = 0,b = 0;//最大255,一個(gè)機(jī)器周期為1us,最大延時(shí)255us。
			
	for(a=0; a> 7;	 //起始信號(hào)之后I2C_SCL=0,所以可以直接改變I2C_SDA信號(hào)
		dat = dat 4.7us
		I2C_SCL = 0;
		I2C_Delay10us();//時(shí)間大于4us		
	}

	I2C_SDA = 1;
	I2C_Delay10us();
	I2C_SCL = 1;
	while(I2C_SDA && (ack == 1))//等待應(yīng)答,也就是等待從設(shè)備把I2C_SDA拉低
	{
		b++;
		if(b > 200)	 //如果超過200us沒有應(yīng)答發(fā)送失敗,或者為非應(yīng)答,表示接收結(jié)束
		{
			I2C_SCL = 0;
			I2C_Delay10us();
			return 0;
		}
	}

	I2C_SCL = 0;
	I2C_Delay10us();
 	return 1;		
}

uchar I2C_ReadByte() //IIC協(xié)議讀取數(shù)據(jù)
{
	uchar a = 0,dat = 0;
	I2C_SDA = 1;			//起始和發(fā)送一個(gè)字節(jié)之后I2C_SCL都是0
	I2C_Delay10us();
	for(a=0; a

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1020

    瀏覽量

    81595
  • 存儲(chǔ)芯片
    +關(guān)注

    關(guān)注

    11

    文章

    897

    瀏覽量

    43145
  • 掉電
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7663
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    24C02數(shù)據(jù)保存

    =read_24C02(0);if(b==5)Alarm=1;}}這是我24C02的程序 這樣寫程序可以正常運(yùn)行 蜂鳴器響但是下面這種寫法24C02掉電以后蜂鳴器不響 沒有讀取到數(shù)據(jù)v
    發(fā)表于 12-06 09:30

    24C02芯片的相關(guān)資料分享

    202007每月一練 的板子上還有一個(gè)24C02芯片沒有寫教程,今天介紹一下24C02這個(gè)芯片的驅(qū)動(dòng)方法。串行EEPROM 24CXX是基于I2C
    發(fā)表于 01-21 11:51

    24c02/24c01/24c04讀寫程序

    24c02/24c01/24c04  I2C EEPROM字節(jié)讀寫驅(qū)動(dòng)程序,芯片A0-A1-A2要接GND(
    發(fā)表于 10-07 12:39 ?19次下載

    HL配套C實(shí)驗(yàn)例程24c02存儲(chǔ)器讀寫基本驅(qū)動(dòng)

    HL配套C實(shí)驗(yàn)例程24c02存儲(chǔ)器讀寫基本驅(qū)動(dòng)2,配合開發(fā)板學(xué)習(xí)效果更好。
    發(fā)表于 04-11 17:04 ?10次下載

    DSP之24C02教程

    DSP之24C02教程,很好的DSP自學(xué)資料,快來(lái)學(xué)習(xí)吧。
    發(fā)表于 04-15 17:42 ?13次下載

    IIC應(yīng)用--24c02

    IIC應(yīng)用--24c02C語(yǔ)言)源代碼。
    發(fā)表于 05-20 15:37 ?31次下載

    24C02中文資料

    24C02中文資料,這里面的內(nèi)容可以幫助各位朋友更好地掌握24C02的使用
    發(fā)表于 06-15 15:53 ?0次下載

    24c02基礎(chǔ)程序

    24c02寫入調(diào)用程序 用于初次接觸24c02 學(xué)習(xí)24c02用的
    發(fā)表于 07-12 15:14 ?24次下載

    24C02中文資料手冊(cè)

    24C02中文資料手冊(cè)
    發(fā)表于 10-24 15:13 ?188次下載
    <b class='flag-5'>24C02</b>中文資料手冊(cè)

    24C02驅(qū)動(dòng)過程下載

    24C02驅(qū)動(dòng)過程
    發(fā)表于 02-26 09:24 ?11次下載

    24C02讀寫操作程序設(shè)計(jì)實(shí)例,24C02 read / write process

    24C02讀寫操作程序設(shè)計(jì)實(shí)例,24C02 read / write process 關(guān)鍵字:24C02讀寫操作程序設(shè)計(jì)實(shí)例 24C
    的頭像 發(fā)表于 09-20 19:41 ?1539次閱讀

    24c02讀寫程序(已通過測(cè)試),24C02 read / write process

    24c02讀寫程序(已通過測(cè)試),24C02 read / write process 關(guān)鍵字:24c02讀寫程序(已通過測(cè)試
    的頭像 發(fā)表于 09-20 19:41 ?2612次閱讀

    使用51單片機(jī)和EEPROM存儲(chǔ)器24C02保持保存實(shí)現(xiàn)流水燈的程序

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)和EEPROM存儲(chǔ)器24C02保持保存實(shí)現(xiàn)流水燈的程序。
    發(fā)表于 06-06 17:50 ?7次下載
    使用51單片機(jī)和EEPROM存儲(chǔ)器<b class='flag-5'>24C02</b>保持<b class='flag-5'>保存</b>實(shí)現(xiàn)流水燈的程序

    24C02 EEPROM存儲(chǔ)器的應(yīng)用程序詳細(xì)說(shuō)明

    24C02 是一個(gè)非揮發(fā) eeprom 存儲(chǔ)器器件,采用的 IIC 總線技術(shù)。24c02 在許多試驗(yàn)中 都有出現(xiàn)。24c02 的應(yīng)用,主要在存儲(chǔ)一些掉電后還要
    發(fā)表于 12-22 08:00 ?1次下載

    24C02的秘密

    本文主要介紹了一下目前市場(chǎng)上面24C02幾種打線方式的區(qū)別,有利于消費(fèi)者在芯片選型替代、電路設(shè)計(jì)、軟件編程的注意一些細(xì)節(jié),另外就是給出了用C語(yǔ)言軟件模擬I2C協(xié)議和用匯編語(yǔ)言軟件模擬I2C
    的頭像 發(fā)表于 11-28 11:40 ?5906次閱讀