用51寫個程序按不同的按鍵會實現不同的功能。那把表示判斷按鍵的if語句一定要放在包涵整個主函數的while語句裡嗎?不過這樣的話,實行不同功能,也是要用到while(1)的,這樣while裡面嵌套while可以嗎?會不會進了一個while之後,出不來了?
其實,我剛才說的思想是可以解決這個問題的,也就是說,每個循環裡面,都先讀取一次按鍵值,並且用一個變量存儲起來,這樣在每個循環的後面的階段,就不用再讀取按鍵值了,而只是對這個變量的值進行判斷就知道案按下的按鍵了。
然後後面的事情如何一直做,可以用狀態切換來做,用一個變量表示狀態,根據這個變量的不同值進入不同狀態執行,切換界面模式,所以
while(1)
{
讀取按鍵值並保存到變量x;(代表了所有按鍵的情況,不會的話可以用多個變量存儲,k1,k2,k3……)
然後對存在變量中的值進行判斷
確定一個狀態y
根據y
執行對應操作
}