1,AT24C256存储大小为256Kb按字节方式组成32Kb内部存储空间在一个资料上

AT24C256存储大小为256K 位;按字节方式组成32K 字节。

AT24C256存储大小为256Kb按字节方式组成32Kb内部存储空间在一个资料上

2,51单片机怎样做AD电压采集

这个需要外扩ram 但一片51应该实现不了连续采集两小时然后读出数据 至于电压采集 外扩一片ad 输入前端电压互感器传过来的模拟信号 转换为数字信号即可。 可以采用内部带有eeprom的单片机 实现掉电不易失功能。比如stc51之类的即可

51单片机怎样做AD电压采集

3,谁有单片机io口模拟i2c读写AT24C256的程序

你这个单片机是带I2C接口的那个SMBus就是,我用这个系列的单片机写过,模拟的还没有借口直接来的好。 我的空间里面有我调好的一篇247519442你说的全部是0xff也是正常的,因为外部存储一般都是高电平为空,也就是说你的数据没有写进去我给你一个模拟的看看#include<reg51.h> #include <Intrins.h>#define uchar unsigned char#define uint unsigned intsbit pcf8563_scl=P0^5;//时钟频率sbit pcf8563_sda=P0^4;//串行数据传输脚bit busy=0;uchar sg;//时高位uchar sd;//时低位uchar fg;//分高位uchar fd;//分低位uchar mg;//秒高位uchar md;//秒低位uchar hou=0;uchar min=0;uchar sec=0;uchar subadd;//地址uchar dat;//数据uchar number;void start_pcf8563();//开始数据void send_pcf8563_byte();//发送void stop_pcf8563();//结束数据void receive_pcf8563_byte();//接收void spit_time();//分别计算时、分、秒的各位数字void spit_time()//分别计算时、分、秒的各位数字 sg=(int)hou/10; sd=(int)hou%10; fg=(int)min/10; fd=(int)min%10; mg=(int)sec/10; md=(int)sec%10;}void Send_pcf8563_byte(uchar bb) //向PCF8563发送一个字节 uchar aa; pcf8563_scl=0; for(aa=0;aa<8;aa++) if((bb&0x80)==0x80) pcf8563_sda=1; } else pcf8563_sda=0; } pcf8563_scl=1; pcf8563_scl=0; bb=bb<<1; } _nop_(); _nop_(); pcf8563_sda=1; pcf8563_scl=1; busy=0; if(pcf8563_sda) busy=1; } else _nop_(); _nop_(); pcf8563_scl=0; busy=0; }}void write_pcf8563(uchar subadd,uchar dat)// 向PCF8563对应地址写数据 start_pcf8563(); Send_pcf8563_byte(0xa2); if(!busy) Send_pcf8563_byte(subadd); if(!busy) Send_pcf8563_byte(dat); } } stop_pcf8563();}void read_pcf8563() //读当时的时,分,钞 start_pcf8563(); Send_pcf8563_byte(0xa2);if(!busy) Send_pcf8563_byte(0x02); if(!busy) start_pcf8563(); Send_pcf8563_byte(0xa3); receive_pcf8563_byte(); sec=number&0x7f;start_pcf8563(); Send_pcf8563_byte(0xa3); receive_pcf8563_byte(); min=number&0x7f;start_pcf8563(); Send_pcf8563_byte(0xa3); receive_pcf8563_byte(); hou=number&0x3f; }}stop_pcf8563();}void receive_pcf8563_byte() //从PCF8563接受一个字节pcf8563_sda=1; number=0; for(cc=0;cc<8;cc++) number<<=1; pcf8563_scl=0; pcf8563_scl=1; _nop_(); _nop_(); number= number|pcf8563_sda; } pcf8563_scl=0; _nop_(); _nop_();}void start_pcf8563() //开启PCF8563IICpcf8563_sda=1;pcf8563_scl=1;pcf8563_sda=0;//SCL为高,SDA执行一个下跳pcf8563_scl=0;//SCL为低,嵌住数据线}void stop_pcf8563() //关闭PCF8563IICpcf8563_sda=0;pcf8563_scl=1;pcf8563_sda=1;//SCL为高,SDA执行一个上跳pcf8563_scl=0;//SCL为低,嵌住数据线}void main(void)write_pcf8563(0x02,sec); //写钞write_pcf8563(0x03,min); //写分write_pcf8563(0x04,hou); //写时while(1) read_pcf8563();//读当前时间 spit_time(); //切换时间,为显示做准备}} 如果还是不行,你把你的代码给我看看,看我能不能看出来

谁有单片机io口模拟i2c读写AT24C256的程序


文章TAG:多少at24c256  多少个字节  AT24C256存储大小为256Kb按字节方式组成32Kb内部存储空间在一个资料上  
下一篇