在C51单片机中编写8个开关控制8个小灯的程序,用C语言和汇编语言两种编写

 我来答
百度网友ec35c0b5a
2014-03-19 · TA获得超过1692个赞
知道大有可为答主
回答量:2508
采纳率:73%
帮助的人:1197万
展开全部
早上起来没有什么事,跟你写个简单的供您学习与参考吧,这个程序是对应某个按键按下,对应序列号的灯就亮起来,释放按键,则灯灭,都是低电平有效。至于其他功能,你可以自己扩展吧。我只写2个,8个太多了,懒的动了。
#include<REG51.H>
#include<stdio.h>
sbit KEY1 = P1^0;
sbit KEY2 = P1^1;

sbit LED1 = P2^0;
sbit LED2 = P2^1;

void main(void)
{
//有必要的话,这里先对单片机各类寄存器进行初始化,这里因为简单,未做相关初始化工作
for(;;)
{
if(KEY1==0)//如果按键1被按下
{LED1=0;}//开启LED1灯
else{LED1=1;}//否则关闭LED1等,以下雷同....

if(KEY2==0)
{LED2=0;}
else{LED2=1;}

}//end main-for(;;)

}//end main;
做而论道
高能答主

2014-03-19 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
更多追问追答
追问
有没有不需要延时那种
追答
这个可以有:
----------------------
汇编的如下:
ORG 0000H
MOV P0, P1 ;这一句,就是8个开关控制8个小灯
SJMP 0000H
END
----------------------
楼主选择的答案,太繁琐了。
8个开关控制8个小灯,就是一条指令的事 !
写那么多干嘛 ?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhxiufan
2014-03-19 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38385
国家科技进步奖

向TA提问 私信TA
展开全部
ORG 0000H
MAIN:
MOV A,P1
MOV P0,A
SJMP MAIN

#include<reg51.h>
sfr key=P1;
sfr led=P0;
main()
{
while(1)
{
led=key;
}
}
追问
能不能大致写一下思路
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式