标题: 有谁知道ds18b02测温度程序在stc89c52可以运行,换了11f04e-20dip就不能正常显示温度. [打印本页]

作者: baidi77    时间: 2020-1-3 16:49
标题: 有谁知道ds18b02测温度程序在stc89c52可以运行,换了11f04e-20dip就不能正常显示温度.
用ds18b02测温度,同样的程序没有改动过,在89c52 40针脚芯片上可以正常显示温度,换了11f04e 20针脚芯片就不能显示温度.是什么问题?是不是11f04e芯片是1T运行速度,运行速度太快,对ds18b02读取的时序不一样了,读取有误差?89c52这类芯片有20针脚的吗?

作者: 51hei**1140    时间: 2020-1-3 18:10
你好!
1、继续用 11f04e 可以修改18B20 的控制时序
2、换用 STC89C2051,20脚单片机
作者: f556    时间: 2020-1-3 19:08
STC89c52、11f04e我都驱动过DS18B20,你的怀疑是对的,1T的速度是真的快了很多(近12倍),重新调试delayms、delayus函数。
作者: baidi77    时间: 2020-1-3 19:27
51hei**1140 发表于 2020-1-3 18:10
你好!
1、继续用 11f04e 可以修改18B20 的控制时序
2、换用 STC89C2051,20脚单片机

好的谢谢
作者: baidi77    时间: 2020-1-3 22:26
f556 发表于 2020-1-3 19:08
STC89c52、11f04e我都驱动过DS18B20,你的怀疑是对的,1T的速度是真的快了很多(近12倍),重新调试delayms ...

谢谢指点
作者: jizhongbiao    时间: 2020-1-4 11:05
最好不要用软件延时,要习惯使用定时器。要不程序跑起来断断续续的想想就难受。。。。
作者: my_qianhe    时间: 2020-1-5 21:34
速度太快了,时许对不上
作者: Y_G_G    时间: 2020-1-6 11:39
如果单片机型号有变动,其它功能又用不到定时器,最好是用12MHZ晶振,然后都是用定时器,STC单片机定时器默认值都是12T的,这样一来,不管你换什么型号的单片机,在18B20这一块都不会出问题的




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1