|
吳鉤霜雪 發(fā)表于 2022-5-19 13:59 應(yīng)該說,有符號變量,取反后+1,就是正負(fù)數(shù),所以你要直接正負(fù)數(shù)變化,可以tempvalue = ~tempvalue +1; 你具體程序如何,我不知道,我上面只是寫個例子給你,給你參考后加入你的程序。 |
188610329 發(fā)表于 2022-5-15 16:59 是不是應(yīng)該只把TempValue的符號位取反? |
188610329 發(fā)表于 2022-5-15 16:59 TempValue = ~TempValue; 把溫度值各位直接取反就得到對應(yīng)的負(fù)值或正值了嗎? |
wulin 發(fā)表于 2022-5-15 22:28 我是這樣想的:假如我要設(shè)置100度,就不需要按那么多次了,所以我設(shè)計那樣的按鍵電路。假如是10個數(shù)字0~9對應(yīng)的按鍵電路更復(fù)雜,所以我沒考慮。我問的問題是假如就按我那樣的按鍵電路來編寫程序,應(yīng)該怎樣編? |
吳鉤霜雪 發(fā)表于 2022-5-15 13:30 定義char型變量,數(shù)據(jù)范圍-128~127。只需對變量的最高位判讀即可,無需設(shè)置符號鍵。給你一個示例參考。LED/LCD兼容。
DS18B20溫度上下限報警數(shù)碼管 1602顯示.rar
(182.72 KB, 下載次數(shù): 13)
|
| 先貼代碼 |
|
#define KeyTen 0x10 #define KeyOne 0x11 #define KeySign 0x12 #define KeySett 0x14 if(Press) { Press = 0; if(Setting_Menu) { switch(KeyValue) { case KeySett: Setting_Menu = 0; break; case KeyTen: TempValue += 10; break; case KeyOne: TempValue ++; break; case KeySign: TempValue = ~TempValue; break; default: break; } else Setting_Menu = 1; } |
| 設(shè)置幾個標(biāo)志位,按下求反標(biāo)志位,然后判斷標(biāo)志位狀態(tài).跟據(jù)標(biāo)志位狀態(tài)決定后面要做什么動作 |
IdeaMing 發(fā)表于 2022-5-15 12:39 我想設(shè)置溫度:按設(shè)置鍵一下,進(jìn)入設(shè)置溫度功能,如果設(shè)置-23度,則按符號位1下,十位2下,個位3下。正數(shù)不按符號位。最后再按設(shè)置鍵退出設(shè)置溫度功能。 我實(shí)現(xiàn)不出才來求助的。 |
| 正常編寫就可以 |
| 就正常編寫,還能怎么編寫? |
Powered by 單片機(jī)教程網(wǎng)