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