本文介紹了用按鍵設(shè)置數(shù)據(jù)的一種方法。
1.利用按鍵設(shè)置數(shù)值
在工業(yè)控制開發(fā)中,我們經(jīng)常會(huì)遇到這樣的工況:利用按鍵或者用觸摸屏上的觸鍵設(shè)置目標(biāo)值,需要把一個(gè)一個(gè)的鍵值組合轉(zhuǎn)換為數(shù)值,例如,在鍵盤上按了【1】【2】【3】三個(gè)鍵,怎么為
系統(tǒng)設(shè)置輸入的數(shù)值為123呢?
一個(gè)簡單的方法如下:
原理很簡單,每點(diǎn)擊一個(gè)按鍵的時(shí)候,先把上一次的設(shè)置值乘以10,然后再加上本次的按鍵值,如此循環(huán),直到設(shè)置完成。這在程序里實(shí)現(xiàn)是很容易的。
2.利用按鍵設(shè)置字符串?dāng)?shù)組
有時(shí)我們又需要用按鍵去輸入字符串,用在顯示屏上顯示,那么這該怎么操作呢?
有一個(gè)方法,把輸入的按鍵值依次存到字符串?dāng)?shù)組string1[]中,然后按照規(guī)則發(fā)送到顯示屏上進(jìn)行顯示即可。那么又有一個(gè)問題,按鍵值又該怎么存入字符串?dāng)?shù)組中呢?下面用一個(gè)例子來說
明一下,如通過按鍵輸入字符串“yonkotech”:
每按一個(gè)按鍵時(shí),先把之前所有已經(jīng)存入數(shù)組的值向左移1位,再將空出來的最右端的最低位存入新按的按鍵值,如此循環(huán),直到完成設(shè)置,就完成了按鍵到字符串的設(shè)置。
這里面需要一個(gè)移位操作,其實(shí)也不難,用個(gè)for循環(huán)就搞定,以上面的為例寫一段移位C代碼:
unsigned char i; //定義循環(huán)的變量i
for(i=8;i>0;i--)
{
string1[i]= string1[i-1]; //從高位到低位,依次向左進(jìn)行移位
}
本文不是講的什么高深的難點(diǎn),只是一些技術(shù)思路的分享,希望有幫助。