一,DS1302写时间 读出来的时间是十六进制,需转换成十进制
写进去也应该是十六进制
WP写保护位,寄存器写地址0X8E,1为写保护,禁止写。0解除
CH(clock halt) 时钟停止位,寄存器写地址0x80,1为停止,0为正常。
(年寄存器只能是00-99,注意20需自己写)
年月日时分秒写寄存器 都需将十进制转为十六进制。
最好按年月日时分秒顺序操作,最后写秒,同时修改秒寄存器的CH位 开启时钟
重新打开写保护
二,读时间
不需更改读写地址,在操作时序中已更改,只需放入一个地址即可。
与写时间大致相同,不需暂停和写保护, 最后需要十六进制转十进制
二 18B20时序操作问题
(温度显示不正常,一般是时序,延迟,返回值不对)
1.调用官方库,将官方自带延时函数修改为STC延时计算器生成15!微秒代码替换,18b20正常!!!!!!切记 15μs
2.自行编写温度转换流程函数,
(1)初始化init18b20(调用库)
(2)写字节(调用库)write_18b20(0xcc) skip ROM
(3)写字节 write_18b20(0x44) convert T
(4)(可稍作延时)
(5&#x