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


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

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

    功能介绍:

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

    下面是部分程序展示:

     

    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);
      }

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

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

  • 相关阅读:
    IntelliJ IDEA 快捷键 Windows 版本
    Altium Designer培训 | 2 - 原理图库创建篇
    Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.2 从零移植 Ubuntu,基于RISC-V
    【21天python打卡】第4天 基础语法(2)
    算法7.从暴力递归到动态规划0
    中国个人生活小家电市场投资前景分析及供需格局研究预测报告
    面试半年,上个月成功拿到阿里offer,全靠我啃烂了学长给的这份笔记
    美林投资时钟策略如何运用?
    Swagger有哪些非常重要的注释?
    Kotlin 中的协程 flow
  • 原文地址:https://blog.csdn.net/m0_74295839/article/details/127943971