问题遇到的现象和发生背景
如下图,51单片机接受到一个信号(vol),但是要判读 信号在2s内均为1,则报警(alarm=1)
如果2s内有0,则不报警(alarm=0)
如下图1-6s之间由于没有完整的2s时间均为1,所以不会报警。

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
如果只是用delay的方式,容易误判(delay的期间可以0或1)
if(vol==1)
{delay(2);
if(vol==1)
{alarm=1;}
}
我想要达到的结果
51单片机接受到一个信号,但是要判读 信号在2s内均为1,则报警(alarm=1)
如果2s内有0,则不报警(alarm=0)