跑步机启/停和速度控制模块的软件设计重点是按键长短判别代码。
跑步机启/停和速度控制软件模块可以分为启/停控制模块和速度控制模块两个部分,其流程如图2.6所示。
图2.6 跑步机启/停和速度控制模块的软件流程
启/停控制模块的软件包括用于单按键状态判别的函数void StartAndStopKeyScan(),以及定时器/计数器T0的中断处理函数,其应用代码如例2.1所示。
应用代码使用定时器/计数器T0作为长短按键判别的延时计数器,其使用了第一种检测原理来对按键的状态进行判别。
【例2.1】 启/停控制模块的应用代码。
速度控制模块的软件包括了一个用于增加和减小按键进行扫描的函数void keyscan1(),其应用代码如例2.2所示。
应用代码使用软件延时的方法分别对增加按键和减小按键进行了处理。
【例2.2】 速度控制模块的应用代码。
跑步机启/停和速度控制模块的软件综合如例2.3所示,其中所设计的相应函数详细代码可以参考例2.1和例2.2。
应用代码使用一个数组SEGtable来存放了数码管对应的编码,然后通过I/O引脚送出来驱动数码管显示。
【例2.3】 跑步机启/停和速度控制模块的软件综合。
在Proteus中绘制如图2.3所示的电路,其中设计的典型器件参见表2.3。
表2.3 Proteus电路器件列表
续表
单击运行,按下对应的按键,可以看到对应的数码管和发光二极管的变化情况,如图2.7所示。
图2.7 跑步机启/停和速度控制模块的Proteus仿真
总结: 本应用实例的重点是对于按键被按下长、短的状态进行处理,这也是类似键盘输入法等输入方式设计的基础。
简易电子琴是一种简易的演奏乐器,它能在51单片机的控制下根据用户的输入发出指定的音乐效果,这种效果可以应用在各种提示音和背景音中,能起到提示和渲染环气氛的作用。
本章应用实例涉及的知识如下:
➢ 声音频率和音乐的关系;
➢ 独立按键的应用原理;
➢ 蜂鸣器的应用原理。