本文主要是介绍第六节 独立按键之查询方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第六节 独立按键之查询方式在MT254xboard上有一个独立按键KEY1,如图 ,独立按键和复位键在整个班子的左上角。按键通过P0.0口和CPU连接,在没有按键时为高电平,按下后为低电平。下面我们通过LCD来显示独立按键的状态。
其对应的原理图如下:
我们先用查询的方式读取按键的状态。因为按键接入在P0.0口,所以我们读取P0.0口的电平即可知道按键的状态。
uint8 KeyValue(void) // 读取按键状态
{if((P0&0X01) == 0X00 ) // 按下为低电平{return KEY_DOWN;}else{return KEY_UP;}
}
这里我们在while循环中不断的读取按键状态,并且判断是否改变,如果改变则改变LCD的显示。
int main(void)
{uint8 OldKeyValue = 0; uint8 NewKeyValue = 0;SysStartXOSC();LCD12864_Init();LCD12864_DisStr(1, " Key Test");// 按键初始化P0SEL &= ~0X01; // 设置为 IO功能P0DIR &= ~0X01; // 设置为输入功能while(1){NewKeyValue = KeyValue(); // 读取按键状态if(OldKeyValue != NewKeyValue) // 按键状态改变{OldKeyValue = NewKeyValue; // 保存当前按键状态if(OldKeyValue == KEY_DOWN){LCD12864_DisStr(3, " Key Down ");}else{LCD12864_DisStr(3, " Key Up ");}}}return 0;
}
运行程序,效果如图所示:
本文章转载自
http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/69222.aspx
请勿用于商业
这篇关于第六节 独立按键之查询方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!