#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
unsigned int i;
void main()
{
TMOD=0x01;
TH0=0x4B;TL0=0xFF;
EA=1;ET0=1;TR0=1;
i=0;
while(1)
{
if(i%20==0)P1_0=!P1_0;
if(i%40==0)P1_1=!P1_1;
if(i%60==0)P1_2=!P1_2;
if(i%80==0)P1_3=!P1_3;
if(i%100==0)P1_4=!P1_4;
if(i%120==0)P1_5=!P1_5;
if(i%140==0)P1_6=!P1_6;
if(i%160==0)P1_7=!P1_7;
if(i==16800)i=0;
}
}
void time0_int(void) interrupt 1
{
TH0=0x4B;TL0=0xFF;
i++;
}
这代码为什么没有想要的效果,还会出现某些灯快速闪灭的情况。