你既能够实现按一下,数据加1的话,那就差一点就可以实现你所说的功能了。
不过还要看你的中断是边沿触发呢,还是电平触发?
如果是边沿触发呢,每次进入中断的时候把一个位变量置1,并且保存外部中断口的电平。然后我们在主程序中读取这个位变量,如果位变量为1说明已经有铵键被按下。然后开如计时,并将位变量清零。当时间达到某一个值(如:200ms)我们就让计数寄存器加1,以此类推,当时间达到另一个值时(如:400ms),再将计数据器加1。不过,当主程序中再次读到位变量被置1时,我们要停止计时。并判断时间是否达到设定值,如果比设定值小的话,就视为干扰信号。这时清除计时器。这样就能实现连续加1的功能。
希望能让你得到启发。祝你好运!
温馨提示:内容为网友见解,仅供参考