根据所学的stm32 的GIO应用 I2C 中断 AD转换等等知识
制作一个温度控制系统
任务要求
- 温度测量范围:-10~70摄氏度,显示分辨率0.1摄氏度,精度0.5摄氏度;
- 数码管显示当前温度,并能配合键盘设置温度限值;
- 通过键盘设置温度控制设定值,设定低温限和高温限,报警低限和报警高限;
- 设定参数可以掉电保存,上电恢复;
- 可利用声音和灯光报警,并在不同状态下体现不同的报警声音;
- 两路控制继电器作为执行机构(bang-bang(滞环控制)控制方式)
设计
通用温控系统总体框图
思维导图 整体思路
操作流程
操作流程:
- 正常打开显示的是当前环境的温度值,第一个led灯常亮,当环境温度低于设定的温度下限,或者环境温度高于设定的温度上限,蜂鸣器会响第一个led灯会灭。
- 查看温度上下限:在正常没有处于设置上下限状态下,按下按键16,数码管的前两位显示温度报警的上限,数码管的后两位显示温度报警的下限。
- 设置温度上下限和温度报警上下限:在正常状态下,按下功能键15进入设定温度报警下限状态,并同时进入10s的倒计时,如果在10s内没有有效的操作,则设置状态退出,(此时数码管第一位显示功能键的个位数,第二位显示10s倒计时剩余时间),如果设置负数按功能键11,如果设置正数可以不按,如果设置的是一位数,按下该数对应的按键后按下功能键16进行确定,如果设置的两位数则先按下该数的十位再按下个位,最后确定即可。(数码管第三位会显示设置的十位数,第四位显示设置的个位数,初始值是0)每次按键都重新进行计时。相对应的如果设置温度报警上限首先按功能键14,设置温度下限按功能键13,设置温度上限按功能键12,其余操作都一致。
else
该项目演示 链接
这是个综合应用 使用的知识是stm32的一些基本知识
这些都在博客中有相应的文章列出
具体每部分的知识可以到相应的文章查看
链接
更多STM32学习教程
- STM32 cubemx keil5搭建学习环境
- 使用STM32 cubemx keil5实现led灯与数码管控制
- 基于STM32 CubeMx keil5实现键盘的应用
- 基于STM32 CubeMx keil5实现串口通信 I2C与GPIO综合应用
- 基于STM32 CubeMx keil5实现AD转换获取温度
- 基于STM32 CubeMx keil5 学习使用I2C
- 基于STM32 CubeMx keil5 学习使用串口通信
- 基于STM32 CubeMx keil5应用定时器
- 基于STM32 cubemx keil5学习使用中断
- 基于STM32 cubemx keil5综合应用实现温度控制系统