程序很简单就是P0口控制数码管从0到F,加了一个中断控制LED灯,这是一个电平触发
我想问的是当我用指拨开关使P3.2置低电平,那么这个程序应该只在中断程序运行数码管应该不会在改变,可实际上数码管却在缓慢从0到F变化,这是问什么???
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint a);
sbit dula=P2^6;
sbit wela=P2^7;
sbit d1=P1^0;
void main()
{
uchar i;
uchar code temp[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,
};
EA=1;
EX0=1;
IT0=0;
wela=1;
P0=0xf0;
wela=0;
for(i=0;i<16;i++)
{
d1=1;
dula=1;
P0=temp[i];
dula=0;
delay(82);
}
}
void delay(uint a)
{
uint x,y;
for(x=500;x>0;x--)
for(y=a;y>0;y--);
}
void exter0() interrupt 0
{
d1=0;
}
|