找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4129|回复: 15
收起左侧

大佬们看看什么问题 单片机闪烁灯程序

  [复制链接]
ID:283883 发表于 2018-4-12 19:12 | 显示全部楼层 |阅读模式
#include<reg52.h>
sbit led=P1^0;
void delay(unsigned int a)
{
while(a--);
}
void main()
{
while(1)
{
led=0;
delay(30000);
led=1;
delay(30000);
}
}

为什么我led正极接gnd,负极接单片机p10口它一直亮着,不闪烁,网上找了好多程序都是这样,应该怎么接,谢谢

评分

参与人数 2黑币 +2 收起 理由
mama + 1 赞一个!
wuyougen + 1 赞一个!

查看全部评分

回复

使用道具 举报

ID:306937 发表于 2018-4-12 21:15 | 显示全部楼层
换个delay函数,你这函数太快了,
回复

使用道具 举报

ID:306937 发表于 2018-4-12 21:16 | 显示全部楼层
led正接vcc吧
回复

使用道具 举报

ID:261288 发表于 2018-4-12 21:21 | 显示全部楼层
LED阳极串电阻接 VCC,阴极接单片机IO口,不用的IO口默认高电平,所以长亮不闪烁。
回复

使用道具 举报

ID:306950 发表于 2018-4-12 21:34 | 显示全部楼层
LED正极接GND的话 那LED不会亮的,你需要LED正极接5V 负极接单片机引脚
回复

使用道具 举报

ID:125462 发表于 2018-4-13 09:35 | 显示全部楼层
LED正极接vcc, 负极接P0口试一下
回复

使用道具 举报

ID:141648 发表于 2018-4-13 14:38 | 显示全部楼层
led正极接gnd,怎么会亮?
回复

使用道具 举报

ID:291224 发表于 2018-4-13 14:51 | 显示全部楼层
这情况   有点邪门,正极你接地,居然会亮,你自己检查一下电路
回复

使用道具 举报

ID:7485 发表于 2018-4-13 15:39 | 显示全部楼层
延时太短了吧?这么快眼睛分辨不出来闪动吧?
回复

使用道具 举报

ID:283883 发表于 2018-4-13 18:21 | 显示全部楼层
ahshmj 发表于 2018-4-13 15:39
延时太短了吧?这么快眼睛分辨不出来闪动吧?

我刚开始也猜测是这个问题,后来发现是最初单片机接反烧了,谢谢
回复

使用道具 举报

ID:306675 发表于 2018-4-13 19:07 | 显示全部楼层
LED的正极不能接GND啊
回复

使用道具 举报

ID:307617 发表于 2018-4-13 21:00 | 显示全部楼层
你怕是反极性的LED
回复

使用道具 举报

ID:283883 发表于 2018-4-14 11:40 | 显示全部楼层

对的,应该是这样,后来我发现可能是单片机以前被我接反过烧了。谢谢
回复

使用道具 举报

ID:283883 发表于 2018-4-14 11:41 | 显示全部楼层
rose骑士 发表于 2018-4-12 21:34
LED正极接GND的话 那LED不会亮的,你需要LED正极接5V 负极接单片机引脚

对的,应该是这样,后来我发现可能是单片机以前被我接反过烧了,软件显示烧录成功,但事实执行不了程序。谢谢
回复

使用道具 举报

ID:283883 发表于 2018-4-14 11:42 | 显示全部楼层
seeyoulater 发表于 2018-4-13 14:51
这情况   有点邪门,正极你接地,居然会亮,你自己检查一下电路

是的,后来我发现可能是单片机以前被我接反过烧了,软件显示烧录成功,但事实执行不了程序。谢谢
回复

使用道具 举报

ID:306585 发表于 2018-4-14 14:33 | 显示全部楼层
void delay(unsigned int a)
{
while(a--);
}
给a加个大一点值,比如a=50;
正极vcc
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表