51单片机——独立按键

独立按键编程思路
#include< reg51.h >
#include< intrins.h > //循环右位移函数库
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_为字符型循环右位移函数//
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--);
}
评论