标题:
小白问下自己写的点亮LED代码哪里错了
[打印本页]
作者:
gorrot
时间:
2019-12-2 20:36
标题:
小白问下自己写的点亮LED代码哪里错了
如下
#include <reg52.h>
sbit LED=P0^0;
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
sbit ENLED=P1^4;
void main()
{
ENLED=0;
ADDR3=1;
ADDR2=1;
ADDR1=1;
ADDR0=0;
LED=0;
while(1);
}
作者:
csmyldl
时间:
2019-12-3 02:12
代码没错,关键是你的外围电路是否被控了,LED=0;要控制点亮,只有发光二极管的阴极接P0.0,而且有些单片机的P0口需外接上拉电阻
作者:
DHJ666
时间:
2019-12-3 03:48
你用P0还是P1口呢
作者:
angmall
时间:
2019-12-3 06:40
给你改了一下试试
#include <reg52.h>
sbit LED=P0^0;
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
sbit ENLED=P1^4;
void main()
{
ENLED=0;ADDR3=0; //打开74HC138译码器(3线8线译码器)
ADDR2=1;ADDR1=1;ADDR0=0; //通过输入信号110使输出端LEDS6输入信号0
//ENLED=0;
//ADDR3=1;
//ADDR2=1;
//ADDR1=1;
//ADDR0=0;
LED=0;
while(1);
}
复制代码
作者:
wulin
时间:
2019-12-3 08:55
没有错,多了些赘句
#include <reg52.h>
sbit LED=P0^0;
void main()
{
LED=0;
while(1);
}
作者:
zhy123654
时间:
2019-12-3 10:30
逻辑上说都没有错等于1就是高电平等于0就是低电平,问题是现在这些代码有没有达到你想要的样子,你想要什么样子如果没有实现,再看错在什么地方
作者:
cphnkj188
时间:
2019-12-3 10:36
这个要看你的开发板是哪一种,有没有用译码器和缓冲器
作者:
luozhao
时间:
2019-12-3 10:59
代码没问题,关键要看你的led是怎么接的,是不是低电平就能驱动
作者:
angmall
时间:
2019-12-3 20:58
单片机程序是要针对相应的硬件环境的,你要控制点亮你的led,要有针对相应的硬件原理图
你原来的程序, 是对相应这样的硬件
http://www.51hei.com/bbs/dpj-19014-1.html
#include<reg52.h> //包含寄存器的库文件
sbit LED = P0^0; //位地址声明,注意:sbit必须小写!
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
void main()
{
unsigned int i = 0;
ENLED = 0;
ADDR0 = 0;
ADDR1 = 1;
ADDR2 = 1;
ADDR3 = 1; //74HC138开启三极管
while(1) //程序死循环
{
LED = 0; //点亮小灯
for(i=0;i<30000;i++); //延时一段时间
LED = 1; //熄灭小灯
for(i=0;i<30000;i++); //延时一段时间
}
}
复制代码
作者:
f556
时间:
2019-12-4 09:28
wulin 发表于 2019-12-3 08:55
没有错,多了些赘句
#include
,正解!
没有接触单片机时写过一些高级语言,为什么学MCU就要学这个程序,也正是这个程序,让我眼前一亮,明白了单片机的关键所在。经常在想,这是单片机最伟大的程序(没有之一)。
作者:
sad520ljh
时间:
2019-12-4 12:10
编译上是没问题,剩下就是硬件了
作者:
CairoLAY
时间:
2019-12-4 14:38
没什么错误
作者:
634967256
时间:
2019-12-4 19:14
没有错吧 烧入应该可以用啊
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1