⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pingheng.c

📁 本人学习单片机一年多时间厚参加全国电子设计大赛的程序以及赛前练习的程序。
💻 C
字号:
#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,gao=63536,di=57536,fangxiang=1,qian,now;
unsigned int x,y,z;
unsigned char th,tl,deng;

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==0)
  {P1_3=0;
   P1_2=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(;;)
 {deng=P0&0x1f;
  if(deng==0x00)
  {now=0;
   }
  else if(deng==0x01)// 000 00001
  {qian=now;
   now=1;
	}
  else if(deng==0x02)// 000 00010
  {qian=now;
   now=2;
	}
  else if(deng==0x04)// 000 00100
  {qian=now;
   now=3;
	}
  else if(deng==0x08)// 000 01000
  {qian=now;
   now=4;
	}
  else if(deng==0x10)// 000 10000
  {qian=now;
   now=5;
	}
  
  if(now==0)
  {;}
  else if(now==1)
  {fangxiang=1;
   }
  else if(now==2)
  {if(qian==1)
   {P1_2=0;
	 P1_3=0;
	 }
	else
	{fangxiang=1;
	 }
   }
  else if(now==3)
  {/*if(qian==2)
    fangxiang=2;
   else if(qian==4)
	 fangxiang=1;*/
    fangxiang=0;
   }
  else if(now==4)
  {if(qian==5)
   {P1_2=0;
	 P1_3=0;
	 }
   else 
	 fangxiang=2;
   }
  else if(now==5)
  {fangxiang=2;
   }
  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=0xEC;    //2ms
 TL0=0x78;
 TR0=1;
}

⌨️ 快捷键说明

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