找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6606|回复: 29
收起左侧

单片机点亮LED灯程序无法运行,求各位大佬指点

  [复制链接]
ID:282095 发表于 2018-7-14 18:16 | 显示全部楼层 |阅读模式
作为一名小白第一次接触STC89C52RC单片机,编写点亮LED灯时无法运行,不知道哪里出现问题了 跪求各位大佬指点
STC89C25RD.PNG
回复

使用道具 举报

ID:371635 发表于 2018-7-14 18:31 | 显示全部楼层
void main()
{
    LED1 = 0;
   while(1)
{}
}
回复

使用道具 举报

ID:371635 发表于 2018-7-14 18:32 | 显示全部楼层
void main()
{
LED1=0;
while(1)
{
;
}
}
回复

使用道具 举报

ID:371635 发表于 2018-7-14 18:35 | 显示全部楼层
1、配置不对,
2、代码不对
void main()
{
      LED1 = 0;
     while(1)
     { ; }
}
回复

使用道具 举报

ID:325591 发表于 2018-7-14 18:52 | 显示全部楼层
用while(1)进行死循环看看,或者看看你的LED是低电平点亮还是高电平。还是你自己的编译文件没编译成功?
回复

使用道具 举报

ID:329253 发表于 2018-7-14 19:04 来自手机 | 显示全部楼层
是不是keil没破解啊?感觉代码写的挺对的
回复

使用道具 举报

ID:323350 发表于 2018-7-14 19:06 | 显示全部楼层
加一个while(1), 不然速度太快看不到
回复

使用道具 举报

ID:308437 发表于 2018-7-14 19:33 | 显示全部楼层
加上主循环。
回复

使用道具 举报

ID:368332 发表于 2018-7-14 20:24 | 显示全部楼层
首先你这是KEIL几啊,建议使用KEIL2哦。这里有实例希望对你有帮助。
#include<reg52.h>
sbit led=P1^0;
void main()
{
led=o;
}
回复

使用道具 举报

ID:164602 发表于 2018-7-14 20:39 | 显示全部楼层
你打好程序代码后,再编译一次没有?
程序没问题,只能是你的编程环境可能不对。
这个没法调你的软件看啊。
回复

使用道具 举报

ID:371683 发表于 2018-7-14 20:41 | 显示全部楼层
看看是不是端口错了,看原理图,有的好像是P2^0口,还有 加一个死循环函数 while(1)
回复

使用道具 举报

ID:362076 发表于 2018-7-14 21:20 | 显示全部楼层
#include<reg52.h>
sbit LED1=P1^0;
void main()
{
        LED1=0;
        while(1);
}

这样的程序不会有什么问题,检查一下这几方面:
1.单片机的晶振已经焊接并且起振
2.P1^0口上的LED灯阴极接单片机阳极连VCC并且有阻值合适的限流电阻
3.整机供电正常
4.如果选用的型号有EAVP脚,它已经连到VCC上

如果上述都没有问题可以尝试更换LED和单片机再试
回复

使用道具 举报

ID:366893 发表于 2018-7-14 21:20 | 显示全部楼层
1、确定LED灯没问题
2、程序是否下载成功
3、电路是不是LED负极接怕P1.0
回复

使用道具 举报

ID:282095 发表于 2018-7-15 00:20 | 显示全部楼层
wsd-cup 发表于 2018-7-14 18:35
1、配置不对,
2、代码不对
void main()

谢谢wsd-cup 行尊您的解答 我先尝试一下哈
回复

使用道具 举报

ID:282095 发表于 2018-7-15 00:28 | 显示全部楼层
本帖最后由 鹏博士PBs 于 2018-7-15 00:42 编辑
134849694164151 发表于 2018-7-14 19:04
是不是keil没破解啊?感觉代码写的挺对的

134849694164151行尊您好:
      作为一个刚刚接触我首先在License Management已经用computer ID注册了product,其中support period显示为 Jul 2020,这样操作应该可以说是keil的破解了吧。
回复

使用道具 举报

ID:282095 发表于 2018-7-15 00:37 | 显示全部楼层
qq455627509 发表于 2018-7-14 18:52
用while(1)进行死循环看看,或者看看你的LED是低电平点亮还是高电平。还是你自己的编译文件没编译成功?

qq455627509 行尊您好:
   (1)普通的发光二极管的工作电压为1.6V-2.1V,工作电流为1-20mA;应该是正极接入+5V的高电平,负极接入0V低电平吧.
   (2)源代码加入死循环white(1)后仍然没有任何反应哦。
   (3)要怎么判断文件是否编译成功啊
    感谢您的耐心解答和对小白一枚我的帮助。
回复

使用道具 举报

ID:282095 发表于 2018-7-15 00:39 | 显示全部楼层
天才小能猫 发表于 2018-7-14 19:06
加一个while(1), 不然速度太快看不到

天才小能猫行尊您好:
    我在源代码加入死循环white(1)后仍然没有任何反应哦,作为一名零基础新手不知道还有通过什么方式继续解决这个问题啊。
   谢谢您对我的答疑和帮助,感激涕零。
回复

使用道具 举报

ID:282095 发表于 2018-7-15 00:49 | 显示全部楼层
HC6800-ES-V2.0 发表于 2018-7-14 20:39
你打好程序代码后,再编译一次没有?
程序没问题,只能是你的编程环境可能不对。
这个没法调你的软件看啊 ...

HC6800-ES-V2.0 行尊您好:
   (1)  源代码完成后,我编译了一次没有显示相关(0)error和(0)warning,不知道是不是编译存在错误。
   (2) 作为一枚小白的我,不知道如果在keil4这个软件上面查看编程环境啊。
     谢谢您对我这位新手的帮助和点播,感激涕零。
回复

使用道具 举报

ID:282095 发表于 2018-7-15 00:54 | 显示全部楼层
渝味道 发表于 2018-7-14 20:24
首先你这是KEIL几啊,建议使用KEIL2哦。这里有实例希望对你有帮助。
#include
sbit led=P1^0;

渝味道行尊您好:
  (1)我的操作系统是win10,所以使用的是keil4软件。
   (2)我将LED大写标识,改写为led小写标识,依然没有任何作用的。
谢谢你的耐心解答。
回复

使用道具 举报

ID:371767 发表于 2018-7-15 08:20 | 显示全部楼层
没有死循环,而且点亮灯是要看硬件怎么接,是高电平亮,还是低电平亮
回复

使用道具 举报

ID:371852 发表于 2018-7-15 11:02 | 显示全部楼层
两种情况,第一种是闪的太快你没看到,按照底下更改下主函数
void main()
{
        LED1=0;
        while(1);
}
第二种情况:你设置的p0引脚,接线要接到p0口,
你要生成.hex文件烧写进去板子,才能看到结果。
回复

使用道具 举报

ID:371473 发表于 2018-7-15 11:17 | 显示全部楼层
你先看下你的原理图 对应的端口有没有出错,再看下led对应的亮灯电平 再改下应该就行了
回复

使用道具 举报

ID:397103 发表于 2021-6-3 11:09 | 显示全部楼层
我是做硬件的,单片机工程师能点亮我的LED,却不能灭我的LED,然后单片机工程师说是硬件有误?!!!!
回复

使用道具 举报

ID:955488 发表于 2021-7-22 09:13 来自手机 | 显示全部楼层
怎么总是显示p0和led无法识别
2021-07-22_09.12.24.jpg
回复

使用道具 举报

ID:934353 发表于 2021-7-22 13:36 | 显示全部楼层
lxt@ 发表于 2021-7-22 09:13
怎么总是显示p0和led无法识别

首先你的p没有大写,定义是不成功的,当然无法识别
回复

使用道具 举报

ID:952752 发表于 2021-7-23 11:45 | 显示全部楼层
void main() { LED1=0; while(1) { ; } }
回复

使用道具 举报

ID:955647 发表于 2021-7-28 21:11 | 显示全部楼层
void main()
{
   
     while(1)
     {
LED1 = 0;
}
}   
将led灯放入while死循环中,将灯亮时间延长
回复

使用道具 举报

ID:507641 发表于 2021-7-29 01:18 | 显示全部楼层
#include<reg52.h>
第一次图你工都没生成hex文件,
晶振?单片机是小三要素
p要大写
回复

使用道具 举报

ID:1013578 发表于 2022-3-28 08:35 来自手机 | 显示全部楼层
程序在执行了一次led1=0,所以不会一直亮着
回复

使用道具 举报

ID:99130 发表于 2022-3-28 10:34 | 显示全部楼层
你都没有生成HEX文件,先看看是不是keil的配置问题。程序是没问题的,或者看看是不是输入的字母是在中文输入的情况下输入的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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