#include "reg51.h"
unsigned char count,countset;
sbit LED=P0^0;
sbit KEY=P1^0;
void delayms(void)
{
unsigned char i,j;
for(i=0;i<5;i++)
{
for(j=0;j<200;j++);
}
}
void main()
{
TMOD = 0x01;
TL0 = 0x00; //10毫秒@11.0592MHz设置定时初值
TH0 = 0xDC; //10毫秒@11.0592MHz设置定时初值
TR0 = 1;
ET0 = 1;
EA = 1;
count = 0;
countset = 25;
LED=1;
KEY=1;
while (1)
{
if(KEY==0)
{
delayms();
if(KEY==0)
{
countset = countset + 25;
if(countset>50)countset=25;
while (KEY==0);
}
}
}
}
void tm0_isr() interrupt 1
{
TL0 = 0x00; //10毫秒@11.0592MHz设置定时初值
TH0 = 0xDC; //10毫秒@11.0592MHz设置定时初值
if (++count >= countset)
{
count = 0; //reset counter
LED = ! LED; //work LED flash
}
} |