|
本帖最后由 dzbj 于 2017-3-28 22:06 編輯
#include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器
sbit k1=P3^1; //定義P31口是k1
sbit led = P2;
uchar i=0;
void Timer0Init()
{
TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
TH0=; //給定時器賦初值 ********用20ms就行*******
TL0=;
ET0=1;//打開定時器0中斷允許
EA=1;//打開總中斷
TR0=1;//打開定時器
}
void delay(uchar time)
{
i=0;
while(i<time);
}
void keypros()
{
if(k1==0) //檢測按鍵K1是否按下
{
delay(1); //消除抖動 ****20ms****
if(k1==0) //再次判斷按鍵是否按下
{
led = 0;
}
while(!k1); //檢測按鍵是否松開
i=0;
}
}
void main()
{
led=0xff;
Timer0Init(); //定時器0初始化
while(1)
{
keypros();
if(i==250)
{
i=0;
led=~led;
}
}
}
void Timer0() interrupt 1
{
TH0=; //給定時器賦初值 ********用20ms就行*******
TL0=;
i++;
}
|
|