微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 一个51单片机如何同时响应两个以上按键输入信号

一个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:个人经验,如果有错,麻烦楼下指正

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top