本人新手,大家帮我看看我的程序有什么问题。谢啦~~
时间:10-02
整理:3721RD
点击:
我刚刚学习完流水灯项目,想要编写一个从L0到L7循环点亮,并且每个灯每次点亮的时候处于闪烁状态。大家看看我编写的程序,为什么实现不了呢?谢谢!
#include<reg52.h>
sbit DS1302=P2^7;
void delay(unsigned int t)
{
while(t--);
}
void main()
{
unsigned char i,e,x;
DS1302=0;
while(1)
{
x=0xfe;
for(e=0;e<8;e++);
{
for(i=0;i<50;i++);
{
P1=x;
delay(3000);
P1=0xff;
}
x<<=1;
x=x+1;
}
}
}
#include<reg52.h>
sbit DS1302=P2^7;
void delay(unsigned int t)
{
while(t--);
}
void main()
{
unsigned char i,e,x;
DS1302=0;
while(1)
{
x=0xfe;
for(e=0;e<8;e++);
{
for(i=0;i<50;i++);
{
P1=x;
delay(3000);
P1=0xff;
}
x<<=1;
x=x+1;
}
}
}
修改程序为
#include<reg52.h>
sbit DS1302=P2^7;
void delay(unsigned int t)
{
while(t--);
}
void main()
{
unsigned char i,e,x;
DS1302=0;
while(1)
{
x=0xfe;
for(e=0;e<8;e++)
{
for(i=0;i<50;i++)
{
P1=x;
delay(3000);
P1=0xff;
delay(3000);
}
x<<=1;
x=x+1;
}
}
}
不循环原因为。你在for语句后面加了分号;不闪的原因是你灭的时候没加延时
请问倒数第二句什么意思啊
额 知道了,2了
路过 ,小编加油!
向左移动一位后面不是用0填补么?加一之后让他变成1面的重复点亮啊。
谢谢啦,问题已经解决。
谢谢啦,问题已经搞定了。
小编,,,我还是不太理解sbit DS1302=P2^7;的含义,,,求解
额······我买的单片机学习板L2灯与时钟芯片接在一起了,那个意思就是关闭时钟的使能端,防止干扰,这段代码和功能没关系的。
哦,,,,呵呵呵呵,,,我的板是自己做的,没连上,,,谢谢
高手啊,都自己做板。
没办法,,,没钱买板