proteus仿真 LED灯不亮

仿真过程截图:源程序:#include<reg51.h>unsignedintk;voiddelay(){for(k=65535;k>0;k--);}voidmain()... 仿真过程截图:

源程序:
#include <reg51.h>unsigned int k;void delay(){ for (k=65535;k>0;k--);}void main(){// unsigned int i; unsigned short j; P1=0xff;/* while (1) { for (j=7;j>0;j--) { delay(); P1=P1<<1; } for(j=7;j>0;j--) { delay(); P1=P1>>1; } } */}
注:仿真是基于另外一个实验修改的(原来的LED是接电源的,我改成了接地),C程序是为了测试P1端口LED灯的点亮情况,所以很大一部分都注释掉了,我想知道的是,为什么P1.0上的LED灯不亮(其他的LED灯不用管)?
展开
 我来答
lycdl
高粉答主

2013-12-26 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4975万
展开全部
“原来的LED是接电源的,我改成了接地”,就是因为这么改了,就改错了,不能只改接地呀,那8个LED的正负也要颠倒一下才对,这样的8个LED的正负就接反了,肯定是不亮的。这样改,一方面8个LED正负要颠倒,P1输出电平也要改为0有效,就是P1口输出0,那8个LED才能亮。
追问
p1.0上的LED我已经改了(你仔细看截图),其他的没改是因为我只是拿p1.0做测试,且,p1.0怎么能输出0呢?肯定是输出1才会亮。
likangkang44
2019-05-12
知道答主
回答量:21
采纳率:0%
帮助的人:4.5万
展开全部
每个LED灯串联一个电阻,电阻功值设置为220
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
望含苼Gz
2020-03-27
知道答主
回答量:1
采纳率:0%
帮助的人:639
展开全部
我也遇到这个问题了 请问是怎么解决的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
5922771321
2013-12-26 · TA获得超过1438个赞
知道小有建树答主
回答量:1410
采纳率:100%
帮助的人:372万
展开全部
应该是单片机的拉电流不够,最好是将LED的公共端接VCC,单片机的IO口输出低电平电量小灯
追问
但是这样有一个问题,那就是:若LED接电源,那么使用C语言的移位指令会出现这样一种情况,做跑马灯时,无论初始值则么设置,会出现8盏灯中无法只亮一盏灯而其他灯全熄灭的情况。PS:问题解决了,LED接电源,使用的方法:http://bbs.ednchina.com/BLOG_ARTICLE_280955.HTM
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尤优文库
2013-12-26 · TA获得超过1753个赞
知道小有建树答主
回答量:1067
采纳率:50%
帮助的人:758万
展开全部
你LED灯正负极反了
追问
我知道,p1.0我改了的(仔细看图),其他的没改是因为我先拿p1.0做测试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式