用51单片机给at24c16与at24c02编程上的区别和要注意些什么,程序的写法有那些不同,比如
用51单片机给at24c16与at24c02编程上的区别和要注意些什么,程序的写法有那些不同,比如地址什么的小弟我用at24c02的程序用在at24c16上就不能用了,好...
用51单片机给at24c16与at24c02编程上的区别和要注意些什么,程序的写法有那些不同,比如 地址 什么的
小弟我用at24c02的程序用在at24c16上就不能用了,好像是地址的问题,求高手解答
小弟感激不尽 展开
小弟我用at24c02的程序用在at24c16上就不能用了,好像是地址的问题,求高手解答
小弟感激不尽 展开
3个回答
展开全部
肯定是地址的问题
at24c16是2K字节,需地址位数11位,低8位和24c02一样只能0到 255
高8位中高4位仍是1010 ,其余3位任意变化,最低位仍是读写控制位
如果当24c02应该不存在问题,只是只能读写256个字节
从24c16的地址address中读取一个字节数据/////
unsigned char x24c16_read(uint address)
{
unsigned char i;
uchar addr_h,addr_h1,addr_l;
addr_h=address/256;//高位地址
addr_h1=addr_h*2;//高位地址左移1位
addr_l=address%256;//低位地址
start();
writex(0xa0+addr_h1);
clock(); writex(addr_l);
clock(); start();
writex((0xa1+addr_h1)); clock();
i=readx(); stop();
delay1(10);
return(i);
}
//////向24c16的address地址中写入一字节数据info/////
void x24c16_write(uint address,unsigned char info)
{
uchar addr_h,addr_h1,addr_l;
addr_h=address/256;
addr_h1=addr_h*2;
addr_l=address%256;
EA=0;
start(); writex(0xa0+addr_h1);//240C16应该是 writex(addr_h1+1)
clock(); writex(address);
clock(); writex(info);
clock(); stop();
EA=1;
delay1(50);
}
at24c16是2K字节,需地址位数11位,低8位和24c02一样只能0到 255
高8位中高4位仍是1010 ,其余3位任意变化,最低位仍是读写控制位
如果当24c02应该不存在问题,只是只能读写256个字节
从24c16的地址address中读取一个字节数据/////
unsigned char x24c16_read(uint address)
{
unsigned char i;
uchar addr_h,addr_h1,addr_l;
addr_h=address/256;//高位地址
addr_h1=addr_h*2;//高位地址左移1位
addr_l=address%256;//低位地址
start();
writex(0xa0+addr_h1);
clock(); writex(addr_l);
clock(); start();
writex((0xa1+addr_h1)); clock();
i=readx(); stop();
delay1(10);
return(i);
}
//////向24c16的address地址中写入一字节数据info/////
void x24c16_write(uint address,unsigned char info)
{
uchar addr_h,addr_h1,addr_l;
addr_h=address/256;
addr_h1=addr_h*2;
addr_l=address%256;
EA=0;
start(); writex(0xa0+addr_h1);//240C16应该是 writex(addr_h1+1)
clock(); writex(address);
clock(); writex(info);
clock(); stop();
EA=1;
delay1(50);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
at24c16与at24c02程序没有区别,唯一区别就是内存大小,一个是2K,一个是16K的,2K的地址只能用到256,16K地址能用到2048,应该不存在at24c02的程序在at24c16上不能用吧??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询