51单片机DS18B20温度控制问题

用TX-1C开发板模拟这个程序,在keil软件中是没有问题的,但是一上开发板就不行了,不知道是不是管脚的问题,开发板的DS18B20的输入口试P2.2我要用开发板上四个独立的键盘来进行温度输入,用四位数码管显示就可以了,但是开发板上的是6为数码管,我用开发板就出现了全是乱码,不知道是不是程序问题,求各位大神帮忙看看
回去仔细看了下 ,的确是时序这有问题,开发板上用的是一个P1口来控制的,用了两个74HC573来控制段和位的,74HC573 这个没用过 ,不会这个来控制段和位,哪位达人会用这个来显示数字,用汇编来实现这个功能,谢谢了

第1个回答  2010-05-12
我现在也在做有关DS18B20的程序,你说的在keil软件中没问题是指编译没问题?如果你的程序没问题,你可以看看你的开发板的数码管是共阴还是共阳的,也许你的段码不正确也是有可能的。如果没问题,你就要看看你的开发板晶振是多少的,你写的软件的时序是否配得上DS18B20的时序要求了。最后就是六位数码管和四位数码管不是一样的吗?你只要在程序中确定哪个点亮哪个不点亮,就好了,数码管个数不同对你的程序影响不大,他只是让人能直观的看到而已。

所以,我觉得是你的时序有问题。
第2个回答  2010-05-10
若是不是硬件的问题的话,那么你的数码管显示程序一定用的还是有六位位选线的程序,试一下把六位位选线改为四位,试一下吧!本回答被提问者采纳
第3个回答  2010-05-10
看了好几遍你的描述,感觉你在说用软件模拟 DS18B20 的时序然后又接上真实的DS18B20,结果不行.如果这样的话,是你的软件模拟有问题,不符合单总线的时序. 还有"用开发板上四个独立的键盘来进行温度输入",不明白什么意思,温度不是 DS18B20 测出来的么? 数码管显示问题应该是硬件电路不一样.本回答被网友采纳

51单片机与DS18B20做的数字温度计,为什么刚上电时都会显示的值是半...
1因为ds18b20内部ad转换时间大约750mS(12位ad),所以上电后750ms后才能将ad值刷新出来,2解决方法,进入主程序先转换采集一次DS18B20,先不送显示,然后延时约1秒,然后再进入大循环进行采集,送显示就可以了

51单片机DS18B20温度传感器原理及实验
实验程序分为多个部分,包括初始化、写时序、读时序和执行特定指令。每个步骤都对应特定的单总线操作,如温度转换指令、读取温度命令等。完成上述步骤后,即可通过编程实现DS18B20在51单片机开发板上的实际应用。完整实验教程可以在相关视频平台找到,如哔哩哔哩,提供详细的编程指导。

各位帮我看下这个18B20显示温度程序有什么问题~~多谢了
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。源程序:#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsign...

关于51单片机与DS18b20温度转换的问题 书上说温度转换代码0X44发送后...
与温度没有任何关系的,只能说是数据可以稳定一些。如有帮助请采纳,手机则点击右上角的满意,谢谢!!

用单片机测温,ds18b20一直显示95。0
而且貌似DS18B20是没有晶振的吧。读错了,大致两种问题。一,单片机的时间与书本上的时间不同,比如说书本上是用的是AT89C51,你使用的是STC12C5A60S2,这两种就完全不一样了,STC12C5A60S是单时钟的51单片机,STC12C5A60S2的速度比AT89C51的快很多,导致时序错误,读取的数据也就错误了。二,读取...

基于51单片机的温度控制器
引脚号在图上已经标出。再给你一个单片机采集DS18B20温度的程序,用四位数码管显示的。你把DS18B20接在RT附近就可以测试出RT的温度,调节图中的滑动变阻器可改变温度的上下限。这样就能做到温度控制了。\/\/安装目录下的EXE文件打开后可在电脑上显示当前温度值 include <reg52.h> define uchar unsigned ...

用AT89C51单片机和温度传感器DS18B20S设计数字式温度计
该设计控制器使用的是51单片机AT89S52,AT89S52单片机在工控、测量、仪器仪表中应用还是比较广泛的。测温传感器使用的是DS18B20,DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。显示是用4位共阴极LED数码管实现温度显示,...

DS18B20 与51单片机 怎么用 ?
DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。51单片机使用方法:1.将仿真器插入需仿真的用户板的CPU插座中,仿真器由用户板供电;2.将仿真器的串行电缆和PC机接好,打开用户板电源;3.通过Keil C 的IDE 开发仿真环境UV2 下载用户程序进行仿真、调试。51单片机是...

急求ds18b20数码管显示不稳的问题。51单片机ds18b20用数码管显示温度...
电路很简单,应该不会有问题!把程序贴出来看看。 估计是显示模块的问题。TABLE[]是怎么定义的。 把shi ge 改成字符型试试。

单片机AT89C51和DS18B20温度检测并在数码管上显示出来,程序和现象如 ...
1、针对你的程序,先屏蔽掉1820,直接给数据,显示正常,说明显示程序部分可用,如下:include<reg51.h> define uchar unsigned char define uint unsigned int sbit DQ= P1^0;sbit smg0=P3^0 ;sbit smg1=P3^1 ;sbit smg2=P3^2 ;sbit smg3=P3^3;int temp ;unsigned char code smg_du...

相似回答