STM32 Cubemx综合应用-温度控制系统

根据所学的stm32 的GIO应用 I2C 中断 AD转换等等知识
制作一个温度控制系统

任务要求

  1. 温度测量范围:-10~70摄氏度,显示分辨率0.1摄氏度,精度0.5摄氏度;
  2. 数码管显示当前温度,并能配合键盘设置温度限值;
  3. 通过键盘设置温度控制设定值,设定低温限和高温限,报警低限和报警高限;
  4. 设定参数可以掉电保存,上电恢复;
  5. 可利用声音和灯光报警,并在不同状态下体现不同的报警声音;
  6. 两路控制继电器作为执行机构(bang-bang(滞环控制)控制方式)

设计

通用温控系统总体框图
STM32 Cubemx综合应用-温度控制系统_第1张图片

思维导图 整体思路
STM32 Cubemx综合应用-温度控制系统_第2张图片

操作流程

操作流程:

  • 正常打开显示的是当前环境的温度值,第一个led灯常亮,当环境温度低于设定的温度下限,或者环境温度高于设定的温度上限,蜂鸣器会响第一个led灯会灭。
  • 查看温度上下限:在正常没有处于设置上下限状态下,按下按键16,数码管的前两位显示温度报警的上限,数码管的后两位显示温度报警的下限。
  • 设置温度上下限和温度报警上下限:在正常状态下,按下功能键15进入设定温度报警下限状态,并同时进入10s的倒计时,如果在10s内没有有效的操作,则设置状态退出,(此时数码管第一位显示功能键的个位数,第二位显示10s倒计时剩余时间),如果设置负数按功能键11,如果设置正数可以不按,如果设置的是一位数,按下该数对应的按键后按下功能键16进行确定,如果设置的两位数则先按下该数的十位再按下个位,最后确定即可。(数码管第三位会显示设置的十位数,第四位显示设置的个位数,初始值是0)每次按键都重新进行计时。相对应的如果设置温度报警上限首先按功能键14,设置温度下限按功能键13,设置温度上限按功能键12,其余操作都一致。

else

该项目演示 链接

项目代码地址

这是个综合应用 使用的知识是stm32的一些基本知识
这些都在博客中有相应的文章列出
具体每部分的知识可以到相应的文章查看
链接

更多STM32学习教程

  1. STM32 cubemx keil5搭建学习环境
  2. 使用STM32 cubemx keil5实现led灯与数码管控制
  3. 基于STM32 CubeMx keil5实现键盘的应用
  4. 基于STM32 CubeMx keil5实现串口通信 I2C与GPIO综合应用
  5. 基于STM32 CubeMx keil5实现AD转换获取温度
  6. 基于STM32 CubeMx keil5 学习使用I2C
  7. 基于STM32 CubeMx keil5 学习使用串口通信
  8. 基于STM32 CubeMx keil5应用定时器
  9. 基于STM32 cubemx keil5学习使用中断
  10. 基于STM32 cubemx keil5综合应用实现温度控制系统

你可能感兴趣的:(STM32学习与应用)