1.新建项目导入AT24C02、Key、Delay、LCD1602、DS18B02相关文件
2.编写main.c函数
#include <REGX52.H>
 #include "LCD1602.h"
 #include "Delay.h"
 #include "Key.h"
 #include "AT24C02.h"
 #include "DS18B02.h"
float T=0,Tshow=0;
 unsigned char t_low=0,t_high=0;
void main()
 {
     unsigned char keynum;
     LCD_Init();
     while(1)
     {
         //读取阈值部分
         t_high = AT24C02_ReadByte(0);
       t_low = AT24C02_ReadByte(1);
         if(t_high>125 || t_low<-55 || t_high <= t_low)
         {//如果阈值非法,则设为默认值
             t_high=20;            
             t_low=15;
         }
        t_Trans();
         T=t_Read();
         Tshow=T;
         if(Tshow<0)
         {
             LCD_ShowChar(1,1,'-');
             Tshow=-Tshow;
         }
         else
         {
             LCD_ShowChar(1,1,'+');
         }
         LCD_ShowNum(1,2,Tshow,3);
         LCD_ShowChar(1,5,'.');
         LCD_ShowNum(1,6,(unsigned long)(Tshow*10000)%10000,3);
         
         //阈值调整
         keynum=Key();
         if(keynum==1)
         {
             if(t_high<125)
             t_high++;
         }
         if(keynum==2)
         {
             if(t_high-1==t_low||t_high-1==-56)t_high++;
             else t_high--;
         }
         if(keynum==3)
         {
             if(t_low<t_high)
             t_low++;
         }
         if(keynum==4)
         {
             if(t_low>-55&&t_low<t_high)
             t_low--;
         }
         
         
         //显示超过阈值部分
         if(Tshow<t_low)
         {
             LCD_ShowString(1,10,"lower");
         }
         else if(Tshow>t_high)
         {
             LCD_ShowString(1,10,"higher");
         }
         else
         {
             LCD_ShowString(1,10,"      ");
         }
         
         LCD_ShowNum(2,1,t_high,4);
         LCD_ShowNum(2,7,t_low,4);
         AT24C02_WriteByte(0,t_high);
         Delay(5);
         AT24C02_WriteByte(1,t_low);
         Delay(5);
     }
     
 }
3.效果展示
DS18B02按键控制模块实现效果