w灰太狼x 发表于 2013-4-23 22:41:53

用12写的温度显示放在读DS12C887内部时间的后面时....

我用stc12单片机写了一个时钟程序,主函数中温度处理和显示函数放在DS12C887读内部时间后面就会出错,有时时间小时位上不能设置,不管设置为多少都会变成48或53,用51写的不会发生这种情况.这是怎么回事呢?????????

w灰太狼x 发表于 2013-4-25 11:23:34

怎么没人帮我啊?

bigeblis 发表于 2013-4-25 21:16:53

不把详细代码发上来谁知道你哪里错了啊?
很明显哪个变量错误的传递了

w灰太狼x 发表于 2013-4-26 14:22:35

bigeblis 发表于 2013-4-25 21:16 static/image/common/back.gif
不把详细代码发上来谁知道你哪里错了啊?
很明显哪个变量错误的传递了

好的,这就传代码.

电子爱好者_MCU 发表于 2013-4-26 15:00:29

应该是时序的问题

电子爱好者_MCU 发表于 2013-4-26 15:00:55

本帖最后由 电子爱好者_MCU 于 2013-4-26 15:02 编辑

这个现象 好像初始化失败了

smhacker 发表于 2013-4-27 12:48:19

我怀疑是你DS12C887供电问题,我以前遇到过这个问题,后来单独供电解决了!

w灰太狼x 发表于 2013-4-27 13:04:16

smhacker 发表于 2013-4-27 12:48 static/image/common/back.gif
我怀疑是你DS12C887供电问题,我以前遇到过这个问题,后来单独供电解决了! ...

有可能,我用的是两节锂电池和usb并联供电的,我试试看看用一个电源供电.谢谢了.

w灰太狼x 发表于 2013-4-27 13:25:21

smhacker 发表于 2013-4-27 12:48 static/image/common/back.gif
我怀疑是你DS12C887供电问题,我以前遇到过这个问题,后来单独供电解决了! ...

不是供电问题哎,刚试了.还是一样的现象,不过我发现时针乱码是由温度部分引起的,温度一变化时针就变化了,不是变成48,就是53.

w灰太狼x 发表于 2013-4-27 13:51:34

就是shi=read_ds12c887(4);这句必须要在display_DS18B20();后面才行.

smhacker 发表于 2013-4-27 18:39:40

w灰太狼x 发表于 2013-4-27 13:51 static/image/common/back.gif
就是shi=read_ds12c887(4);这句必须要在display_DS18B20();后面才行.

我建议你用个适配器加7805单独给DS12C887供电,记得和单片机共地,如果还是有问题那要么DS12C887问题,要么程序问题,最好还是贴程序处理帮你分析分析。

smhacker 发表于 2013-4-27 18:40:26

另外就是控制总线上最好加上拉电阻试试。

w灰太狼x 发表于 2013-4-27 23:39:58

smhacker 发表于 2013-4-27 18:40 static/image/common/back.gif
另外就是控制总线上最好加上拉电阻试试。

我一直都加了10k的上拉电阻,程序也上了。
页: [1]
查看完整版本: 用12写的温度显示放在读DS12C887内部时间的后面时....