51单片机 使用开关控制LED灯亮灭 看看程序有什么问题,为什么按下开关灯没有反应。电路测试已经正常。

#include<reg52.h>//包含头文件,在“reg51.h”上右键单击,并打开,可以看到它里面的定义sbitl1=P1^0;sbitc1=P0^3;voidde... #include <reg52.h> //包含头文件,在“reg51.h”上右键单击,并打开,可以看到它里面的定义

sbit l1=P1^0;
sbit c1=P0^3;

void delay()
{
int i,j;
for(i=0;i<1000;i++)
for(j=0;j<110;j++)
;
}

void main()
{
l1=0;
while(1);
{
if(c1==0) {l1=1;}
if(c1==1) {l1=0;}
}
}
展开
 我来答
lycdl
高粉答主

推荐于2018-04-11 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4742万
展开全部
程序错误:1,实际开关在P1^1,程序定义却是P0^3。
2, while(1);后边不应该有分号,这样的话,程序就在此死循环了,不往下执行了。
3,电路测试已经正常,是已经焊接实物电路了吗,那个D?是发光二极管吗,图中却是普通二极管,不发光的。
上海恋濮
2024-10-28 广告
在上海市区,若遇到电路跳闸问题,请首先确保安全,切断相关电源,防止触电风险。随后,检查跳闸的电路是否有过载、短路或漏电情况。简单故障可尝试重启断路器,但如问题依旧,建议联系专业电工进行排查与维修。专业电工能迅速定位问题所在,确保电路安全恢复... 点击进入详情页
本回答由上海恋濮提供
zhxiufan
2013-06-06 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38375
国家科技进步奖

向TA提问 私信TA
展开全部
你需要什么反应,LED不是发光二极管,所以不会发光。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang12zhe
2013-06-06 · TA获得超过1636个赞
知道小有建树答主
回答量:676
采纳率:100%
帮助的人:287万
展开全部
大神
你的开关接的是P1.1

程序里是P0.3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yl198568
2013-06-06
知道答主
回答量:23
采纳率:0%
帮助的人:16.2万
展开全部
这个片子是89C51,你定义的时候为什么是89C52,还有c1=P0^3,为什么要定义P0口的3号管脚,只定义P1不就行了么,你要是开关在P0口的3号管脚,那么这电路图也不对啊。抱歉没看懂。我也是半桶水,哈哈。莫见怪。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式