int main(void)
{
u8 t;
u8 num=001;
Stm32_Clock_Init(9);//系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口1初始化
LED_Init();
LCD_Init();
POINT_COLOR=BLACK;
LCD_ShowString(0,0," ");
LCD_ShowNum(0,0,num,3,16);
while(1)
{
t=KEY_Scan();//得到键值
if(t)
{
switch(t)
{
case 1:
num+=1;
LCD_ShowNum(0,0,num,3,16);
break;
case 2:
num+=10;
LCD_ShowNum(0,0,num,3,16);
break;
case 3:
num+=100;
LCD_ShowNum(0,0,num,3,16);
break;
}
}else delay_ms(10);
}
}
我想通过简单的按键来控制液晶屏显示的数据,按下WK_UP,百位加1;按KEY1,十位加1,按KEY0,各位加1。用上面的代码控制KYE0,KEY1都没问题,当按下
WK_UP 键时,按一次还有效百位会加1,但再按一次时,就不能控制了,连KEY0,KEY1键都失效了,按下去没有反应了。接着数字会乱走一下。
|