|
#include <REGX52.H>
#include "Time0.H"
#include "Key.H"
unsigned char Number;
void main()
{
Timer0Init();
P2=0x00;
while(1)
{
Number=Key_GetNum();
if(Number)
{
P2=0xF0;
if(Number==1)
P2=~P2;
}
}
}
void Time0(void) interrupt 1
{
unsigned int count=0;
TL0 = 0xA4; //設(shè)置定時(shí)初值
TH0 = 0xA4; //設(shè)置定時(shí)重載值
count++;
if(count>=200)
{
count=0;
Key_Loop();
}
}
************************************************
#include <REGX52.H>
unsigned char KeyNumber;
unsigned char Key_Return()
{
unsigned char Num=0;
if(P3_1==0){Num=1;}
return Num;
}
void Key_Loop()
{
static unsigned char Before_Num;
static unsigned char Now_Num;
Before_Num=Now_Num;
Now_Num=Key_Return();
if(Before_Num==1 && Now_Num==0){KeyNumber=1;}
if(Before_Num==2 && Now_Num==0){KeyNumber=2;}
if(Before_Num==3 && Now_Num==0){KeyNumber=3;}
if(Before_Num==4 && Now_Num==0){KeyNumber=4;}
}
unsigned char Key_GetNum()
{
unsigned char tmp=0;
tmp=KeyNumber;
return tmp;
}
********************************************
|
|