dianjikongzhi.c

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

C
92
字号
#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_3=P2^3;

unsigned char ban,nowb,qianb;
unsigned int CODE[8]={0x77,0x33,0xbb,0x99,0xdd,0xcc,0xee,0x66};

void Init(void);
void qianyi(void);
void houyi(void);
void delay(void);

main()
{
 Init();
 for(;;)
 {ban=P0&0x1F;
  if(ban==0x00)
  {nowb=0;
   }
  else if(ban==0x01)// 000 00001
  {qianb=nowb;
   nowb=1;
	}
  else if(ban==0x02)// 000 00010
  {qianb=nowb;
   nowb=2;
	}
  else if(ban==0x04)// 000 00100
  {qianb=nowb;
   nowb=3;
	}
  else if(ban==0x08)// 000 01000
  {qianb=nowb;
   nowb=4;
	}
  else if(ban==0x10)// 000 10000
  {qianb=nowb;
   nowb=5;
	}
  
  if(nowb==0)
  {;}
  else if(nowb==1)
  {qianyi();}
  else if(nowb==2)
  {qianyi();}
  else if(nowb==3)
  {;}
  else if(nowb==4)
  {houyi();}
  else if(nowb==5)
  {houyi();}
  }
}

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

 P3=0x00;
}

void qianyi(void)
{unsigned int i;
 for(i=0;i<20;i++)
 {P3=CODE[7-i%8];
  delay();
  }
}

void houyi(void)
{unsigned int j;
 for(j=0;j<20;j++)
 {P3=CODE[j%8];
  delay();
  }
}

void delay(void)
{unsigned int x,y;
 for(x=0;x<20;x++)
  for(y=0;y<124;y++)
   ;
}

⌨️ 快捷键说明

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