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此,跳到指定页面,类似鼠标的双击、单击、按下拖动一样。 |