- 51单片机应用开发25例
- 张新 陈跃琴编著
- 670字
- 2020-08-28 12:15:28
2.2 跑步机启/停和速度控制模块的设计思路
2.2.1 跑步机启/停和速度控制系统的工作流程
跑步机启/停和速度控制系统的工作流程如图2.1所示,需要注意的是这个模块也仅仅对用户的输入以及对用户作出反馈,并不涉及对电动机等控制。
图2.1 跑步机启/停和速度控制模块的工作流程
2.2.2 跑步机启/停和速度控制系统的需求分析与设计
设计跑步机启/停和速度控制模块,需要考虑以下几个方面:
(1)需要一个提供用户输入的通道,以供选择当前的跑步机状态;
(2)需要一个数字显示通道,用于显示当前的跑步机速度及跑步机工作状态;
(3)需要一个良好的算法来区分长时间按键和短时间按键;
(4)需要设计合适的单片机软件。
2.2.3 长按键和短按键检测原理
在51单片机应用系统中,要区别一个按键是被长时间按下还是被短时间按下,有两种检测原理。
(1)使用一个硬件定时器,在第一次检测到按键被按下时去启动这个定时器,当定时器计数溢出之后去检查按键的状态,如果此时按键还处于被按下的状态,则表明按键被长时间按下,需要注意的是在启动定时器之前首先要判断按键是否已经松开,这种检测原理的关键是选择一个合适定时器溢出时间间隔。该检测原理的缺点是要占用一个硬件定时器资源,而优点是可以在其间进行其他操作。
(2)使用一个软件定时器,在第一次检测到按键被按下时将这个软件定时器的计数值增加,在多次检查到这个计数值的状态之后判断按键是否仍然被按下,如果还是被按下,则判断按键为长时间被按下,否则为短时间被按下。该检测原理的关键是选择一个合适的定时器延时时长。该检测原理的缺点是在进行按键定时不能进行其他操作,而优点是不占用硬件定时器。