24C02讀寫操作程序設(shè)計(jì)實(shí)例,24C02 read / write process
關(guān)鍵字:24C02讀寫操作程序設(shè)計(jì)實(shí)例
24C02讀寫操作程序設(shè)計(jì)實(shí)例
#define uchar unsigned char
#define uint unsigned int
#i nclude
#i nclude
#i nclude
sbit scl=P3^5; //24c02 SCL
sbit sda=P3^4; //24c02 SDA
sbit DOG=P1^7; //狗
uchar x24c02_read(uchar address); //從24c02的地址address中讀取一個(gè)字節(jié)數(shù)據(jù)
void x24c02_write(uchar address,uchar info); //向24c02的address地址中寫入一字節(jié)數(shù)據(jù)info
void x24c02_init(); //24c02初始化子程序
void delay1(uchar x);
void flash();
void x24c01_init();
void start();
void stop();
void writex(uchar j);
uchar readx();
void clock();
void delay1(uchar x)
{
uint i;
for(i=0;i DOG=~DOG;
}
void flash()
{
uchar u;
DOG=~DOG;
}
void x24c02_init()
{
scl=1; flash(); sda=1; flash();
}
void start()
{
sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();
}
void stop()
{
sda=0; flash(); scl=1; flash(); sda=1; flash();
}
void writex(uchar j)
{
uchar i,temp;
temp=j;
for (i=0;i<8;i++){
temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();
}
scl=0; flash(); sda=1; flash();
}
uchar readx()
{
uchar i,j,k=0;
scl=0; flash(); sda=1;
for (i=0;i<8;i++){
flash(); scl=1; flash();
if (sda==1) j=1;
else j=0;
k=(k<<1)|j; scl=0;
}
flash(); return(k);
}
void clock()
{
uchar i=0;
scl=1; flash();
while ((sda==1)&&(i<255))i++;
scl=0; flash();
}
uchar x24c02_read(uchar address)
{
uchar i;
start(); writex(0xa0);
clock(); writex(address);
clock(); start();
writex(0xa1); clock();
i=readx(); stop();
delay1(10);
return(i);
}
void x24c02_write(uchar address,uchar info)
{
EA=0;
start(); writex(0xa0);
clock(); writex(address);
clock(); writex(info);
clock(); stop();
EA=1;
delay1(50);
}
#define uint unsigned int
#i nclude
#i nclude
#i nclude
sbit scl=P3^5; //24c02 SCL
sbit sda=P3^4; //24c02 SDA
sbit DOG=P1^7; //狗
uchar x24c02_read(uchar address); //從24c02的地址address中讀取一個(gè)字節(jié)數(shù)據(jù)
void x24c02_write(uchar address,uchar info); //向24c02的address地址中寫入一字節(jié)數(shù)據(jù)info
void x24c02_init(); //24c02初始化子程序
void delay1(uchar x);
void flash();
void x24c01_init();
void start();
void stop();
void writex(uchar j);
uchar readx();
void clock();
void delay1(uchar x)
{
uint i;
for(i=0;i
}
void flash()
{
uchar u;
DOG=~DOG;
}
void x24c02_init()
{
scl=1; flash(); sda=1; flash();
}
void start()
{
sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();
}
void stop()
{
sda=0; flash(); scl=1; flash(); sda=1; flash();
}
void writex(uchar j)
{
uchar i,temp;
temp=j;
for (i=0;i<8;i++){
temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();
}
scl=0; flash(); sda=1; flash();
}
uchar readx()
{
uchar i,j,k=0;
scl=0; flash(); sda=1;
for (i=0;i<8;i++){
flash(); scl=1; flash();
if (sda==1) j=1;
else j=0;
k=(k<<1)|j; scl=0;
}
flash(); return(k);
}
void clock()
{
uchar i=0;
scl=1; flash();
while ((sda==1)&&(i<255))i++;
scl=0; flash();
}
uchar x24c02_read(uchar address)
{
uchar i;
start(); writex(0xa0);
clock(); writex(address);
clock(); start();
writex(0xa1); clock();
i=readx(); stop();
delay1(10);
return(i);
}
void x24c02_write(uchar address,uchar info)
{
EA=0;
start(); writex(0xa0);
clock(); writex(address);
clock(); writex(info);
clock(); stop();
EA=1;
delay1(50);
}
聲明:本文內(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)投訴
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
單片機(jī)實(shí)例項(xiàng)目:AT24C02EEPROM存儲(chǔ)器
單片機(jī)實(shí)例項(xiàng)目:AT24C02EEPROM存儲(chǔ)器,推薦下載!
發(fā)表于 06-03 20:50
【RA-Eco-RA4M2開發(fā)板評(píng)測(cè)】I2C讀取EEPROM(二)
的讀寫操作,嚴(yán)格按照相應(yīng)的時(shí)序操作就行。
6.2.1 字節(jié)寫
在字節(jié)寫模式下,向AT24C02中寫數(shù)據(jù)時(shí)序如下:
Figure 6?4 字節(jié)寫操作
發(fā)表于 04-28 23:14
基于APM32F407如何制作I2C EEPROM(AT24C02型號(hào))的MDK-Keil下載算法
基于APM32F407如何制作I2C EEPROM(AT24C02型號(hào))的Keil下載算法,這樣在我們下載代碼時(shí)可以一鍵把數(shù)據(jù)燒錄到EEPROM中。

【CW32模塊使用】AT24C02-EEPROM存儲(chǔ)器
了器件的功耗。AT24C02有一個(gè)16字節(jié)頁寫緩沖器。該器件通過IIC總線接口進(jìn)行操作,有一個(gè)專門的寫保護(hù)功能。

FW2-24S15C3 FW2-24S15C3
電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)FW2-24S15C3相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有FW2-24S15C3的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,F(xiàn)W2-24S15C3真值表,F(xiàn)W2-
發(fā)表于 03-20 18:30

NN3-24S24C4N NN3-24S24C4N
電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)NN3-24S24C4N相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有NN3-24S24C4N的引腳圖、接線圖、封裝手冊(cè)、中文資料、英文資料,NN3-24S24C4N真值表,NN3-
發(fā)表于 03-19 18:50

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

STM32F407的兩個(gè)USB口能否分別實(shí)現(xiàn)讀卡器和讀U盤的功能以及硬件IIC讀寫AT24C02?
需求如下:
1.OTS_FS(PA 11,PA12)實(shí)現(xiàn)TF卡的讀卡器功能,
2.OTS_HS(PB14,PB15)實(shí)現(xiàn)讀寫U盤功能
3.硬件IIC(PB8,PB9)讀寫AT24C02,硬件IIC是否有BUG?
以上是否有相關(guān)的
發(fā)表于 03-11 06:23
《DNESP32S3使用指南-IDF版_V1.6》第二十章 IIC_EEPROM實(shí)驗(yàn)
第二十章 IIC_EEPROM實(shí)驗(yàn) 本章將介紹使用ESP32-S3驅(qū)動(dòng)板載的EEPROM進(jìn)行讀寫操作。通過本章的學(xué)習(xí),讀者將學(xué)習(xí)到使用IIC接口驅(qū)動(dòng)24C02器件。本章分為如下幾個(gè)小節(jié):20.1
發(fā)表于 12-21 09:31
【AG32開發(fā)板體驗(yàn)連載】智能蒸烤箱--AG32VF407I2C總線測(cè)試
位為1時(shí),執(zhí)行讀操作;當(dāng)R/W位為0時(shí),執(zhí)行寫操作。在開始位置過后,首先傳送八位器件地址,根據(jù)DATASHEET, 24C02的字節(jié)寫操作如下圖。
5、
發(fā)表于 11-20 23:15
SSS1700C1鑫創(chuàng)USB麥克風(fēng)芯片/24BIT 192K聲卡芯片方案
),并具有內(nèi)置立體聲16/24位ADC、立體聲16/24位DAC、耳機(jī)驅(qū)動(dòng)程序、五頻段硬件EQ、,音頻鎖相環(huán),USB時(shí)鐘振蕩器,和USB FS控制器加物理層。外部24C02~
發(fā)表于 11-14 10:06
數(shù)據(jù)保存100年!納祥科技國產(chǎn)EEPROM芯片NX24C02A,兼容替代AT24C02
NAXIANGTECHNOLOGY納祥科技NX24C02AEEPROMEEPROM(ElectricallyErasableProgrammablereadonlymemory),帶電

英銳芯AD24C02_16-Byte(中性)
AD24C02是一款串行電可擦除編程只讀存儲(chǔ)器(EEPROM)。存儲(chǔ)器可存儲(chǔ)256個(gè)字節(jié)數(shù)據(jù),分為16頁 每頁16字節(jié),隨機(jī)字尋址需要8位數(shù)據(jù)字地址,具有低功耗CMOS技術(shù),自定時(shí)編程周期
發(fā)表于 09-09 15:08
?0次下載
ADS131M02 2通道、同步采樣、24位 Δ-ΣADC數(shù)據(jù)表
電子發(fā)燒友網(wǎng)站提供《ADS131M02 2通道、同步采樣、24位 Δ-ΣADC數(shù)據(jù)表.pdf》資料免費(fèi)下載
發(fā)表于 07-15 11:38
?1次下載

評(píng)論