菜鸟求助,关于51独立按键的
时间:10-02
整理:3721RD
点击:
#include <reg52.h>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit key=P3^4;
sbit led=P0^7;
void delay(uchar z)
{
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
led=0;
while(1)
{
if(key==0)
{
delay(10);
if(key==0)
led=~led;
}
while(!key);
}
}
按键有的时候没有反应,想知道这段代码哪里有问题,谢谢!百度了半天也没有找到解决的方法。
不是没反应,是反映太快你以为没反应!
你按住按键不要放手,然后等led变化了,在放手看看是什么情况
按键扫描程序,你不能在while里写;你现在的程序是你一按下,led就不停反转,毫秒级别的,你根本看不出现象