#include<reg52.h>
#include<intrins.h>
#include"keyscan.h"
#define uchar unsigned char
#define uint unsigned int
#define wmport P2
#define dmport P0
///////////////////////////////////////
uchar code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
uchar j;
void delay01s() //延时0.1s
{
uchar i,j,k;
for(i=10;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
////************************************************************
void led00()
{
uchar a;
P1=0xfe;
for(a=0;a<8;a++)
{P1=_crol_(P1,1);
delay01s();}
}
void led01()
{
uchar a;
P1=0x7f;
for(a=0;a<8;a++)
{P1=_cror_(P1,1);
delay01s();}
}
void led02()
{uchar a;
for(a=0;a<8;a++)
{ P1=0xff;
delay01s();
P1=0xe7;
delay01s();
P1=0xc3;
delay01s();
P1=0x81;
delay01s();
P1=0x00;
delay01s();}
}
void led03()
{uchar a;
for(a=0;a<8;a++)
{ P1=0x00;
delay01s();
P1=0x81;
delay01s();
P1=0xc3;
delay01s();
P1=0x87;
delay01s();
P1=0xff;
delay01s();}
}
void led04()
{
uchar a;
P1=0x55;
for(a=0;a<8;a++)
{P1=_crol_(P1,1);
delay01s();}
}
void led05()
{
uchar a;
P1=0xff;
for(a=0;a<8;a++)
{P1=P1<<1;
delay01s();}
}
void led06()
{
uchar a;
P1=0x00;
for(a=0;a<8;a++)
{P1=(P1<<1)|0x01;
delay01s();}
}
void main()
{ uchar j;
while(1)
{
if(keyscan!=0xff)
{ j=keyscan();
switch(j)
{ case 0: led00();break;
case 1: led01();break;
case 2: led02();break;
case 3: led03();break;
case 4: led04();break;
case 5: led05();break;
case 6: led06();break;
}
}
}
}