DS1302时钟写入数据读出数据不一致(255)

问题

DS1302时钟写入数据读出数据不一致(255)

详细问题

51单片机入门教程-2020版 程序全程纯手打 从零开始入门P24 [10-2] DS1302时钟&可调时钟
视频28分钟写入数据为3,读出数据为255,DS1302时钟写入数据读出数据不一致。

解决方案

对于DS1302时钟进行写入操作时,先编写该代码

DS1302_WriteByte(0x8E, 0x00);

具体写入函数

void DS1302_WriteByte(unsigned char Command, Data){
    
    
	unsigned char i;
	DS1302_CE=1;
	for(i=0; i<8; ++i){
    
    
		DS1302_IO=Command&(0x01<<i);
		DS1302_SCLK=1;
		DS1302_SCLK=0;
	}
	for(i=0; i<8; ++i){
    
    
		DS1302_IO=Data&(0x01<<i);
		DS1302_SCLK=1;
		DS1302_SCLK=0;
	}
	DS1302_CE=0;
}

原因

由于使用的芯片默认处于写保护状态
需要使用

DS1302_WriteByte(0x8E, 0x00);

解除芯片写保护

原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/T_Y_F_/article/details/128309773
今日推荐