❶ 51单片机按键检测问题
三个二极管、一个电阻,确实是一个与门。
电阻的计算公式,正确。
二极管的导通电压、电流,选择的基本合理。
可以进行实际电路的安装、测试。
实际上,现在的二极管,发光效率,逐年的提高,已经不用 6mA,就很醒目了。
不同颜色的二极管,导通电压,也有差异,选用较小的,才利于触发中断。
得进行反复实验,才能完成设计。
在程序中,注意不要使 P3.2 输出低电平,否则,会有较大的灌电流出现。
❷ 51单片机双键同时识别(长按)判断程序怎么编
假设“1”表示键按下,那么双键同时按,肯定端口有两个“1”,只有一个键按则只有一个“1”,当然“0”表示按下的话,取反就是了。
这样就好办了,将这个有效键位值赋值给累加器A,根据奇偶标志“P"的值就可以判断是单键还是双键了。
❸ c51单片机编程中,怎么检测按键
while(K1!=0)//K1没有被按下执行循环
{
d1=0;d2=1;delay();
d1=1;d2=0;delay();
}
❹ 如何用单片机判断按键单击双击
这个一般是经验值,可这样判断:连续两次击键间隔时间超过500ms,则视为单击,否则视为双击按键。去抖动时间一般使用30ms。如果按键质量不太好,时间可以加倍。可以选择几组参数
然后实践一下看看手感。
❺ 单片机如何检测多个按键按下情况
用查询的办法
或
中断+查询的办法
如果有键按下(中断)
则依次查询所有按键
或直接每几十或几百ms判断所有按键的状态
这样就一个都不漏掉了
❻ 51单片机怎么编写检测多个按键按下顺序是否与自己设置的顺序一致
例如A B C键,每个按键用一个数字代码表示,如51,52,53。每次有按键按下时,将按下键的代码存入数组变量,每次存在递增一位变量里。然后再比较数组里的每一个数和你想要的顺序是否一样 如果你想按下的顺序是BCA,那么最后的判断是否符合的语句就是if( (i[0]==52)&&(i[1]==53)&&(i[2]==51) )
{
//添加符合要求顺序时执行的代码
}
else
{
//添加不符合时执行的代码
}