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

 我来答
万恶小C
2014-12-15 · TA获得超过107个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:159万
展开全部

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

你只要先定义

sbit P0^0=LED0;

.....一定定义下去

然后再定义一个按钮

比如P1.1

sbit P1^1=key;

代码里写

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

2014-12-15 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4781万
展开全部
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);

  }

 }

}

下面是仿真图

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式