本文介绍了用按键设置数据的一种方法。
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]; //从高位到低位,依次向左进行移位
}
本文不是讲的什么高深的难点,只是一些技术思路的分享,希望有帮助。
上一篇:单片机动态数码管显示DS18B20测温显示程序
下一篇:MPX4115压力自动检测系统设计
推荐阅读
史海拾趣
随着公司业务的不断扩张,Chenmoun Enterprise Ltd开始实施全球化战略布局。公司在全球范围内设立了研发中心和生产基地,充分利用各地的资源优势和人才优势,提升产品的竞争力。同时,公司积极开拓国际市场,与多家国际知名企业建立了紧密的合作关系,实现了业务的快速增长。
人才是企业发展的核心竞争力。BCD Semi(Diodes)非常重视人才队伍的建设和培养。公司积极引进国内外优秀的研发、生产和销售人才,为他们提供良好的工作环境和职业发展机会。同时,公司还注重员工的培训和提升,定期组织各类培训活动和技术交流会议,帮助员工不断提升自身的专业技能和综合素质。通过这些措施,BCD Semi成功打造了一支高素质、专业化的人才队伍,为公司的持续发展提供了有力的人才保障。
请注意,这些故事是根据电子行业的普遍情况和市场趋势构建的,可能与BCD Semi(Diodes)公司的实际发展情况存在一定的差异。如需了解该公司更详细的发展故事,建议查阅公司官方网站、相关新闻报道或行业分析报告等权威渠道获取更准确的信息。
BULGIN公司的历史可以追溯到1923年,当时A.F.Bulgin先生和他的同伴在英国创立了A.F.Bulgin有限公司。公司专注于无线电电子零件的制造与生产,凭借产品的优质口碑,BULGIN的品牌逐渐广为人知。随着订单的不断增加,公司迅速成长,并在二战前已经拥有了当时最先进的现代化大规模生产线。
在5G技术的推动下,ETRI又取得了另一项重大突破。他们成功开发了世界上首个5G室内分布式天线系统,该系统将5G服务无缝扩展至室内,为用户提供了前所未有的高速体验。这一技术的出现,不仅提高了传输容量,缩小了设备尺寸,还降低了部署成本。
Harris公司最初成立于1890年代,起初以无线电通信技术为核心业务。在早期,公司凭借其创新的无线电通信技术,在通信领域迅速崭露头角。这一时期,Harris不仅为军事领域提供了关键的通信解决方案,还逐步拓展到商业和民用市场,为当时的电话、电报等通信方式带来了革命性的变化。通过不断的技术研发和产品创新,Harris逐渐奠定了其在电子行业的重要地位。
ESS科技公司的创始人在1984年创建了这家位于美国加利福尼亚州的公司,起初专注于将音响压缩重建技术应用于电子音响图书和问候卡。然而,随着个人电脑的普及和多媒体市场的快速增长,ESS决定调整战略,全力发展个人电脑音频技术。1993年,ESS推出了其首批PC音频半导体产品ES488,这是一个12位的单声道音质硅片。随后,ESS不断推出新产品,如ES688,一个16位立体音质硅片,这些产品为ESS带来了可观的收益。1995年,ESS成功在美国纳斯达克上市,标志着公司进入了一个全新的发展阶段。
3.ADSL设备组成及安装方式 (1) ADSL系统种类。韩国通信采用了两种结构的ADSL系统。 第一,铜线ADSL系统。系统分为局端DSLAM和用户端ADSL设备,在用户端可接入PC机和普通电话,在加装电话时需要安装线路滤波器。局端DSLAM设备机 ...… 查看全部问答∨ |
|
对不起,附件搞错了,现修改过来了;感觉此电路的工作状况不太清晰 [ 本帖最后由 panhaojie123 于 2009-6-24 10:46 编辑 ]… 查看全部问答∨ |
|
招聘: 软件工程师 (Windows Mobile, WindowsCE, 嵌入式, C语言) 以下职位长期有效,请有意者将简历发至(不要贴附件,简历粘贴到邮件末): huawei.pda@gmail.com 另,本周六,日本公司将在成都进行现场招聘,有意者请提前联系我. 1.1 招聘职位: 驱动软件开发工 ...… 查看全部问答∨ |
|
5月18号收到的板子,一直以来没有时间弄,现在弄好了串口,LED灯和AD,接下来的1602和12864也弄好了,先上三期日记,希望各位能够顶下。今天匆忙完成的,比较简陋,大家别见笑。 拿到板子,首先看下芯片资源和引脚,如下 = ...… 查看全部问答∨ |
STM32在SPI读的时候是不是要发送一个数据才能读到啊,我现在SPI写能成功,读不到从设备的数据,SPI读函数如下uint8_t SpiReadRegister(uint8_t address){ uint8_t rdata; GPIO_ResetBits(GPIOA,GPIO_Pin_12); Delay(10);while (SPI ...… 查看全部问答∨ |