共阳极LED灯实现简单抢答器

本文介绍了一个基于51单片机的LED显示程序,通过按键选择不同的LED显示数字。程序首先定义了LED显示的字符编码,然后在主循环中通过读取P3口的状态来判断按键输入,并根据不同的按键值更新P1口输出,从而改变LED显示的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <reg51.h>

unsigned char LED[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x82,0xf8,0x80,0x90};

void main(void)
{
  	/*int i;
	for(i = 0; i <= 9; i++)
	{
		P1 = table[i];
		delay(20000);
	} */
	//	P1 = 0xff;
	int flag;
	P1 = 0xff;
	
	while(1)
	{
		

		if(P3 == 0xfe)
		{
			P1 = 0xff;
			flag = 1;
			while(flag)
			{
					switch(P3)
					{
						//case 0xfe:P1 = 0xff; break;
						case 0xfd:P1 = LED[1];flag = 0; break;
						case 0xfb:P1 = LED[2];flag = 0; break;
						case 0xf7:P1 = LED[3];flag = 0;break;
						case 0xef:P1 = LED[4];flag = 0; break;
						case 0xdf:P1 = LED[5];flag = 0; break;
						case 0xbf:P1 = LED[6];flag = 0; break;
						case 0x7f:P1 = LED[7];flag = 0; break;
						default:break;
					}

				
			}
		
	}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值