1、创建项目文件。
2、按键:S1=P3^2,点亮: led=P1^5。
3、创建C语言主函数。
4、创建循环效果,检测效果。
while(1)
{
}
5、创建选择效果。
6、当按下时,即暂停与恢复。
有以下几种情况:
1.循环查询按键。当按键按第一次时间,进入第一层循环查询语句内部,执行恢复。不跳出该层循环,继续查询按键。当第二次按下时间,进入第二层循环查询语句内部,执行暂停。循环结束。若想反复暂停和恢复,就在外面再加一层while(1)类似的死循环,反复执行其内部的两层循环查询语句。
2.用一个标志变量,记住按键的状态。初始化为个值,如“暂停”,按键之后检查标志变量,是“暂停”就执行“恢复”,再让它变为“恢复”说明当前已经执行了恢复。反之亦然。
3.掉电暂停。这样需要按键能触发cpu工作。所以,需要按键接到外部中断上面。中断后可以恢复CPU工作。在中断中再判断是否要让cpu掉电与否。
不知道这种方法你能接受不?还是用外部中断。此按键触发中断后,关掉所有其他的中断,也即EA=0(最好先用个变量记住EA,方便恢复),然后就一直在中断中等待该按键第二次按下再恢复EA,最后退出中断。
就是使用51的中断就可以了!
你的其他12个按键也可以使用中断来处理,只是把那个暂停键设为级别最高,不管什么情况下改建按下就到该键的子程序运行(注意此时要关闭中断功能、只是判断该暂停键是否第二次按下),若按下就跳到原来暂停前的位置即可,并开启中断!
看是这个意思吗!
你说的暂停是指的,程序不执行其他操作?若是,请接着看
设定一个标志,当程序始终停滞在这个位置,或者是不执行其他程序,这个标志设为1时,此时执行空语句;当按键时,触发中断,把标志清零。
推荐暂停 用 掉电模式