#include char flag=0,i,j; void main(void) { EX0=1; EA=1; IT0=1; while(1) { if(flag==1) { 各位高手,帮个忙,这个程序当有中断发生时灯亮,当没有中断时,为什么灯还一直亮着,有什么方法让没有中断时,灯熄灭.题目

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/26 06:51:42
#include  char flag=0,i,j; void main(void) { EX0=1; EA=1; IT0=1; while(1) { if(flag==1) { 各位高手,帮个忙,这个程序当有中断发生时灯亮,当没有中断时,为什么灯还一直亮着,有什么方法让没有中断时,灯熄灭.题目

#include char flag=0,i,j; void main(void) { EX0=1; EA=1; IT0=1; while(1) { if(flag==1) { 各位高手,帮个忙,这个程序当有中断发生时灯亮,当没有中断时,为什么灯还一直亮着,有什么方法让没有中断时,灯熄灭.题目
#include char flag=0,i,j; void main(void) { EX0=1; EA=1; IT0=1; while(1) { if(flag==1) {
各位高手,帮个忙,这个程序当有中断发生时灯亮,当没有中断时,为什么灯还一直亮着,有什么方法让没有中断时,灯熄灭.
题目没写完,还有
P1=0x00;
flag=0;
}

}
}
void inte0() interrupt 0
{
flag=1;

}

#include char flag=0,i,j; void main(void) { EX0=1; EA=1; IT0=1; while(1) { if(flag==1) { 各位高手,帮个忙,这个程序当有中断发生时灯亮,当没有中断时,为什么灯还一直亮着,有什么方法让没有中断时,灯熄灭.题目
备一个仿真器或能在线调试的板子,都没有的话可以用keil软件仿真MCU执行过程
在软件中把光标移到中断函数中的LedNumVal_1++ 这行,执行运行到光标处,然后触发一个中断,此时,MCU将会运行到 LedNumVal_1++这条指令(LedNumVal_1++还没运行)
在这个时候查看两个数组和LedNumVal_1的值,看是否分别为0和1,如果数组的值没错,那么单步执行,看if跳转有没有符合你的设想,不符合--为什么,符合--那就是串口通行那里的问题了
另外,虚机团上产品团购,超级便宜