基于stm32单片机的智能恒温箱游泳池

资料编号:104  下面是相关功能视频演示:

104-基于stm32单片机的智能恒温箱游泳池控制系统Proteus仿真(源码+仿真+全套资料)

功能介绍:

采用stm32单片机,程序可以设置最高值和最低值,当温度超过最高值,制冷电机启动,当温度低于最低值,加热电机启动,使整个系统维持一个恒温状态,适用于恒温箱、恒温游泳池、恒温鱼缸之类等等应用,全套资料齐全:

基于stm32单片机的智能恒温箱游泳池_第1张图片

下面是部分程序展示:

 

int main(void)
    
{

    SystemCoreClockUpdate ();
     LCD1602_Init();
    LCD1602_ShowStr(2,0,"tempe=000.0C",13);
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    GPIO_InitTypeDef g;
    g.GPIO_Mode = GPIO_Mode_Out_PP;
    g.GPIO_Speed = GPIO_Speed_10MHz;
    g.GPIO_Pin = GPIO_Pin_8  ;
    GPIO_Init(GPIOB,&g);
     GPIO_SetBits(GPIOB,GPIO_Pin_8);    //输出1

   t=DS18B20_DQ_IN;
while(t){
        DS18B20_IO_OUT();     //SET PG11 OUTPUT

    DS18B20_DQ_OUT=0;     //拉低DQ
      Delay_DS18B20(750);         //拉低750us
    DS18B20_DQ_OUT=1;     //DQ=1 
      Delay_DS18B20(15);         //15US
        DS18B20_IO_IN();    //SET PG11 INPUT     
    Delay_DS18B20(100);
        t=DS18B20_DQ_IN;
//         LCD_ShowNum(13,0,t);
}
 tem=DS18B20_Get_Temp();
        Delay_DS18B20(1000000);
LED_Init();               //初始化IO口
while(1)
    {    
    tem=DS18B20_Get_Temp();//读取温度
        if(    tem>0)             //温度为正
        {    a=tem/100;
        b=tem%100/10;
        c=tem%10;
        LCD_ShowChar(8,0,'+');
    LCD_ShowNum(9,0,a);    
    LCD_ShowNum(10,0,b);
    LCD_ShowNum(12,0,c);
    if(tem>100)  //设置比较值,100是指10.0℃
    {
    GPIO_ResetBits(GPIOA,GPIO_Pin_1);    //输出0
    GPIO_ResetBits(GPIOA,GPIO_Pin_2);    //输出0
    }
    else
    {
    GPIO_SetBits(GPIOA,GPIO_Pin_1);    //输出1
    GPIO_SetBits(GPIOA,GPIO_Pin_2);    //输出1
    }
    
    if(tem<50)  //设置比较值,50是指5.0℃
    {
    GPIO_ResetBits(GPIOA,GPIO_Pin_3);    //输出0
    GPIO_ResetBits(GPIOA,GPIO_Pin_4);    //输出0
    }
    else
    {
    GPIO_SetBits(GPIOA,GPIO_Pin_3);    //输出1
    GPIO_SetBits(GPIOA,GPIO_Pin_4);    //输出1
    }
        }
    else                            //温度为负
    {    
//        tem1=(int)tem;
//        tem1=abs(tem1);
        tem1=-(tem);
        tem1=tem1+1;
        a=tem1/100;
        b=tem1%100/10;
        c=tem1%10;
    LCD_ShowChar(8,0,'-');
    LCD_ShowNum(9,0,a);    
    LCD_ShowNum(10,0,b);
    LCD_ShowNum(12,0,c);
        
    }
    Delay_DS18B20(100000);
  }

基于stm32单片机的智能恒温箱游泳池_第2张图片

下面是该资料的分享下载链接:

https://pan.baidu.com/s/1kkHsvaIII-DqPtD_m6z14A?pwd=p3gb 

你可能感兴趣的:(单片机,stm32,嵌入式硬件)