标题:
单片机通过一个按键,进入一个无限延时的中断,能不能再通过这个按键,再恢复现场?
[打印本页]
作者:
liu376105174
时间:
2018-1-16 18:21
标题:
单片机通过一个按键,进入一个无限延时的中断,能不能再通过这个按键,再恢复现场?
问一个单片机问题:通过一个按键,进入一个无限延时的中断,能不能再通过这个按键,再恢复中断?
按下按键 中断 再次按下 恢复现场
作者:
qq1105424012
时间:
2018-1-16 21:58
外部中断 优先级最高
作者:
jizi
时间:
2018-1-17 07:42
可以啊在中断里写一个while()中间写一个判断
按钮写一个中断优先于上一个中断
按钮是用来写一个while中的判断
这样就会出现你先要的结果
作者:
醇酒美人醉修禅
时间:
2018-1-17 09:38
本帖最后由 醇酒美人醉修禅 于 2018-1-17 17:05 编辑
#include "reg52.h"
sbit KEY=P1^0;
bit key_flag=0;
void main()
{
...
while(1)
{
...
if(KEY==0) key_flag=0;
while(key_flag==0)
{
if(KEY==0) {
delay_ms(10);
if(KEY==0)
{
key_flag=!key_flag;
}
}
delay_ms(200);
while(KEY==0);
}
...
}
}
作者:
沧海月明
时间:
2018-1-17 09:57
可以的,定义整形一个变量,初始值设为0.按键按一次,变量加一,在按一次再加一。通过查询变量的值,来判断执行哪段程序
作者:
贪恋
时间:
2018-1-17 21:55
有一点你需要注意:中断里面是不能延时的,这是写程序的大忌
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1