单片机的中断问题

2019-07-16 06:20发布

请问,那个执行中断的时候是不是主程序就会停止呀??
但是我的程序烧进去之后为什么主程序没有停止而且还变慢了(主程序是流水灯)
求解!!
代码如下
#include<reg52.h>
#include <intrins.h>                //注意使用_crol_函数时包含的头文件
#define uint unsigned int        //宏定义,注意:宏名在前
#define uchar unsigned char
uchar temp;                //定义一个全局变量
sbit d1=P1^0;      //位定义
void delay(uint);        //延时子函数申明

void main()
{
        EA=1;//开总中断
        EX0=1;//开外部中断0
        //IT0=1;
        //TCON=0x01;
        temp=0xfe;                //改变0xfe的值能改变参加流水灯的二极管的个数
        P1=temp;                //如果把这一句解释掉流水灯就会从第二个开始
        while(1)
        {
        temp=_crol_(temp,1);        //注意_crol_函数的使用
        delay(2000);
        P1=temp;
        }
}


void delay(uint z)        //定义一个延时的子程序,带参数
{
uint x,y;
for(x=10;x>0;x--)
for(y=z;y>0;y--);
}


void exter0() interrupt 0                //中断服务程序
{
d1=0;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。