51單片機——獨立按鍵
?獨立按鍵編程思路
#include< reg51.h >
?#include< intrins.h > //循環(huán)右位移函數(shù)庫
void delay_10_ms(unsigned int t);
sbitP1_0=P1^0; //P1口為按鍵
void main(void)
{
unsigned char i;
P0=0x01;
while(1)
{
if(P1_0==0)//按鍵按下
{
delay_10_ms(1); //利用延時消除抖動
if(P1_0==0)
{
P0=_cror_(P0,1); //P0口為LED //_cror_為字符型循環(huán)右位移函數(shù)//
while((i<50)&&(P1_0==0))
{
delay_10_ms(50);
}
i=0;
}
}
}
}
void delay_10_ms(unsigned int t)//延時10ms
{
unsigned char k,j;
for(;t>0;t--)
for(k=38;k>0;k--)
for(j=130;j>0;j--);
}
評論