先看电路图,
每个按钮默认高电平,都跟GND相连
如果按下开关,接口接地,变成低电平
特别的一点是,P3的顺序是1,0,2,3
如果我们要实现第一个按钮灯右移
那么我们循环判断P3_1是否为0
然后延时,然后再写个while(!P3_1)即可
表示松手就退出
然后再左移即可
代码如下:
#include <at89c51RC2.h>
void delay(int x)
{
x *= 100;
while(x) x--;
}
void main()
{
P2 = 0xFE;
// unsigned char num = 0;
while(1)
{
if(P3_1 == 0)
{
delay(20);
while(P3_1 == 0);
P2 = P2 << 1;
}
}
}
标签:P2,P3,led,独立,delay,while,按钮 From: https://www.cnblogs.com/rickly233/p/17360035.html