P0口控制LED和数码管,我想要数码管在闪,当我按下中断后,LED灯亮。现在按下中断后LED灯亮了。但回不去让数码管亮。LED灯在那里乱闪?这代码该怎么改?
#include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit SJ=P1^4;
uchar num; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(uint z); void main() { EA=1; EX0=1;
wela=1;//11101010 P0=0xea; wela=0; while(1) { for(num=0;num<16;num++) { 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 zd() interrupt 0{
SJ=0; wela=1;//11101010 P0=0xff; wela=0; P0=0xfe; }
[此贴子已经被作者于2012-4-3 20:49:12编辑过]
|