永发信息网

12c887 断电时间不走???

答案:3  悬赏:30  手机版
解决时间 2021-02-06 17:38
  • 提问者网友:两耳就是菩提
  • 2021-02-06 13:04
ds12c887+ 断电后 再上电 发现时间是我上次断电时时间 断电这段时间没走!!!但是数据保存完好 电池检测也正常啊!!!郁闷?????谢谢指教!!!

上电是可以运行的 A也是 20h 晶振 也打开了 就是 一断外部电源 就停到哪了 下次上电,就接着上次断电时继续走!!!郁闷。。。是不是有什么资料中没有提到的寄存器可以控制???还是坏了?
最佳答案
  • 五星知识达人网友:西岸风
  • 2021-02-06 13:55
它的内部晶振默认是关闭的,因此初始化DS12C887时需要用指令打开内部晶振。

write_ds(0x0a,0x20)

write_ds 是写命令,因为引脚接法不同,需自己定义。

好像有个命令可以测试内部电池有否还有电,你查查看!
全部回答
  • 1楼网友:独钓一江月
  • 2021-02-06 16:28
得看你的程序了 一般都是程序
  • 2楼网友:煞尾
  • 2021-02-06 15:24
void write_ds(uchar add,uchar date) {//写12c887函数 dscs=0; dsas=1; dsds=1; dsrw=1; p0=add;//先写地址 dsas=0; dsrw=0; p0=date;//再写数据 dsrw=1; dsas=1; dscs=1; } uchar read_ds(uchar add) {//读12c887函数 uchar ds_date; dsas=1; dsds=1; dsrw=1; dscs=0; p0=add;//先写地址 dsas=0; dsds=0; p0=0xff; ds_date=p0;//再读数据 dsds=1; dsas=1; dscs=1; return ds_date; } //*---首次操作12c887时给予寄存器初始化--- void set_time() {//首次上电初始化时间函数 write_ds(0,0); write_ds(1,0); write_ds(2,0); write_ds(3,0); write_ds(4,0); write_ds(5,0); write_ds(6,1); //6 7 8 不能写为零 write_ds(7,1); write_ds(8,1); write_ds(9,0);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯