能帮忙看为什么不能往AT24C512写入数据吗
硬创社
全部评论 默认 最新
华而不斯
2023-10-08 16:27:35 来自广东
为什么你的仿真图没有电源线VCC的?
9HQt14r4g1
2023-10-08 11:59:55 来自浙江
我上次仿真24C02时也是一样无法掉电保存,后面用实物是可以的。这应该是protues的bug.
dalongxia。
2023-09-30 11:40:05 来自黑龙江
学习
6W14N47205 作者
2023-09-29 19:01:47 来自未知
#include [removed] #include [removed] void Delay5us(void) { _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); } sbit scl = P1^1; sbit sda = P1^0; bit bdata nackflag; void start(void)//起始信号 { scl = 1;//首先将scl拉高 sda = 1;//拉高sda Delay5us();//SDA高电平时间持续大于4.7us sda = 0;//低电平持续时间大于4us。 Delay5us(); scl=0; } void stop(void)//结束信号 { sda = 0;//拉低sda scl = 1;//首先将scl拉高 Delay5us();//SDA高电平时间持续大于4.7usD sda = 1;//低电平持续时间大于4us。 Delay5us(); scl=0; } void sendbyte(unsigned char datasend)//发送数据 { int i; scl = 0;//scl为0时是发送数据前,让sda做好准备 for(i=0;i<8;i++)//这里是配置sda的过程,数据转化过程,sda不需要延迟 { //if语句真,else假,0x80(1000 0000),datasend如果最高位是1,最后的结果就是非0,就是真就是if语句 //如果最高位是0,最后的结果就是0,0是假的就是else语句。 if((datasend & 0x80)==0x80) { sda=1; } else //最高位都是0,所以最高位都是0的,sda给0 { sda=0; } datasend=datasend[removed]
没有更多啦~