一个按键控制一个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