微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机的中断问题

单片机的中断问题

时间:10-02 整理:3721RD 点击:
请问,那个执行中断的时候是不是主程序就会停止呀?
但是我的程序烧进去之后为什么主程序没有停止而且还变慢了(主程序是流水灯)
求解!
代码如下
#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;
}

按道理你的主程序是会停止的,看是不是的时间设置的不对,或者什么原因,我看你的程序中断后,感觉是不是时间太短,你根本就看不到效果

应该不是吧

这个程序总体有问题啊,中断方式都没用啊!~

it0=1?

呵呵,好象是哦,没说外部还是定时中断!

没E币啦!

it0=1难道不是开定时器中断的吗

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top