某汽车玻璃升降器,2个按钮状态监测的,帮忙写下程序

2019-03-23 14:45发布

某汽车玻璃升降器:
一个单刀双掷开关,KEY1,KEY2;
两个输出点OUT1,OUT2

不按:KEY1=1; KEY2=1;
轻按:KEY1=0; KEY2=1;
重按:KEY1=1; KEY2=0;

轻按到重按,或重按到轻按的切换过程中:KEY1=1; KEY2=1; 至少有几百毫秒时间。


程序OUT1、OUT2输出要求:

KEY1=0时,OUT1=1;
KEY2=0时,OUT1=1;OUT2=1;
由轻按到重按过程中,保持:OUT1=1;不能中断
重按到轻按的过程中,保持:OUT1=1;不能中断
不按下:OUT1=0;OUT2=0;

搞不清怎么写逻辑了~

请高手大侠们赐教!

此帖出自小平头技术问答  

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
懒猫爱飞
1楼-- · 2019-03-24 03:39
把状态理清,写个简单的状态机
邱海涛qht
2楼-- · 2019-03-24 05:17
 精彩回答 2  元偷偷看……
philipchiu
3楼-- · 2019-03-24 08:39
描述不够清楚,把开关资料或是开关型号帖出
取名好难
4楼-- · 2019-03-24 10:22
操作                 键值                   状态                        输出状态
不按:       KEY1=1; KEY2=1;      0                       OUT1=0;OUT2=0;
轻按:       KEY1=0; KEY2=1;      1                       OUT1=1;OUT2=0;
轻重切换: KEY1=1; KEY2=1;     2                        OUT1=1;OUT2=0;
重按:       KEY1=1; KEY2=0;      3                       OUT1=1;OUT2=1;

按照楼主描述,状态是不是如此划分,如果这样理解是对的,可以先判断0-3的状态,然后根据状态操作输出即可;其中轻按到松开判断需要做“几百毫秒”的延时判断;
hujj
5楼-- · 2019-03-24 15:30
 精彩回答 2  元偷偷看……

一周热门 更多>