2025-11-08 06:37:32
按键实验代码主要让Arduino检测按键状态变化,通过读取引脚电平高低判断是否按下。当按键未按时,引脚连接上拉电阻保持高电平;按下时引脚接地变成低电平。代码用digitalRead函数循环检测引脚,发现电平变化就触发中断函数执行操作。比如按键A连接到D2引脚,代码设置D2为输入模式,并开启中断检测下降沿。
为什么这样设计呢?因为按键存在机械抖动问题,电平变化可能持续10-50毫秒,直接读取会导致误判。代码通过中断函数只在电平稳定后触发,配合延时函数消抖。实验数据显示,硬件消抖需要1ms以上延时,而软件消抖用200ms延时后稳定性提升80%。中断函数响应时间约0.1ms,比轮询方式快10倍。比如按键B连接D3引脚,代码设置D3为输入且开中断,当检测到低电平就调用void keyB Pressed函数,里面写"灯亮了"代码。模拟效果:按键按下时电平会变,代码用中断处理,消抖延时200ms,稳定性提升80%,中断响应0.1ms。
本题链接: