基于stm32精英版的温控风扇源码

发布者:星辰耀眼最新更新时间:2020-08-12 来源: 51hei关键字:stm32  精英版  温控风扇 手机看文章 扫描二维码
随时随地手机看文章

用stm32F103ZET6精英版,温度传感器是DS18B20,1602液晶显示屏,利用温度来控制转速,液晶显示屏显示实时转速,也可手动调节转速。(采用pi控制)

电路原理图如下:


单片机源程序如下:

#include "delay.h"

#include "key.h"

#include "sys.h"

#include "timer.h"

#include "lcd1602.h"

#include "encoder.h"

#include "control.h"

#include "usart.h"                          

#include "usart3.h"                          

#include "hc05.h"  

#include "string.h"          

#include "usmart.h"       

#include "ds18b20.h"




        u8 w=0;

        int k=0;

extern int real;

vu8 key=0;

u8 reclen=0;

extern int temperature;

int main(void)

{               

        delay_init();          

        LCD_GPIO_Configuration();

        LCD1602_Init();

        KEY_Init();//按键初始化;

  ENCODER_Init();

  TIM2_Int_Init(19999,35);

        TIM3_PWM_Init(7199,0); //不分频。PWM频率=72000000/900=80Khz         

        DS18B20_Init();

//usmart_dev.init(72);         //初始化USMART                         

        delay_ms(5000);                        //等待蓝牙模块上电稳定

        LCDshowNum(0,0,"EV:",SpeedSet);       

        LCDshowNum(0,1,"RV:", real);

        LCDshowTNum(9,1,"T:",temperature);

//        while(HC05_Init())                 //初始化ATK-HC05模块  

//{

//                delay_ms(500);

//        }                                                                                                      

//        delay_ms(100);

//        USART3_RX_STA=0;

       

while(1)

{  

         delay_ms(200);       

         temperature=(int)DS18B20_Get_Temp();       

         LCDshowNum(0,0,"EV:",SpeedSet);       

         LCDshowNum(0,1,"RV:", real);

         LCDshowTNum(9,1,"T:",temperature);

         key=KEY_Scan(0);

                 switch(key)

            {

                             case KEY0_PRES:

                             SpeedSet+=100;               

                                         k++;

                       LCDshowNum(0,0,"EV:",SpeedSet);       

                              break;

                            case KEY1_PRES:

                             SpeedSet-=100;       

             k++;                                         

                       LCDshowNum(0,0,"EV:",SpeedSet);       

                              break;

                             default:break;

                    }

         if(k==0&&temperature>270)

                {

                                   SpeedSet=2200;                       

                      LCDshowNum(0,0,"EV:",SpeedSet);                                       

    }

         if(k==0&&temperature<270&&temperature>250)

                 {

                                   SpeedSet=2100;                       

                                       

                      LCDshowNum(0,0,"EV:",SpeedSet);       

                                       

      }

                 if(k==0&&temperature<250&&temperature>200&&temperature==200&&temperature==250)

                 {

                                  SpeedSet=2000;                       

                      LCDshowNum(0,0,"EV:",SpeedSet);               

      }

                 if(k==0&&temperature<200)

     {

                                   SpeedSet=1800;         

                       LCDshowNum(0,0,"EV:",SpeedSet);                               

      }

                 

}

       

         }



关键字:stm32  精英版  温控风扇 引用地址:基于stm32精英版的温控风扇源码

上一篇:详细stm32f103c8t6引脚说明中文
下一篇:STM32+SHT30(DS18B20)+0.96寸OLED(IIC)的温度湿度显示程序

推荐阅读最新更新时间:2024-11-10 20:49

stm32单片机12864驱动
/**************************************************************** 【文 件 名 称】lcd12864.h 【功 能 描 述】lcd12864 头文件 【 作 者 】shifu *****************************************************************/ #ifndef __LCD12864_H #define __LCD12864_H //**************************************************************** #include stm32f10x_gpi
[单片机]
STM32串口USART配置、发送与接收
一、配置时钟:GPIO时钟、串口时钟、复用引脚时钟 二、配置GPIO结构体 三、配置串口结构体 //串口初始化示例 void usart_init(void) { //创建结构体 GPIO_InitTypeDef gpioinitStructure; USART_InitTypeDef usartinitStructure; NVIC_InitTypeDef NVICinitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); //设置时钟 RCC_APB2PeriphClockCmd(RCC_APB2Pe
[单片机]
<font color='red'>STM32</font>串口USART配置、发送与接收
一文解析STM32、GD32、ESP32差异
前言 STM32:意法半导体在 2007 年 6 月 11 日发布的产品,32位单片机。 GD32:兆易创新 2013 年发布的产品,在芯片开发、配置、命名上基本模仿 STM32,甚至 GPIO 和 STM32 都是 pin to pin 的,封装不改焊上去直接用。有时候 STM32 的源码不修改,重新编译烧写到 GD32 上就可以跑。当然也有很多不同,比如串口驱动、USB 、库文件等。 ESP32:乐鑫公司 2017 年开发的产品,和 STM32、GD32 不同,ESP32 主要面向物联网领域,支持功能很多,但引出 GPIO pin 脚很少,因此大多数 GPIO 都有很多复用功能。出厂就集成蓝牙、WiFi 等物联网必备功能
[单片机]
一文解析<font color='red'>STM32</font>、GD32、ESP32差异
2021年STM32中国峰会在深圳举行,ST携合作伙伴展示创新成果
2021年STM32 中国峰会在深圳举行,意法半导体携合作伙伴展示创新成果 • 以 芯”生态、“助”安全、“连”未来为主题,2021年STM32峰会聚焦工业与安全、人工智能与传感技术、云接入与连接、生态与创新 • 在为期两天的线下/线上展会及分会场中,意法半导体与35个合作伙伴将带来200多个方案演示和55场技术研讨会 2021年4月27日,中国深圳 – 服务多重电子应用领域的全球半导体领导者意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM) 将于4月28-29日在深圳华侨城洲际大酒店举行2021年STM32中国峰会。 作为备受瞩目的业界年度盛会,第五届STM32峰会即将拉开帷幕。
[单片机]
STM32/GD32芯片信息
因为需要自动适配芯片进行系统配置,所以我们有必要通过读取一些系统寄存器来获取必要信息。 我们的代码需要兼容STM32F1/GD32F1/STM32F0/STM32F4 代码如下: #ifdef STM32F0XX void* p = (void*)0x1FFFF7AC; #else void* p = (void*)0x1FFFF7E8; #endif memcpy(ID, p, ArrayLength(ID)); CPUID = SCB- CPUID; uint MCUID = DBGMCU- IDCODE; // MCU编码。低字设备版本,高字子版本 RevID = MC
[单片机]
详解stm32的定时器8输出PWM
我在定时器3的例程上面改,改了很久都没改好,百度看别人说定时器1和定时器8需要额外的指令用于PWM输出,今天下午硬件的人来要东西了,来不及研究了,于是网上找了个定时器8的4个通道全部可以输出的例程记录一下,已经经过本人试验是OK的。 1.调用: TIM8_PWM_Init(1439 ,0); //不分频。PWM频率=72000000/1440=50Khz 2.函数源码: //TIM8 PWM部分初始化 //PWM输出初始化 //arr:自动重装值 //psc:时钟预分频数 void TIM8_PWM_Init(u16 arr,u16 psc) { GPIO_InitTypeDef
[单片机]
单片机串口处理获得的经验(stm32
最近搞了一个stm32串口数据帧批处理代码,遇到了很多问题,作为刚工作的我,经验太缺乏,实在是需要总结一番,以避免以后再出现同样的错误。 大致情况罗列如下: 1、串口接收中断处理 在学校的时候根本没有接触过什么循环处理的方法,到现在我也讲不上来这个方法的名字是什么,反正自己会运用了。大致的情况是环形数组处理,代码如下: //====================== 接收数据中断 if( USART_GetITStatus( COM_USARTx, USART_IT_RXNE ) != RESET ) { if( COM_Rx_Sign == 1 )
[单片机]
基于STM32+RC522设计的门禁系统
一、项目背景 门禁系统是现代社会中非常重要的安全控制系统之一,其功能是在保障建筑物安全的同时,为合法用户提供便利。当前设计一种基于STM32+RC522的门禁系统设计方案,通过RFID-RC522模块实现了对用户卡的注册、识别及身份验证,通过控制SG90舵机实现门锁的开关,具有较高的安全性和可靠性。实验结果表明,该门禁系统可以有效地保障建筑物的安全性。 门禁系统广泛应用于各种建筑物、企事业单位,用于管理人员的进出、控制人员活动范围、实现安全监控等功能。传统的门禁系统采用密码输入或刷卡的方式进行身份验证,但存在易被破解的风险。基于RFID的门禁系统已经成为一种相对先进的安全控制方案。 本次设计的STM32+RC522门
[单片机]
基于STM32+RC522设计的门禁系统
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved