模拟升降控制器项目

本文介绍了基于STM32的模拟升降控制器项目,详细阐述了需求分析,包括LCD模块、按键、PWM、GPIO输出、LED灯和状态机控制等功能实现。在问题及解决思路部分,讨论了代码优化、volatile变量的使用以及LCD屏幕显示实时性问题的解决方案。
摘要由CSDN通过智能技术生成

赛题真题:

蓝桥杯嵌入式第八届省赛真题-模拟升降控制器资源-CSDN文库


目录

一、需求分析

二、问题及解决思路


一、需求分析

(一)LCD模块

1. 显示实时时钟,启用RTC功能;

2. 显示当前所在平台,当升降机运行到目标平台时,数字闪烁两次。

功能实现:

1. RTC时钟配置为24小时制,应注意的是时、分、秒显示固定为两位,例如0点1分1秒应显示为00:01:01,方法为在使用打印函数时用“%02d”来补齐缺失的0并对齐;

2. 设置当前平台更新标志、到达目标平台标志,在状态机控制函数中为标志赋值,LCD控制函数接收到标志更新即执行功能。

(二)按键

1. 4个按键分别代表4个平台;

2. 按下当前平台对应的按键无效;

3. 一次可以设定多个目标平台,升降机的升降顺序与按键顺序无关,当存在要上行的平台时,优先走完设定的上行平台,之后再走下行的平台;

4. 在最后一次按键按完 1 秒之后,模拟电机开始运行;电机运转期间按键无效。

功能实现:

1. 定义模拟电机运行状态标志,在按键等待结束后将其置1,所有标记的平台全部执行完毕后清零,实现限制按键功能;

2. 模拟电机没有运转时对按键进行扫描;按下的键值不等于当前所在平台,标记相应楼层;

3. 当读取到有效键值,开始等待计时,达到时间后将模拟电机状态标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值