我们的diy电子时钟上有三个按键,而这三个按键需要完成整个时钟的参数设置,所以就需要用到复用功能的按键,也就是今天我们说的多功能按键。
任务要求:采用板子上的三个按键,完成至少4个时间参数的设置。
根据以上的任务要求,我们来说说程序设计的思路。我们3个按键要去设置至少4个的参数,这显然是一个按键设置一个参数是不行的,那第一集里我们说的按键程序就是不可行的了,那怎么办呢?对参数的设置,自然需要可以加,也可以减,这样我们就需要两个按键,这两个按键我们分别计为“+”键和“-”键,剩下的一个按键我们用来选择设置的参数,计为“set”键。
第一集里的按键程序我们是记录按键按下的次数,这里我们同样通过记录按键次数的方式来选择设置的参数,比如:“set”键按下1次,我们选择设置的参数为第一个,此时按下“+”“-”键可以对第一个参数调整,“set”键按下第二次,我们选择设置的参数为第二个,此时按下“+”“-”键可以对第二个参数调整,依次下去,这样理论上是不是可以设置无数个参数,而实际上也是可行的。具体的设置过程如下:
开始: set 按下1次 ,此时按下“+”“-”设置参数1;
set按下2次 ,此时按下“+”“-”设置参数2;
set按下3次 ,此时按下“+”“-”设置参数3;
set按下4次 ,此时按下“+”“-”设置参数4;
。。。 。。。
结束。
通过这样的方式,我们就可以实现用三个按键去设置多个参数,这个set按键就是具有复合功能的按键,也就是多功能按键了,通过记录它按下的次数,我们来选择对不同参数的设置。
在实际运用中,我们需要确定需要设计的参数的多少,比如要设置4个参数,那我们可以在set按下第5次的时候退出按键设置程序。也就说在设置参数个数加一次的时候退出设置部分,并保存设置的值。这样的程序是简单的写发,还有更智能的写法是当我们进入设置状态后,几秒钟没有按键按下后就自动退出设置程序,这样就需要开启定时器,或者在设置程序部分做计数的处理,这方法后续有时间我们会再给大家细说,今天不做过多说明。
接下来我们说说再写程序时候的注意事项。按键检测还是老方法用if语句来判断按键按下与否。在set键选择设计参数时候我们常用的是分支语句switch…case语句。具体请参看我们的源代码部分。
最后我们要把设置的参数显示出来,这里我们diy电子时钟上只有4位数码管可以用来显示,我们安排的显示界面如下,参数1显示在左边第一位,依次向右,第二位显示参数2,第三位显示参数3,第四位显示参数4.在设置的时候,设置哪一个参数,就只在对应的位上显示当前设置的参数。
详细的代码设计如下图:(为防止大家复制粘贴,我们提供的源码都以图片形式呈现,你可以照着搬,但是必须你自己动手敲进去,小代在此说明,所有源码都是可行的,都是小代原创的,转载及使用请说明出处)以下代码主要是按键处理的部分,显示及主函数部分和之前教程里的是一样,在此就省略了。
Avago推出2.5A最大输出光隔离IGBT栅驱动ACPL-
飞思卡尔最新无线机器人可行走、舞蹈并教授传感器编程
美国、德国加速产业和工业互联网融合,为工业发展奠定标准规则
贸泽备货Molex Contrinex工业4.0感应和光电传感器
一款可以清洗高层建筑外墙的无人清洗机
说说51单片机的多功能按键程序怎么写
贸泽开售Laird Antennas的Trigger系列下置式远程通信天线
FPGA静态时序分析简单解读
2018年底我国12寸晶圆产能将为现有的1.8倍
索尼正式推出了2020年电视新品全矩阵
全球软件定义网络解决方案增长,2018年SDN市场上哪10种解决方案最受追捧?
基于单片机的数码管实验 八段数码管简介
高通骁龙870发布:7nm工艺
电脑芯片为什么短缺
GSMA正积极联系高通推动物联网发展
缺芯,真的只是源于一次误判吗?
自动关机电路,自动关机原理分析
人工智能与量子计算将碰撞出无限火花
销量突破千万!新配色助力华为P20系列取得更高销量
老司机讲解初识热敏 FFC(FPC)焊接方法和注意事项