- 打卡等级:偶尔看看II
- 打卡总天数:21
- 最近打卡:2025-01-19 13:42:05
注册会员
- 积分
- 99
|
发表于 2024-7-6 22:10:03
|
显示全部楼层
本帖最后由 asys 于 2024-7-6 22:11 编辑
第7集按键点灯
当按键没有按下时,我们所定义的IO端口一直为高电平,一旦按键按下,
电流往低处走,即IO端口没有电流流过,我们检测定义的按键端口的电压为0V,
即为低电平的时候,即视为按键按下;但是我们在按下按键的过程中
电压不是骤降为0V的,中间电压的变化是抖动的
按键有一个10ms的抖动 需要消抖
代码示例
if( KEY == 0 )
{
Delay_ms(10);
if( KEY == 0 )
{ while(KEY == 0); 执行功能 }
}
后面冲哥使用了右移运算符 实现了 按下按键 led灯向右边依次点亮
大概是这样的
10000000
01000000+1
01100000+1
依次点亮
后面讲了数组的使用将 对应的8种状态存到数组里面
例如这个 LED_DataTab[8] = { 0XFE,0XFD, 0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};
下次使用的时候可以直接P6=LED_DataTab[0-7];
LED_DataTab[]中不能写8 如果写8数组就越界了
|
|