帮忙看看我的中断程序哪错了,谢谢了!

2019-07-16 04:41发布

#include<reg52.h>
sbit dula=P2^6;
sbit wela=P2^7;
sbit d1=P1^0;
#define uint unsigned int
#define uchar unsigned char
void delay(uint);
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,};
uchar num;
void main()
{
        EA=1;
        EX0=1;
        wela=1;
        P0=0xc0;
        wela=0;
        while(1)
        {
                num=0;
                for(num=0;num<16;num++)
                        {
                                d1=1;
                                dula=1;
                                P0=table[num];
                                dula=0;
                                delay(1000);
                        }
        }
}

void delay(uint z)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}
void zhongduan() interrupt 0
{
        d1=0;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
唵伽惺
1楼-- · 2019-07-16 09:43
加外部中断后led等亮,但是主程序不停,数码管以比原来慢的速度继续累加显示数字。迷茫了。
lovezjf234
2楼-- · 2019-07-16 13:44
外部中断需要触发的,你现在没有触发,外部中断就不会产生
唵伽惺
3楼-- · 2019-07-16 13:44
我用杜邦线接了单片机GND和p3.2脚啊。我的意思是中断程序执行了,但是主程序没停,这么回事
江口
4楼-- · 2019-07-16 16:37
不太懂哦-----------
lstcspring
5楼-- · 2019-07-16 21:36
 精彩回答 2  元偷偷看……
唵伽惺
6楼-- · 2019-07-16 23:02
这个低电平触发方式不是应该中断过程中主程序停止,中断返回后主程序继续执行么。我的这个是中断过程中主程序还是在走

一周热门 更多>