计时器按键锁定思路求助(附电路图)
配置说明:共5个定时器,以分钟计时,对应5个按键(S0~S4,轻触按键),每个按键对应相应两个数码管,每个按键两种状态:1->打开计时,0->关闭计时过程:每个定时器计时需求为0~65分钟,按任意按键,启动相应计时器,在0~5分钟内,如果按下其他按键,对应应计时器不可启动,但可以关闭(也就是如果之前其他计时器已经计时过了5分钟,比如10分钟)
当然,在0~5分钟计时的定时器可以按键关闭。
我想的是在其中一个定时器启动五分钟,对按键做屏蔽处理,但是这样就无法关闭已开始计时器了
while(1)
{
unsigned char key_value;
key_value = read_key() | MASK;
switch(key_value)
{
case 0x1e: T = ~T;break; //读取一次按键,将其状态反转0n-off(结构),1为开启,0为停止
case 0x1d: T = ~T;break;
case 0x1b: T = ~T;break;
case 0x17: T = ~T;break;
case 0x0f: T = ~T;break;
}
上图说明一下:
attach://179695.pdf 不要直接屏蔽按键。把定时器运行分成几个状态:关闭、运行、停止,根据按键和当前运行状态、时间确定状态转移图 sf49ers 发表于 2014-3-30 10:54
不要直接屏蔽按键。把定时器运行分成几个状态:关闭、运行、停止,根据按键和当前运行状态、时间确定状态转 ...
恩,按照你的思路,已经解决了~谢谢!
页:
[1]