在51单片机中用c语言写程序实现用一个按键控制8个灯的亮和灭(按下按键灯亮,按下按键灯灭)

如题所述

比如你的8个灯连在 P0口,如果是阴极的

你只要先定义

sbit P0^0=LED0;

.....一定定义下去

然后再定义一个按钮

比如P1.1

sbit P1^1=key;

代码里写

while(true)
{
if(key==1)
{
LED0=0;
LED1=0;
..//把你要亮的灯置0就行了。阳极的话置1
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-15
8个灯是同时亮和灭呢?还是分别亮和灭呢?这是不同的,这8个灯接在哪个并行口了,怎么接的?是仿真,还是怎么的?追问

同时亮和灭

追答

那就把8个灯接在P0口,都是LED的负极接到P0口,按键接在P3.2上,程序如下:

#include <reg51.h>

sbit inkey=P3^2;

main()

{

 unsigned char light=0;

 P0=light; //开机后全亮

 while(1)

 {

  if(inkey==0)

  {

   light=~light;//亮,灭转换

   P0=light;

   while(inkey==0);

  }

 }

}

下面是仿真图

相似回答