|
4黑幣
#include <STC15F2K60S2.H>
#include <intrins.h>
#include "GPIO.h"
unsigned bs[] = {0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};
ui keys_scanning (ui key)
{
ui i,key_x,key_y;
key=0;
P1=0xff;
if(P1 != 0xff)
{
P1=0xf0;
if(P1!=0xf0)
{
switch(P1)
{
case 0xf7:key_x=0;break;
case 0xfd:key_x=1;break;
case 0xfb:key_x=2;break;
case 0xfe:key_x=3;break;
}
for(i=0;i<1;i++)
{
P1=0x0f;
}
switch(P1)
{
case 0x7f:key_y=0;break;
case 0xdf:key_y=1;break;
case 0xbf:key_y=2;break;
case 0xef:key_y=3;break;
}
}
}
key = key_x*4+key_y;
return(key);
}
void display (unsigned int shuzi)
{
P0=0xff;
P3=bs[shuzi/1000%10];
P0=0xef;
delay(1);
P0=0xff;
P3=bs[shuzi/100%10];
P0=0xdf;
delay(1);
P0=0xff;
P3=bs[shuzi/10%10];
P0=0xbf;
delay(1);
P0=0xff;
P3=bs[shuzi%10];
P0=0x7f;
delay(1);
}
main()
{
ui abendon;
IO_Itin();
while(1)
{
abendon = keys_scanning();
display(abendon);
delay(500);
}
} |
|