#include<reg52.h>
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;//138譯碼器的數據輸入端
sbit ADDR3=P1^3;
sbit ENLED=P1^4;//138譯碼器的使能端
sbit KEY1=P2^4;
sbit KEY2=P2^5;
sbit KEY3=P2^6;
sbit KEY4=P2^7;
unsigned char code LedChar[] = {0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
void main()
{
bit backup=1;
unsigned char cnt=0;
ENLED=1;
ADDR3=0;
ADDR2=1;
ADDR1=1;
ADDR0=0;
P2=0xf7;
P0=LedChar[cnt];
while(1)
{
if(KEY4!=backup)//backup 在上面定義是1
{
if(backup==0)//backup 是如何等于0的?
{
cnt++;
if(cnt==10)
{
cnt=0;
}
P0=LedChar[cnt];
}
backup=KEY4;
}
}
}
|