標題: 一個利用4個按鍵快速進行參數(shù)設置的方法 [打印本頁]
作者: yonko 時間: 2019-10-19 09:01
標題: 一個利用4個按鍵快速進行參數(shù)設置的方法
在設計人機交互界面的時候,假設我們要對一個多位數(shù)進行設置,最簡單的辦法就是準備一個含有0-9十個按鍵數(shù)字的鍵盤,根據(jù)需要將對應的鍵按幾下,如要設置參數(shù)為1234,那就依次按下1、2、3、4這幾個鍵就可以快速地設置參數(shù)。
但是呢?有時處理器的IO口不夠了,操作界面只有那么大放不下那么多按鍵,而且我們又想節(jié)約成本少一些按鍵的開支,這個該怎么辦呢?本文就介紹一種利用更少的四個按鍵快速調整多位數(shù)的方法。
1.PNG (28.27 KB, 下載次數(shù): 44)
下載附件
2019-10-19 09:00 上傳
這個方法在設置界面安排了 “左”“右”“加”“減”四個按鍵,其中的“左”“右”鍵用于數(shù)字的位選擇,“加”“減”按鍵對正在設置的這位上數(shù)字進行加減設置。假設我們要對一個四位數(shù)進行設置,設計的思路就是先選中某一位,再分別地對每一位進行加減設置:例如可以先選擇個位,進行加減操作,個位設置好后,然后再十位,百位,最后千位依次地每位進行設置。就像電腦的光標一樣,在這里按一下“左”鍵,就左移一下選中的待設置的位,按一下“右”鍵,選中的待設置的位右移一位。如圖 1中顯示的待設置數(shù)值1234,假設我們正在設置個位數(shù)4,我們按一下“左”鍵,那么選中的設置位變成十位數(shù)3。假如我們正在設置十位數(shù)3,按一下“加”鍵,3加1變成4,按一下“減”鍵,由4減1變成3,每位數(shù)字的變化范圍為0到9,以此類推。
2.PNG (36.87 KB, 下載次數(shù): 33)
下載附件
2019-10-19 09:00 上傳
在程序設計的時候,對一個四位數(shù)的調整的結果可以這樣計算:設待設置的數(shù)值為x,正在設置的位為wei,那么有:
當wei=個位的時候,按加鍵時,x=x+1,按減鍵時,x=x-1;
當wei=十位的時候,按加鍵時,x=x+10,按減鍵時,x=x-10;
當wei=百位的時候,按加鍵時,x=x+100,按減鍵時,x=x-100;
當wei=千位的時候,按加鍵時,x=x+1000,按減鍵時,x=x-1000;
其余位數(shù)的計算方法類似,另外在設計的時候注意不要讓x超出限制范圍,實現(xiàn)這個功能的一段參考C語言例程如下:
Include <math.h>
unsigned char wei=0; //全局變量,用于位的控制: wei=0表示正在設置個位,wei=1表示正在設置十位,wei=2表示正在設置百位,wei=3表示正在設置千位。在進行新的數(shù)值設置前建議清零,從個位開始設置。
unsigned int add_dec_fun(unsigned int x) //加減設置函數(shù),設置x中的wei位上的數(shù)字,參數(shù)x為輸入的待設置的數(shù)值
{if (x>9999) x=9999; //防止x超出范圍
if (按了加鍵)
{x=x+pow(10,wei); //對應的位加運算。pow是冪函數(shù),pow(10,wei)的功能是求解10的wei次方
}
else
{if(按了減鍵)
{x=x-pow(10,wei); //對應的位減運算。
}
}
return x; //返回設置后的結果
}
在使用這段程序進行快速設置參數(shù)的時候,用“左”“右”鍵改變wei的值來選擇控制待設置的位,在“加”“減”鍵的按鍵操作程序段里調用add_dec_fun函數(shù)來改變待設置的數(shù)值即可。
謝謝閱讀,更多精彩,歡迎關注公-號:yonkotech
沙鷗-成都
51hei隨意打賞-小.png (35.62 KB, 下載次數(shù): 32)
下載附件
2019-10-19 09:01 上傳
作者: dhbt2021 時間: 2022-2-3 21:00
能不能用一個按鍵加 減?
作者: lkc8210 時間: 2022-2-4 12:03
當然可以
可以短按當加,長按當減
或按一下當加,連按兩下當減
作者: dhbt2021 時間: 2022-2-4 20:56
謝謝回復!!!!!!!!!
| 歡迎光臨 (http://www.denmoz.com/bbs/) |
Powered by Discuz! X3.1 |