历史上的今天
返回首页

历史上的今天

今天是:2024年10月12日(星期六)

正在发生

2020年10月12日 | 让控制器中按键处理数据的方法变得简单

2020-10-12 来源:51hei

本文介绍了用按键设置数据的一种方法。
1.利用按键设置数值
在工业控制开发中,我们经常会遇到这样的工况:利用按键或者用触摸屏上的触键设置目标值,需要把一个一个的键值组合转换为数值,例如,在键盘上按了【1】【2】【3】三个键,怎么为系统设置输入的数值为123呢?

一个简单的方法如下:

原理很简单,每点击一个按键的时候,先把上一次的设置值乘以10,然后再加上本次的按键值,如此循环,直到设置完成。这在程序里实现是很容易的。
2.利用按键设置字符串数组
有时我们又需要用按键去输入字符串,用在显示屏上显示,那么这该怎么操作呢?
有一个方法,把输入的按键值依次存到字符串数组string1[]中,然后按照规则发送到显示屏上进行显示即可。那么又有一个问题,按键值又该怎么存入字符串数组中呢?下面用一个例子来说明一下,如通过按键输入字符串“yonkotech”:

每按一个按键时,先把之前所有已经存入数组的值向左移1位,再将空出来的最右端的最低位存入新按的按键值,如此循环,直到完成设置,就完成了按键到字符串的设置。
这里面需要一个移位操作,其实也不难,用个for循环就搞定,以上面的为例写一段移位C代码:
unsigned char i;        //定义循环的变量i
for(i=8;i>0;i--)
{
string1= string1[i-1]; //从高位到低位,依次向左进行移位
}
本文不是讲的什么高深的难点,只是一些技术思路的分享,希望有帮助。


推荐阅读

史海拾趣

Adam Tech公司的发展小趣事

随着全球环保意识的提高,Adam Tech也积极响应绿色制造的号召。公司在生产过程中采用环保材料和工艺,减少对环境的影响。同时,公司还加大了对绿色产品的研发力度,推出了一系列符合环保标准的产品。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实的基础。

这五个故事只是Adam Tech在电子行业发展过程中的一部分缩影。正是凭借着对技术的不断追求、对品质的严格把控以及对市场的敏锐洞察,Adam Tech得以在激烈的竞争中脱颖而出,成为电子连接器行业的佼佼者。

台湾肯尼威(CANNYWELL)公司的发展小趣事

随着公司产品的逐渐推广,肯尼威面临着日益激烈的市场竞争。李明深知,要想在竞争中脱颖而出,必须走品质之路。他引入了国际先进的质量管理体系,率先在同行业中通过ISO9001认证。这一举措不仅提高了产品质量,也提升了公司的品牌形象。同时,公司还建立了严格的品质检测流程,确保每一件产品都符合高标准的品质要求。

达方(DARFON)公司的发展小趣事

为了进一步拓展市场份额,达方电子开始在全球范围内布局生产基地和研发中心。同时,公司加强了对供应链的管理,确保原材料的稳定供应和产品质量的持续提升。这一阶段的努力,使达方电子在全球电子行业中的地位得到了进一步提升。

Ferranti Electric Inc公司的发展小趣事

作为一家具有社会责任感的企业,Ferranti Electric Inc公司一直致力于可持续发展。公司注重环保和节能,采用环保材料和生产工艺,减少对环境的影响。同时,公司也积极参与公益事业和社会活动,回馈社会。这些举措不仅体现了公司的社会责任感,也为公司的长远发展奠定了坚实的基础。

Gowanda Electronics公司的发展小趣事

Ferranti Electric Inc公司非常重视知识产权的保护和积累。通过不断的技术研发和创新,公司积累了大量的知识产权,包括商标、专利等。这些知识产权的拥有不仅彰显了公司的技术实力和创新能力,也为公司的市场竞争提供了有力的保障。公司不断加大在研发和创新方面的投入,以保持其在电气行业的领先地位。

Antiference公司的发展小趣事

在追求经济效益的同时,Antiference公司始终不忘履行社会责任。公司积极参与环保事业,推动绿色生产,努力降低生产过程中的能耗和排放。此外,Antiference还积极投身公益事业,支持教育事业和扶贫工作,为社会做出了积极贡献。

问答坊 | AI 解惑

线性稳压电源——我的暑期实习

大二,暑期实习, 我们的目标是完成线性稳压电源,串联开关稳压电源,功率放大器中的一个。我选择的是线性稳压电源,选择的是用w7800三端稳压器,实验要求是输入电压Ui=18V(交流),输出电压为Uo=7~18V。输出电流Io要小于1.5A,我想请教大家帮忙提 ...…

查看全部问答>

加法器

我想设计一个加法器,但是不知道怎样选择集成运放, 请做过加法器的高手给指点一下, 选怎样的运放做加法器。…

查看全部问答>

有大量PCB设计高清图供大家欢赏

有大量PCB设计高清图供大家欢赏          https://home.eeworld.com.cn/my/space.php?uid=257400&do=album&id=1232     前几天有些朋友在问我联系方式我的QQ:1211406057 有朋自远方来  ...…

查看全部问答>

各位帮帮忙噢,,帮顶也给分的哦

本人想学习arm从而进入嵌入系统的领域,会点单片机,和c语言,c++正在学习当中 大家能不能推荐一下快速入门的书啊?还有没有二手的板子,可以的话,我想买,, 我没钱,新的买不起来。。 谢了,,帮顶也给分…

查看全部问答>

我想在待机机前将一个IO置位,待机后将IO清零,请问如何实现啊

我想在待机机前将一个IO置位,待机后将IO清零,请问如何实现啊…

查看全部问答>

如何枚举可连接的无线网络资源网络资源

wince上如何枚举可连接的无线网络资源网络资源…

查看全部问答>

Goahead webserver(2.18版本)移植问题

由于研究Vxworks下的Goahead   webserver(2.18版本)移植(这是用的最多的一种方式虽然存在BUG,但作为初学者很有学习价值); 按: (1)建立基于bsp 的downloadable 工程,名称为 goaheadweb (2)将下列下载的源文件加入到工程中 ...…

查看全部问答>

创业:30岁时我更擅长的7件事

当你21岁,有了第一个自己创办的公司时,你一定认为你是这么的聪明,比以往任何一个人都聪明,你不需要建议或帮助,只想拼命的干活,做一个很酷的产品,卖给上百万的用户,然后在25岁的时候退休。这种初生牛犊不怕虎的信心对于年轻的创业者来说非常 ...…

查看全部问答>

STM32F103VCT6的I2C出问题了(好像跟映射有关系),难以解决

调了好几天了,快崩溃了,下面我把情况说一下: STM32F103VCT6的PB8\\PB9用作I2C1,连接PCF8563,硬件连接是没有问题的,8563的读写函数也没有问题,因为是原来用在RBT6上的软件,区别是按照STM32F103VCT6的手册,PB8\\PB9用作I2C1的话是需要 ...…

查看全部问答>

求助:DC-DC转换中输入滤波电感如何选择??

如题,附件中为一个DC-DC转换,开关频率为525KHZ,问题是因为在使用的环境糟糕,需要输入端加入三个电感滤波:防止外部对内部电路干扰,防止内部对外部环境干扰。一直对滤波电路都不熟,所以得请帮忙。不胜感激   [ 本帖最后由 fengboning ...…

查看全部问答>