一个51单片机如何同时响应两个以上按键输入信号
时间:10-02
整理:3721RD
点击:
也就是当key1(带自锁)作为51单片机输入信号被按下时,再按key2(不带自锁)时,响应就有问题了。请问这个问题要如何解决?工业上会遇到这种情况的。请问如何用程序将key1的电平信号在程序里面变为脉冲形式?也就是说不论你按下多久,单片机只扫描一次!我是用C语言编程。
while(key1)
{
..
}
不知小编的程序是怎样的,这个应该没有问题吧。都是使用外部中断处理按键,还是主函数不断扫描?这个还得看你的程序结构怎样。很难回答。
key1_flag=0;
if(key==1)
{
delay(500);
if(key1==1&&key_flag==0)
{;}
}
key1_flag=key1;
也就是当key1(带自锁)作为51单片机输入信号被按下时,再按key2(不带自锁)时,响应就有问题了
如果你是先判断key1的话,加个延时,然后再判断key2的电平 理论上没问题的
或者如果你key1自锁的时候为高电平,直接
while(key1)
{;}
ps:个人经验,如果有错,麻烦楼下指正