查看: 1947|回复: 0
打印 上一主题 下一主题

89c51的呼吸流水灯(10个流水灯)

[复制链接]
跳转到指定楼层
沙发
发表于 2016-6-14 19:18:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发一个关于10个流水灯的呼吸灯程序
晶振11.0592Mhz,用Keil编译的
#include<reg51.h>
/*-------------------------IO口定义----------------------------*/
sbit LED0=P0^0;
sbit LED1=P0^1;
sbit LED2=P0^2;
sbit LED3=P0^3;
sbit LED4=P0^4;
sbit LED5=P0^5;
sbit LED6=P0^6;
sbit LED7=P0^7;
sbit LED8=P2^0;
sbit LED9=P2^1;

//延时
void delay(unsigned int t)
{
while(--t);
}


//主函数
void main (void)
{
        unsigned int CYCLE=250,PWM_LOW=0;
        while (1)
        {
// LED0
                for(PWM_LOW=1WM_LOW<CYCLEWM_LOW++)
                {
                  LED0=0;
                   delay(PWM_LOW);
                  LED0=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED0=0;
                for(PWM_LOW=CYCLE-1WM_LOW>0WM_LOW--)
                {//与逐渐变亮相反的过程
                  LED0=0;
                  delay(PWM_LOW);
                  LED0=1;
                   delay(CYCLE-PWM_LOW);
                }


//LED1
                LED1=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1WM_LOW<CYCLEWM_LOW++)
                {
                  LED1=0;
                   delay(PWM_LOW);
                  LED1=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED1=0;
                for(PWM_LOW=CYCLE-1WM_LOW>0WM_LOW--)
                {//与逐渐变亮相反的过程
                  LED1=0;
                  delay(PWM_LOW);
                  LED1=1;
                   delay(CYCLE-PWM_LOW);
                }


// LED2
                LED2=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1WM_LOW<CYCLEWM_LOW++)
                {
                  LED2=0;
                   delay(PWM_LOW);
                  LED2=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED2=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED2=0;
                  delay(PWM_LOW);
                  LED2=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED3
                LED3=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED3=0;
                   delay(PWM_LOW);
                  LED3=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED3=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED3=0;
                  delay(PWM_LOW);
                  LED3=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED4
                LED4=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED4=0;
                   delay(PWM_LOW);
                  LED4=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED4=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED4=0;
                  delay(PWM_LOW);
                  LED4=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED5
                LED5=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED5=0;
                   delay(PWM_LOW);
                  LED5=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED5=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED5=0;
                  delay(PWM_LOW);
                  LED5=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED6
                LED6=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED6=0;
                   delay(PWM_LOW);
                  LED6=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED6=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED6=0;
                  delay(PWM_LOW);
                  LED6=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED7
                LED7=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED7=0;
                   delay(PWM_LOW);
                  LED7=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED7=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED7=0;
                  delay(PWM_LOW);
                  LED7=1;
                   delay(CYCLE-PWM_LOW);
                }

//LED8
                LED8=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED8=0;
                   delay(PWM_LOW);
                  LED8=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED8=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED8=0;
                  delay(PWM_LOW);
                  LED8=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED9
                LED9=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED9=0;
                   delay(PWM_LOW);
                  LED9=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED9=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED9=0;
                  delay(PWM_LOW);
                  LED9=1;
                   delay(CYCLE-PWM_LOW);
                }

//LED8
                LED8=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED8=0;
                   delay(PWM_LOW);
                  LED8=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED8=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED8=0;
                  delay(PWM_LOW);
                  LED8=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED7
                LED7=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED7=0;
                   delay(PWM_LOW);
                  LED7=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED7=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED7=0;
                  delay(PWM_LOW);
                  LED7=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED6
                LED6=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED6=0;
                   delay(PWM_LOW);
                  LED6=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED6=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED6=0;
                  delay(PWM_LOW);
                  LED6=1;
                   delay(CYCLE-PWM_LOW);
                }
// LED5
                LED5=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED5=0;
                   delay(PWM_LOW);
                  LED5=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED5=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED5=0;
                  delay(PWM_LOW);
                  LED5=1;
                   delay(CYCLE-PWM_LOW);
                }


// LED4
                LED4=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED4=0;
                   delay(PWM_LOW);
                  LED4=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED4=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED4=0;
                  delay(PWM_LOW);
                  LED4=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED3
                LED3=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED3=0;
                   delay(PWM_LOW);
                  LED3=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED3=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED3=0;
                  delay(PWM_LOW);
                  LED3=1;
                   delay(CYCLE-PWM_LOW);
                }

// LED2
                LED2=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED2=0;
                   delay(PWM_LOW);
                  LED2=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED2=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED2=0;
                  delay(PWM_LOW);
                  LED2=1;
                   delay(CYCLE-PWM_LOW);
                }

//LED1
                LED1=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED1=0;
                   delay(PWM_LOW);
                  LED1=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED1=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED1=0;
                  delay(PWM_LOW);
                  LED1=1;
                   delay(CYCLE-PWM_LOW);
                }
               
//LED0               
                LED0=1;
                delay(1000); //可以看到熄灭的过程
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
                {
                  LED0=0;
                   delay(PWM_LOW);
                  LED0=1;
                   delay(CYCLE-PWM_LOW);
        
                }
                //与逐渐变亮相反的过程
                LED0=0;
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
                {//与逐渐变亮相反的过程
                  LED0=0;
                  delay(PWM_LOW);
                  LED0=1;
                   delay(CYCLE-PWM_LOW);
                }
        }        
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

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