本文是对“按键扫描”程序的解读。
硬件设置
“ KEY0 、KEY1、KEY2 ” 三个按键,按下时为低电平,不按时为高电平,且低电平(0)有效;
“ WK_UP ” 按键,按下时为高电平,不按时为低电平,且高电平(1)有效;
程序源码
uint8_t key_scan(uint8_t mode)
{
static uint8_t key_up = 1;
uint8_t keyval = 0;
if (mode) key_up = 1;
if (key_up && (KEY0 == 0 || KEY1 == 0 || KEY2 == 0 || WK_UP == 1))
{
delay_ms(10);
key_up = 0;
if (KEY0 == 0) keyval = KEY0_PRES;
if (KEY1 == 0) keyval = KEY1_PRES;
if (KEY2 == 0) keyval = KEY2_PRES;

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



