|
love105827 發表于 2018-4-26 09:07 您好,界面顯示好了,現在需要獨立鍵盤按下判斷確認進入下一個畫面或者返回上一個畫面,請問如果做刷卡顯示數據可以用RFID-RC522射頻卡嗎? |
yfpc2006 發表于 2018-4-26 08:18 您好,如何用獨立按鍵(比如k4)按下(只需要判定按下不用長按或者短按)代表確認,進入下一個界面,或者跳轉到指定界面, |
|
給你個建議把這個分部分解 { 1,是想徹底理解還是著急想做東西顯示數據就可以 2,徹底理解,51例程很多,多看看程序,在查原理,對照著來,自己編一段(一定自己編有個過程,記得清楚,最好在做個word記錄) 3,只是著急顯示數據的話,就是找個例程看下,51還是很多的,把顯示字的位置弄清楚,找到那幾個函數的變量,改寫就行 } |
|
#define Down_OK 64 unsigned char S1_OK, Page , Page_tmp; unsigned int i; unsigned int i2; extern unsigned char BL_PWM, BL_OUT,BL_tmp1,BL_tmp2; extern unsigned char KEY_Too; extern unsigned char Display_OFF_Logo_Bit, Disp_GO_bit; extern unsigned char Power_off_bit; unsigned char KEY_OFF_SYSTEM_bit; void Scan_KEY(void) { if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_6) == 0) //讀 S1 == 0 { ++i; if(i >= Down_OK) { i = 0; if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_6) == 0) //讀S1 == 0 { if(S1_OK == 0) { S1_OK = 1; BL_tmp1 = 0; BL_tmp2 = 0; //延時進入PWM暗屏模式時間 if(KEY_Too == 0) // = 0 { KEY_Too = 1; //標志 BL_OUT = 0; //全亮 } if( GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_7) == 0 ) //開機 { POW_ON__1; //PB7 開機鎖輸出1 POW_5V__1; //PB5 開機5V輸出1 //LCD_BL__1; //PA8 LCD_BL背光1 } ++Page_tmp; if(Page_tmp >= 3) //一共0~3,4個頁面 { Page_tmp = 0; } } else { if(Power_off_bit == 1) //3秒關機 { Power_off_bit = 0; KEY_OFF_SYSTEM_bit = 1; //關機 } } } } } else { Page = Page_tmp; //釋放 按鈕 S1_OK = 0; //歸零 i2 = 0; i = 0; } } |
| 、用一個按鍵實現翻頁,方法很多,但每種方法都有不同之處,你應該具體說一下你的項目的細節,比如顯示的原理,刷卡的原理,還有是不是還有別的模塊?我曾經用一個按鈕實現長按開、關機,短按翻頁、連續短按2此,跳到指定頁面,類似鼠標的雙擊、單擊、按下拖動一樣。 |