51单片机——独立按键控制LED显示二进制
#include <REGX52.H>
void Delay(unsigned int xms)
{
	unsigned char i, j;
	while(xms)
	{

		i = 2;
		j = 239;
		do
  		{
			while (--j);
		} while (--i);
		xms--;
	}
}
void main()
{
	unsigned char lednum=0;
	while(1)
	{
		if(P3_1==0)
		{
			Delay(20);
			while(P3_1==0);
			Delay(20);
			lednum++;
			P2=~lednum;
		}
	}
}

为什么要定义lednum?

因为如果

P2++;
P2=~P2;

P2最开始为1111 1111 加到最后为0000 0000

再进行按位取反的话又变回1111 1111

上一篇
下一篇