yanzhengx.c

来自「本人学习单片机一年多时间厚参加全国电子设计大赛的程序以及赛前练习的程序。」· C语言 代码 · 共 81 行

C
81
字号
#include<reg51.h>

sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P2_0=P2^0;
sbit P2_1=P2^1;

unsigned int tab[9]={64536,63536,62536,61536,60536,59536,58536,57536,56536};
unsigned int yichu,dir,now=1,qian,gao=64536,di=56536,fangxiang=1;
unsigned int i,j,k,l,m,x,y,z;
unsigned char deng,jinru,jinru2=0,saomiao,yanshi;
unsigned char th,tl;

void delay(void);     //50ms
void Init(void);
void panduan(void);

void timer0(void) interrupt 1
{yichu++;
 if(yichu==1)
 {yichu=0;
  x++;
  if(fangxiang==1)
  {P1_2=0;
   if(P1_3==0)
    P1_3=1;
   else
    P1_3=0;
	}
  else if(fangxiang==2)
  {P1_3=0;
   if(P1_2==0)
    P1_2=1;
   else
    P1_2=0;
   }
  if(x%2==1)
  {th=gao/256;
   tl=gao%256;
	}
  else
  {th=di/256;
   tl=di%256;
	}
 }
 TH0=th;
 TL0=tl;
}

main()
{Init();
 for(;;)
 {gao=tab[k%9];
  di=tab[8-k%9];
  for(l=0;l<100;l++)
  delay();
  }
}

void delay()
{unsigned int i,j;
 for(i=0;i<50;i++)
  for(j=0;j<120;j++)
 ;
}

void Init(void)
{P1_0=0;
 P1_1=0;
 P1_2=0;
 P1_3=0;

 EA=1;
 ET0=1;
 TMOD=0x01;
 TH0=gao/256;    //2ms
 TL0=gao%256;
 TR0=1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?