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

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

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

AT24C04芯片驅(qū)動(dòng)程序原理

科技綠洲 ? 來源:單片機(jī)實(shí)例設(shè)計(jì) ? 作者:單片機(jī)實(shí)例設(shè)計(jì) ? 2023-09-11 11:36 ? 次閱讀

1.芯片簡介

24c02是一種串行電可擦除只讀存儲(chǔ)器(以下數(shù)據(jù)均以AT24C02為例),即eeprom存儲(chǔ)器器件,采用的 IIC 總線技術(shù)。24c02在許多試驗(yàn)中都有出現(xiàn)。24c02 的應(yīng)用,主要在存儲(chǔ)一些掉電后還要保存數(shù)據(jù)的場合,在上次運(yùn)行時(shí),保存的數(shù)據(jù),在下一次運(yùn)行時(shí)還能夠調(diào)出。

圖片

主要特點(diǎn)如下

  • 寬工作電壓:1.8~5.5V,輸入、輸出引腳兼容5V;
  • 二線串行總線接口(IIC),支持雙向數(shù)據(jù)傳輸協(xié)議;
  • 讀寫速度最高可支持400KHz,支持硬件寫保護(hù);
  • 寫次數(shù)100萬次,數(shù)據(jù)保存100年;

2. 24C02引腳定義

  1. A0~A2 :器件地址輸入;
  2. SDA :串行數(shù)據(jù)輸入輸出;
  3. SCL :串行時(shí)鐘輸入;
  4. WP :寫保護(hù);
  5. VCC :芯片電源;
  6. GND :芯片地;

圖片

3.24C02控制時(shí)序

24C02采用標(biāo)準(zhǔn)IIC總線控制,控制時(shí)序參考IIC控制時(shí)序即可。

4.24C02驅(qū)動(dòng)程序

#define uchar unsigned char //定義一下方便使用 
#define uint unsigned int 
#define ulong unsigned long 
#include < reg52.h > //包括一個(gè) 52 標(biāo)準(zhǔn)內(nèi)核的頭文件 
//本試驗(yàn)寫入一個(gè)字節(jié)到 24c02 中 


char code dx516[3] _at_ 0x003b;//這是為了仿真設(shè)置的 


#define WriteDeviceAddress 0xa0 //定義器件在 IIC 總線中的地址 
#define ReadDviceAddress 0xa1 
sbit SCL=P2^7; 
sbit SDA=P2^6; 


sbit P10=P1^0; 


//定時(shí)函數(shù) 
void DelayMs(uint number) 
{ 
  uchar temp; 
  for(;number!=0;number--) 
  { 
    for(temp=112;temp!=0;temp--) ; 
  } 
} 


//開始總線 
void Start() 
{ 
  SDA=1; 
  SCL=1; 
  SDA=0; 
  SCL=0; 
} 


//結(jié)束總線 
void Stop() 
{ 
  SCL=0; 
  SDA=0; 
  SCL=1; 
  SDA=1; 
} 


//測試 ACK 
bit TestAck() 
{ 
  bit ErrorBit; 
  SDA=1; 
  SCL=1; 
  ErrorBit=SDA; 
  SCL=0; 
  return(ErrorBit); 
} 


//寫入 8 個(gè) bit 到 24c02 
Write8Bit(uchar input) 
{ 
  uchar temp; 
  for(temp=8;temp!=0;temp--) 
  { 
    SDA=(bit)(input&0x80); 
    SCL=1; 
    SCL=0; 
    input=input< 1; 
  } 
} 


//寫入一個(gè)字節(jié)到 24c02 中 
void Write24c02(uchar ch,uchar address) 
{ 
  Start(); 
  Write8Bit(WriteDeviceAddress); 
  TestAck(); 
  Write8Bit(address); 
  TestAck(); 
  Write8Bit(ch); 
  TestAck(); 
  Stop(); 
  DelayMs(10); 
} 


//本試驗(yàn)寫入一個(gè)字節(jié)到 24c02 中 
void main(void) // 主程序 
{ 
  Write24c02(0x88,0x02);// 將 0x88 寫入到 24c02 的第 2 個(gè)地址空間 


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

    關(guān)注

    452

    文章

    49938

    瀏覽量

    419598
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7402

    瀏覽量

    163386
  • 驅(qū)動(dòng)程序
    +關(guān)注

    關(guān)注

    19

    文章

    810

    瀏覽量

    47860
  • AT24C04
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    4472
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AT24C04系列芯片資料(英文版)

    AT24C04系列芯片資料(英文版)[hide][/hide]
    發(fā)表于 03-05 12:55

    電可檫編程只讀存儲(chǔ)器AT24C04電子資料

    概述:AT24C04是ATMEL公司出品的一款4Kbit(512Bytes)E2PROM芯片,它采用I2C總線設(shè)計(jì),AT24C04主要性能指標(biāo)與AT
    發(fā)表于 04-07 07:33

    請(qǐng)問I2C總線AT24C04的電路圖是如何設(shè)計(jì)的?

    I2C總線AT24C04的電路圖是如何設(shè)計(jì)的?怎樣去編寫I2C總線AT24C04程序代碼?
    發(fā)表于 07-01 06:47

    怎樣去設(shè)計(jì)AT24C04芯片的電路呢

    AT24C04是什么?怎樣去設(shè)計(jì)AT24C04芯片的電路呢?
    發(fā)表于 10-21 07:05

    AT24C02/AT24C04/AT24C08/AT24C1

    AT24C02/AT24C04/AT24C08/AT24C16/AT24C32/AT24C56序
    發(fā)表于 08-13 15:28 ?253次下載

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

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

    FM24C04驅(qū)動(dòng)程序

    FM24C04驅(qū)動(dòng)程序FM24C04驅(qū)動(dòng)程序FM24C04驅(qū)動(dòng)程序
    發(fā)表于 01-15 16:31 ?72次下載

    AT24C04系列芯片資料(英文版)

    AT24C04系列芯片資料(英文版)
    發(fā)表于 01-04 11:44 ?0次下載

    單片機(jī)STC12C5A60S2控制AT24C04程序C語言)

    ; typedefunsignedshortWORD; sbitSCL=P3^4;// AT24C04 的時(shí)鐘 sbitSDA=P3^5;//AT24C04的數(shù)據(jù) BYTEBUF[16];//數(shù)據(jù)緩存區(qū) BYTEcodeTESTDATA
    的頭像 發(fā)表于 02-03 03:12 ?7500次閱讀

    C51讀寫AT24C04源代碼及AT24C04測試程序

    本文主要介紹了C51讀寫AT24C04源代碼及AT24C04測試程序。
    的頭像 發(fā)表于 04-04 12:01 ?1.7w次閱讀

    at24c04中文資料匯總(at24c04引腳圖及功能_工作原理及電路圖)

    本文主要介紹了at24c04中文資料匯總(at24c04引腳圖及功能_工作原理及電路圖)。AT24C04是ATMEL公司生產(chǎn)的4Kbit(512Bytes)E2PROM芯片,該
    發(fā)表于 04-04 16:26 ?8w次閱讀
    <b class='flag-5'>at24c04</b>中文資料匯總(<b class='flag-5'>at24c04</b>引腳圖及功能_工作原理及電路圖)

    使用單片機(jī)AT24C04進(jìn)行LED顯示的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)AT24C04進(jìn)行LED顯示的程序資料免費(fèi)下載。
    發(fā)表于 10-11 08:00 ?11次下載
    使用單片機(jī)<b class='flag-5'>AT24C04</b>進(jìn)行LED顯示的<b class='flag-5'>程序</b>免費(fèi)下載

    AT89S52單片機(jī)并行端口模擬I2C總線協(xié)議讀寫AT24C04的設(shè)計(jì)

    AT24C04是具有I2C總線接口的EEPROM.大小為512*8bit.單片機(jī)AT89S52本身不具有I2C總線結(jié)口,所以可編寫程序用并行端口模擬I2
    發(fā)表于 08-14 14:34 ?2628次閱讀

    使用AT24C04和1602LCD設(shè)計(jì)的電子密碼鎖仿真和代碼資料合集

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用AT24C04和1602LCD設(shè)計(jì)的電子密碼鎖仿真和代碼資料合集。
    發(fā)表于 06-22 08:00 ?14次下載
    使用<b class='flag-5'>AT24C04</b>和1602LCD設(shè)計(jì)的電子密碼鎖仿真和代碼資料合集

    使用IIC24C04芯片驅(qū)動(dòng)數(shù)碼管的程序和仿真電路圖

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用IIC24C04芯片驅(qū)動(dòng)數(shù)碼管的程序和仿真電路圖。
    發(fā)表于 07-10 14:28 ?14次下載
    使用IIC<b class='flag-5'>24C04</b><b class='flag-5'>芯片</b><b class='flag-5'>驅(qū)動(dòng)</b>數(shù)碼管的<b class='flag-5'>程序</b>和仿真電路圖