51 单片机学习_3-3 独立按键控制LED二进制显示

文章目录

  • 解释
  • 代码

解释

F = 1111 1111
flag = 0
P_2 = F = 1111 1111

按一次K1,flag加1
P_2 = 1111 1110 //表示1,第一个LED发光

按一次K1,flag加1
P_2 = 1111 1110 //表示2,第二个LED发光

按一次K1,flag加1
P_2 = 1111 1100 //表示3,第一个和第二光LED同时发光
……

代码

#include 

void Delay(unsigned int xms)		//@11.0592MHz
{
	unsigned char i, j;

	while(xms--){
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
	}
}

void main(){
	unsigned char F=0xff;
	unsigned char flag=0x0;
	
	while(1){
		if(P3_1==0){
			P2=F-flag;
			flag++;
			Delay(500);
		}
	}
}

你可能感兴趣的:(单片机实验,51单片机)