跪求!!!STC89C52单片机,用八个按键控制分别控制八个LED灯的代码(C语言)

一个按键控制一个LED灯,总共八个按键分别控制八个LED灯,数码管上显示点亮的LED灯的数目,求这个代码

[已完成!]电路图如下,


#include <reg52.h>
#include <stdio.h>



unsigned char code table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};
void delay_ms(unsigned int ct)        //延时
{
unsigned int t,i;
for(i=0;i<ct;i++)
{
t=115;
while(--t);
}
}
void main(void)
{
// Write your code here
unsigned char ct=100;
while (1)         //主循环
{
switch(P1)  //P1口作为独立按键输入端,检测端口电平并做如下判断
{
case 0xfe:P0=dofly_table[1];LED0=0;break;//0xfe = 1111 1110,
//说明连接在P3.0端口的按键被按下,显示对应的数字然后跳出循环
case 0xfd:P0=dofly_table[2];LED1=0;break;//调用表中的第三个
//元素 0xa4 下标 0 才表示数组中的第一个元素
case 0xfb:P0=table[3];LED2=0; break;
case 0xf7:P0=table[4];LED3=0;break;
case 0xef:P0=table[5];LED4=0;break;
case 0xdf:P0=table[6];LED5=0;break;
case 0xbf:P0=table[7];LED6=0;break;
case 0x7f:P0=table[8];LED7=0;break;
default:break;    //如果都没按下,直接跳出
}
//主循环中添加其他需要一直工作的程序
}
}

//如果帮到你的话,点一个赞吧!硬件电路工程师-帝国卫兵Tt

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-06-22

按键按下,不松开,灯就亮。

仿真图如下:

看到这个题目,已经过去很多天了。

也不知道,楼主还需要程序吗?

第2个回答  2020-06-07
我不知道,还没有学过这个,所以我才不知道的,对不起😣