為什么我的程序中斷之后不是第一個(gè)LED亮而是其它的亮,且數(shù)碼管還在動(dòng)態(tài)顯示,是什么原因?請(qǐng)各位大俠賜教。
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wei=P2^7;
sbit duan=P2^6;
sbit LED=P0^0;
sbit P14=P1^4;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};
uint num,z;
void delayms(uint);
void main()
{
EA=1;
EX0=1;
wei=1;
P0=0xfe;
wei=0;
while(1)
{
duan=1;
for(num=0;num<10;num++)
{
P0=table[num];
delayms(200);
}
}
}
void delayms(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=300;y>0;y--);
}
void exter0() interrupt 0
{
P14=0;
LED=0;
P14=1;
}
|