按鍵鬆開標誌的設定

2021-10-04 09:24:26 字數 360 閱讀 1657

乙個按鍵既作開機又作關機,遇到這樣的問題就是開機按鍵長按開機,但是按得太久開機又馬上關機了,所以必須設定乙個按鍵鬆開標誌;

static u8 key_up=0;

//長按的時候這個腳gpio_pin_4會一直採到高電平,只有鬆開按鍵時候這個腳才會變成低電平,然後key_up=1後下面的關機才可以執行到,否則不會被執行。

if(gpio_readinputdatabit(gpioc,gpio_pin_4)==0)   

if(key_up&&(gpio_readinputdatabit(gpioc,gpio_pin_4)==1) )

if((gpio_readinputdatabit(gpioc,gpio_pin_4)==1))

匯程式設計序 按鍵鬆開時中斷的處理

當鍵盤上有鍵按下時,會產生該鍵的掃瞄碼,並被送入埠位址為60h的暫存器中。然後,cpu會接受到9h號中斷,如果該鍵是字元碼,會將掃瞄碼連同字元碼 ascii碼 一起放入緩衝區,而如果該鍵是控制鍵和切換鍵,則會改變記憶體中對應鍵盤狀態的位元組中。當要為某按鍵設定特別的功能時,可以改寫int 9h的中斷...