2022-3-21 课题设计:基于单片机的DS18B20测温(数码管显示)

基于单片机的DS18B20测温(数码管显示)

说明:代码和仿真图可直接下载使用,仿真软件用的是Proteus8.10,编程用的是keil4

该系统由51单片机和DS18B20温度传感器及四位共阳极数码管组成

功能为通过1820传感器测出温度传输到数码管显示

还可以扩展按键设置温度的上下限

加上蜂鸣器等实现阈值报警等功能

针对DS18B20传感器

这里需要做一点说明

单总线1820传感器有很高的时序要求

如果在模拟仿真过程中延时达不到要求是不能转换出正确的温度的

我自己有驱动代码 用在15单片机上很正常

但是将此驱动代码用在51仿真中就得不到正确的温度

其原因就是因为时序不同 达不到要求 所以得不到正确的温度

经过调整现在的代码已经能正确的测温了

代码和仿真图大家可以直接下载使用

以下是仿真的测温图片

部分代码如下:


void main()
{
 //rd_temperature();

  while(1)
   {
   //T=rd_temperature();
   read_temp();
   display1(tvalue/100,tvalue%100/10);
   display2(tvalue%10,10);
   }
}