24c02 有多少页,24c02页的读写小问题谢谢
来源:整理 编辑:亚灵电子网 2024-11-15 17:58:35
本文目录一览
1,24c02页的读写小问题谢谢
1、对2、使用页写功能,不能跨页写,从5写3,再换页写3读操作没有时间要求,写操作一次最多8字节,需要得到10ms以上来固化数据。
2,24C02 一页有多少字节
24C02是一个2048位串行E2PROM,共有256字节。器件靠分配的地址工作,本身没有规划分页,如果设计时需要分,请自己规划。

3,24C16到底有多少页啊
8页 8*2048 = 16K数据手册是这么写的,跟24c02一样,具体看数据手册吧24c16 有8*2048位=2048个字节,分8页。
4,24C02的读写操作
写的数据在数组中,或者说指针,在那一页,用字符串函数strtok进行那些数据的分组(每个一组数据存在新定义的数组中),用这个数据的时候,if一下,后面接该组数据对应的功能。
5,24C02 字节 位
这个EEPROM是2K位,共有256*8字节,并不是2K字节所以8位地址就可以了!!!24c02是一个2048位串行e2prom,共有256字节。器件靠分配的地址工作,本身没有规划分页,如果设计时需要分,请自己规划。
6,eeprom发送要写入24C02的内存地址是什么
这个内存地址就是要保存的数据地址,24c02 256个字节,一页8个字节,256/8 = 32页,字节地址的高5位为页地址,从0开始0--31,低3位为每页的单元地址,从0开始0--7连续写数据量超过8个将会覆盖本页前面单元的数据,读可以从任意地址开始连续读N个数,自动翻页
7,24c16一页有多少个字节
24C16一页有256字节;共8页,2048字节;16K bit24c02串行e2prom是基于i2c-bus 的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。 24c02与单片机的接口非常简单,e0,e1,e2为器件地址线,wp为写保护引脚,scl,sda为二线串行接口,符合i2c总线协议,一个2048位串行e2prom,共有256字节。
8,24C02与24C16之间有什么区别啊程序写法上有区别吗
24c16不同于24c02之处在于,24c16是分页的,24c02的A0~A2脚是器件地址 24c16这3个脚没有意义 24c16的器件地址由 页地址的高三位代替了放心使用 腳位電壓完全相容 如果遇到 a21sc 這顆sop-8也別怕 也是 腳位電壓完全相容 只要 編程器是好的 就用 24c02或24lc02 下去作 read讀取 及write邊程 放心 只是廠牌不同 但物理結構是一樣的 以上為實務經驗 良心發言
9,24C02的读写操作
一块 24c02 中有 256 个字节的存储空间。 我们将 24c02 的两条总线接在了 p26 和 p27 上,因此,必须先定义: sbit scl=p2^7; sbit sda=p2^6; 在这个试验中,我们写入了一个字节数值 0x88 到 24c02 的 0x02 的位置。 写入完成后,p10 灯会亮起,我们再在下一颗来读出这个字节来验证结果。 ――――――――――――― #define uchar unsigned char //定义一下方便使用 #define uint unsigned int #define ulong unsigned long #include //包括一个 52 标准内核的头文件 //本课试验写入一个字节到 24c02 中 char code dx516[3] _at_ 0x003b;//这是为了仿真设置的 #define writedeviceaddress 0xa0 //定义器件在 iic 总线中的地址 #define readdviceaddress 0xa1 sbit scl=p2^7; sbit sda=p2^6; sbit p10=p1^0; //定时函数 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; } //结束总线 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 个 bit 到 24c02 write8bit(uchar input) { uchar temp; for(temp=8;temp!=0;temp--) { sda=(bit)(input&0x80); scl=1; scl=0; input=input<<1; } } //写入一个字节到 24c02 中 void write24c02(uchar ch,uchar address) { start(); write8bit(writedeviceaddress); testack(); write8bit(address); testack(); write8bit(ch); testack(); stop(); delayms(10); } //本课试验写入一个字节到 24c02 中 void main(void) // 主程序 { write24c02(0x88,0x02);// 将 0x88 写入到 24c02 的第 2 个地址空间 p10=0; //指示运行完毕 while(1); //程序挂起 }
10,24C01卡和24C02有什么区别
它们的容量是不一样的,24C01是1K的,24c02是2k的!;**************************************;工作频率: 12.000mhz;**************************************scl bit p3.4 ;at24c04的时钟线sda bit p3.5 ;at24c04的数据线buf equ 30h ;数据缓存区;************************************** org 0 jmp reset org 100hreset: call at24c04_writepage ;写一页数据 call delay5ms ;写一页数据需延时5ms call at24c04_readpage ;读一页数据 jmp $;**************************************;向at24c04写1页(16字节)数据;将testdata开始的16个测试数据写如设备的00~0f地址中;入口参数:无;出口参数:无;**************************************at24c04_writepage: call at24c04_start ;起始信号 mov a,#0a0h ;发送设备地址+写信号 call at24c04_sendbyte ;发送 mov a,#00h ;发送存储单元地址 call at24c04_sendbyte ;发送 mov r0,#16 ;16字节计数器 mov dptr,#testdata ;测试数据首地址writenext: clr a ;读取测试数据 movc a,@a+dptr call at24c04_sendbyte ;写入设备 inc dptr ;准备下一个数据的地址 djnz r0,writenext ;判断16字节是否完成 call at24c04_stop ;停止信号 rettestdata: db 000h,011h,022h,033h,044h,055h,066h,077h db 088h,099h,0aah,0bbh,0cch,0ddh,0eeh,0ffh;**************************************;从at24c04读取1页(16字节)数据;将设备的00~0f地址中的数据读出存放在data区的buf中;入口参数:无;出口参数:无;**************************************at24c04_readpage: call at24c04_start ;起始信号 mov a,#0a0h ;发送设备地址+写信号 call at24c04_sendbyte ;发送 mov a,#00h ;发送存储单元地址 call at24c04_sendbyte ;发送 call at24c04_start ;起始信号 mov a,#0a1h ;发送设备地址+读信号 call at24c04_sendbyte ;发送 mov r0,#16 ;16字节计数器 mov r1,#buf ;数据缓冲区首地址readnext: call at24c04_recvbyte ;读取数据 mov @r1,a ;保存数据 cjne r0,#2,$+3 ;判断回应ack还是nak call at24c04_sendack ;发送应答信号 inc r1 ;缓冲区地址加1 djnz r0,readnext ;判断16字节是否完成 call at24c04_stop ;停止信号 ret;**************************************;延时5微秒;不同的工作环境,需要调整此函数;入口参数:无;出口参数:无;**************************************delay5us: ;2 当改用1t的mcu时,请调整此延时函数 nop ;1 ret ;2;**************************************;延时5毫秒;不同的工作环境,需要调整此函数;入口参数:无;出口参数:无;**************************************delay5ms: ;2 当改用1t的mcu时,请调整此延时函数 push acc ;2 push dpl ;2 push dph ;2 mov dptr,#-500 ;2delay5ms1: nop ;1 nop ;1 nop ;1 nop ;1 inc dptr ;2 mov a,dpl ;1 orl a,dph ;1 jnz delay5ms1 ;2 pop dph ;2 pop dpl ;2 pop acc ;2 ret ;2;**************************************;起始信号;入口参数:无;出口参数:无;**************************************at24c04_start: setb sda setb scl ;拉高时钟线 call delay5us ;延时 clr sda ;产生下降沿 call delay5us ;延时 clr scl ;拉低时钟线 ret;**************************************;停止信号;入口参数:无;出口参数:无;**************************************at24c04_stop: clr sda setb scl ;拉高时钟线 call delay5us ;延时 setb sda ;产生上升沿 call delay5us ;延时 ret;**************************************;发送应答信号;入口参数:c (0:ack 1:nak);出口参数:无;**************************************at24c04_sendack: mov sda,c ;写应答信号 setb scl ;拉高时钟线 call delay5us ;延时 clr scl ;拉低时钟线 call delay5us ;延时 ret;**************************************;接收应答信号;入口参数:无;出口参数:c;**************************************at24c04_recvack: setb scl ;拉高时钟线 call delay5us ;延时 mov c,sda ;读应答信号 clr scl ;拉低时钟线 call delay5us ;延时 ret;**************************************;向iic总线发送一个字节数据;入口参数:acc;出口参数:无;**************************************at24c04_sendbyte: push 0 mov 0,#8 ;8位计数器sendnext: rlc a ;移出数据的最高位 mov sda,c ;送数据口 setb scl ;拉高时钟线 call delay5us ;延时 clr scl ;拉低时钟线 call delay5us ;延时 djnz 0,sendnext ;判断8位数据是否发送完成 pop 0 jmp at24c04_recvack ;接收应答信号; ret;**************************************;从iic总线接收一个字节数据;入口参数:无;出口参数:acc;**************************************at24c04_recvbyte: setb sda ;使能内部上拉,准备读取数据 push 0 mov 0,#8 ;8位计数器recvnext: setb scl ;拉高时钟线 call delay5us ;延时 mov c,sda ;读数据口 rlc a ;保存数据 clr scl ;拉低时钟线 call delay5us ;延时 djnz 0,recvnext ;判断8位数据是否接收完成 pop 0 ret;************************************** end
文章TAG:
24c0224c02 多少 读写
相关文章推荐
- 12v高压充电芯片,5-12v充电芯片
- SA602A芯片用途,芯片6021
- 电源芯片1710,Deli计算器1710已失效
- 电源芯片PG怎么接,IADJE电源芯片原理
- plc输出没电压是多少,PLC的一般电源是多少伏?
- 电机转子电路,DC电机控制电路原理?
- 18650充满多少伏,18650锂电池6一节多少V
- 电压源的ui值是负的,如何理解电压源为零?
- protues蜂鸣器电路,如何连接蜂鸣器proteus
- 5脚同步降压芯片,6引脚同步降压芯片
- 三菱plc外部电源电压低,关于plc的电压
- 电磁阀电压如何判断,如何判断碳罐电磁阀的质量?
- 加权电阻数模转换电路加权电阻数模转换电路的工作原理
- 电容两端对地电压是多少,电容两端的电压应该是多少伏
- 预充电电路异常,电动汽车预充电故障