51单片机做流水灯,灯不亮。
#include
#include
#define led P2
typedef unsigned char uch;
typedef unsigned int uint;
void delay(uch i) //延时函数
{
while(i--);
}
void main()
{
uch i;
led=0x01;
delay(50000);
while(1)
{
for(i=0;i<7;i++) //左循环
{
led=_crol_(led,1);
delay(50000);
}
for(i=0;i<7;i++) //右循环
{
led=_cror_(led,1);
delay(50000);
}
}
}
改进了一下电路,试着在Multisim上跑了一下(采用8052单片机),还算可以,见图:
代码如下:
#include
void delay(unsigned int i)
{
while(i--);
}
void main()
{
P2=0x01;
while(1)
{
while(P2!=0x80)
{
P2=P2<<1;
delay(10);
}
while(P2!=0x01)
{
P2=P2>>1;
delay(10);
}
}
}
led是否为甚亮,电流超出单片驱动能力
最简单的 把亮灯值做一个数组用for循环一条搞定
先查看一下程序是否正确,把单片机31脚接电源试试
先查看一下程序是否正确,把单片机31脚接电源试试
是不是U2选成共阳型LED了? 王栋春 发表于 2017-6-24 21:27
led是否为甚亮,电流超出单片驱动能力王栋春 发表于 2017-6-24 21:27
led是否为甚亮,电流超出单片驱动能力晓晓江南 发表于 2017-6-24 22:28
改进了一下电路,试着在Multisim上跑了一下(采用8052单片机),还算可以,见图:晓晓江南 发表于 2017-6-24 22:28
改进了一下电路,试着在Multisim上跑了一下(采用8052单片机),还算可以,见图:太子的空间 发表于 2017-6-25 10:04
先查看一下程序是否正确,把单片机31脚接电源试试
本帖最后由 菜鸟零零 于 2017-6-25 22:02 编辑
太子的空间 发表于 2017-6-25 10:04
先查看一下程序是否正确,把单片机31脚接电源试试战胜心魔 发表于 2017-6-25 08:25
最简单的 把亮灯值做一个数组用for循环一条搞定houjue 发表于 2017-6-25 20:24
是不是U2选成共阳型LED了?houjue 发表于 2017-6-25 20:24
是不是U2选成共阳型LED了?菜鸟零零 发表于 2017-6-25 22:03
太复杂了。而且主要是想练习左移右移函数的。
支持一下 楼主加油
支持一下 楼主加油
菜鸟零零 发表于 2017-6-25 22:06
U2另一端接地和接5V电源,我都试过。都没反应。另外,怎么看共阴共阳啊?