微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 本人新手,大家帮我看看我的程序有什么问题。谢啦~~

本人新手,大家帮我看看我的程序有什么问题。谢啦~~

时间: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;
        delay(3000);
   }
   x<<=1;
   x=x+1;
  }
}
}
不循环原因为。你在for语句后面加了分号;不闪的原因是你灭的时候没加延时

请问倒数第二句什么意思啊

额 知道了,2了

路过  ,小编加油!
           

向左移动一位后面不是用0填补么?加一之后让他变成1面的重复点亮啊。

谢谢啦,问题已经解决。

谢谢啦,问题已经搞定了。

小编,,,我还是不太理解sbit DS1302=P2^7;的含义,,,求解

额······我买的单片机学习板L2灯与时钟芯片接在一起了,那个意思就是关闭时钟的使能端,防止干扰,这段代码和功能没关系的。

哦,,,,呵呵呵呵,,,我的板是自己做的,没连上,,,谢谢

高手啊,都自己做板。

没办法,,,没钱买板

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top