main.c
#include<reg51.h>
#include<function.h>
#include<keyscan.h>
#define speed 1
sbit PH1 = P1^0; //定义管脚
sbit PH2 = P1^1;
sbit I01 = P1^2;
sbit I11 = P1^3;
sbit I02 = P1^4;
sbit I12 = P1^5;
void delay(int time){
int i,j;
for(j=0; j <= time; j++)
for(i =0 ; i <= 120; i++);
}
void init()
{
PH1 = 0;
I01 = 0;
I11 = 0;
PH2 = 1;
I02 = 1;
I12 = 1;
delay(speed);
PH1 = 0;
I01 = 0;
I11 = 0;
PH2 = 1;
I02 = 1;
I12 = 1;
delay(speed);
}
void Go1() // !a=>!b=>a=>b=>!a
{
PH1 = 0;
I01 = 0;
I11 = 0;
PH2 = 0;
I02 = 1;
I12 = 1;
delay(speed);
//okay;
PH1 = 1;
I01 = 1;
I11 = 1;
PH2 = 0;
I02 = 0;
I12 = 0;
delay(speed);
PH1 = 1;
I01 = 0;
I11 = 0;
PH2 = 1;
I02 = 1;
I12 = 1;
delay(speed);
PH1 = 0;
I01 = 1;
I11 = 1;
PH2 = 1;
I02 = 0;
I12 = 0;
delay(speed);
PH1 = 0;
I01 = 0;
I11 = 0;
PH2 = 0;
I02 = 1;
I12 = 1;
delay(speed);
}
void Go2()
{
PH1 = 0;
I01 = 0;
I11 = 0;
PH2 = 1;
I02 = 1;
I12 = 1;
delay(speed);
PH1 = 1;
I01 = 1;
I11 = 1;
PH2 = 1;
I02 = 0;
I12 = 0;
delay(speed);
PH1 = 1;
I01 = 0;
I11 = 0;
PH2 = 0;
I02 = 1;
I12 = 1;
delay(speed);
PH1 = 0;
I01 = 1;
I11 = 1;
PH2 = 0;
I02 = 0;
I12 = 0;
delay(speed);
PH1 = 0;
I01 = 0;
I11 = 0;
PH2 = 1;
I02 = 1;
I12 = 1;
delay(speed);
}
void main()
{
uchar key;
initialKeyScan();
init();
while(1)
{
key = keyScan();
switch(key)
{
case 0x00:{Go1(); break;}
case 0x01:{Go2(); break;}
}
key = 0x10;
}
}