帮忙看一下为什么在定时器里面写LED灯闪烁和数码管显示中间有干扰,数码管偶尔会产生鬼影,谢谢了
- void Time_0() interrupt 1
- {
- if(floag_T==0&&floag_S!=1)
- {
- LED_L1++;
- if(floag_S==0&&LED_L1>0&&LED_L1<800)
- {
- P2=0x00;P2=0x80;P0=~0x80;P2=0x00;P0=0xff;
-
- }else if(floag_S==0&&LED_L1>800&&LED_L1<1600)
- {
- P2=0x00;P2=0x80;P0=0xff;P2=0x00;P0=0xff;
- }else if(LED_L1==1600)
- {
- LED_L1=0;
- }
- }
- }
- void Display(uchar dat_0,dat_1,dat_2,dat_3,dat_4,dat_5,dat_6,dat_7)
- {
- uchar i;
- for(i=0;i<8;i++)
- {
- P2=0xc0;
- P0=wei[i];
- delay(100);
- P2=0xe0;
- switch(i)
- {
- case(0): P0=Data[dat_0];break;
- case(1): P0=Data[dat_1];break;
- case(2): P0=Data[dat_2];break;
- case(3): P0=Data[dat_3];break;
- case(4): P0=Data[dat_4];break;
- case(5): P0=Data[dat_5];break;
- case(6): P0=Data[dat_6];break;
- case(7): P0=Data[dat_7];break;
- }
- delay(1000);
- P2=0xe0;
- P0=0xff;
- }
- }
复制代码
|