|
#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
sbit LED1 = P1^0;
sbit Key1 = P3^4;
uchar T0RH = 0;
uchar T0RL = 0;
uchar Downcnt = 0;
uchar backup = 1;
uchar keysta = 1;
uchar num = 0;
void ConfigTimer0(uint ms);
void main()
{
EA = 1;
ConfigTimer0(1);
while(1)
{
if(backup!=keysta)
{
if(backup!=0)
{
num++;;
if(num==1)
LED1 = 0;
if(num==2)
{
LED1 = 1;
num = 0;
}
}
backup = keysta;
}
}
}
void ConfigTimer0(uint ms)
{
unsigned long temp;
temp = 11059200/12;
temp = temp*ms/1000;
temp = 65536 - temp;
T0RH = (uchar)(temp>>8);
T0RL = (uchar)temp;
TMOD &= 0XF0;
TMOD |= 0X01;
TH0 = T0RH;
TL0 = T0RL;
TR0 = 1;
ET0 = 1;
}
void interrupttimer0() interrupt 1
{
static uchar buff = 0XFF;
TH0 = T0RH;
TL0 = T0RL;
buff = buff<<1|Key1;
if(buff==0X00)
{
keysta = 0;
}
else if(buff==0XFF)
{
keysta = 1;
}
else
{ }
}
這是一個(gè)按鍵的,八個(gè)按鍵可采用數(shù)組實(shí)現(xiàn), |
評(píng)分
-
查看全部評(píng)分
|