51单片机温度报警

器件:  

  基于普中51A2单片机

  用到的模块:LCD1602、蜂鸣器、4个独立按键、DS18B20温度传感器。现象说明:

   LCD1602可以显示两行数据,每行可以显示16个字符,第一行显示设定的温度上下限,第二行显示DS18B20测得的实际温度,上下限的温度我们可以通过4个独立按键来调节,K1:TH++     K2:TH--    K3:TL++    K4:TL--,当测得的温度大于上线温度或小于下限温度时蜂鸣器报警。

器件介绍:

DS18B20:

  高集成单总线接口传感器,一条线就可以与单片机通讯,测量结果直接输出数字温度信号,

  测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃

  可编程的分辨率为 9~12 位,对应的可分辨温度分别为 0.5℃、0.25℃、 0.125℃ 和 0.0625℃,可实现高精度测温,由配置寄存器的R1(6位)、R2(5位)控制

  测得的温度以数字量存放到两个8位寄存器中,以补码的形式存在,其中高五位是符号位,高五位是0表示测得的温度值是+,是1为-,把这个数字量转化为十进制温度的方法:真值乘精度,编程实现如下:

    if((value&0xf800)==0xf800)//判断符号位,负温度
	{
		value=(~value)+1; //数据取反再加1
		temp=value*(-0.0625);//乘以精度	
	}
	else //正温度
	{
		temp=value*0.0625;	
	}

DBS18B20内部还带有非易失寄存器EEPROM,可以在断电时保存存储上下限温度,断电后再次开机读取EEPROM的值,就可以获取到上次关机前设置的温度上下限:

  //先写入缓存器
  ds18b20_init();
  ds18b20_check();
  ds18b20_write_byte(0xcc);//SKIP ROM
  ds18b20_write_byte(0x4e);
  ds18b20_write_byte(th);
  ds18b20_write_byte(tl);

  //存进EEPROM
  delay_ms(8);
  ds18b20_init();
  ds18b20_check();
  ds18b20_write_byte(0xcc);//SKIP ROM
  ds18b20_write_byte(0x48);
  delay_ms(5);

实物现象:

温度报警器

原理图:

 

代码:

打包地址:普中51A2单片机温度报警-硬件开发文档类资源-CSDN下载

main()
{     									 
   char key=0; 
   while(1)
   {	
      pt=ReadTemperature(TH,TL,0x3f);		 //上限温度-22,下限-24,分辨率10位,也就是0.25C,TM R1 R0 1 1 1 1 1 
      key=key_scan(0);
      if(key!=KEY_UNPRESS)
      {
         setTime(key);
       }
	     //读取温度,温度值存放在一个两个字节的数组中,
	    delay(100); 
	    covert1();
	    covert0(TH,TL);
	    LCD_Initial();							//第一个参数列号,第二个为行号,为0表示第一行
											//为1表示第二行,第三个参数为显示数据的首地址
	    LCD_Print(0,0,TempBuffer0);	
	    LCD_Print(0,1,TempBuffer1); 	
      //报警功能
      //大于上下限温度就报警
      if(tempValue>=TH||tempValue<=TL)
      {
     	    while(cycle!=0)//循环2000次
		      {
			        BEEP=!BEEP;//产生一定频率的脉冲信号
			        delay(1000);
             cycle--;
		      }
      }
      else
         {
              BEEP=0;//关闭蜂鸣器
         } 
    }
}

C51单片机温度报警系统是一种基于C51单片机温度检测和报警系统。该系统主要由温度传感器、C51单片机报警器和显示屏组成。 在系统中,温度传感器负责实时检测环境温度,并将检测到的温度值传输给C51单片机。C51单片机作为系统的核心控制器,通过程序对传感器的温度数据进行处理和分析,判断当前环境是否存在温度异常。若温度异常,C51单片机会触发报警器,发出警报信号,同时在显示屏上显示警报信息。 实现温度报警系统的关键是编写C51单片机的程序。程序中需要设置温度异常的判断条件,一般是根据预设的温度范围进行比较。当温度超过或低于设定的阈值,即视为温度异常,触发报警器。程序还需要设置报警器的控制信号,以及显示屏上显示的警报信息。 除了基本功能,温度报警系统还可以进行扩展,例如可以设置不同的温度预警等级,加入温度记录功能,方便后期分析与审核。可以通过串口连接计算机,实现数据的实时上传与远程监控。可以将系统与其他设备集成,例如空调、加热器等,实现自动控制,提高温度调节的精确性和智能化程度。 总而言之,C51单片机温度报警系统能够实时监测环境温度,发现温度异常时及时报警,具有广泛的应用价值,可以保护设备、防止温度危害,并为人们提供一个舒适和安全的环境。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

small_planet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值