找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5801|回复: 7
打印 上一主题 下一主题
收起左侧

自己做了一个呼吸灯,给大家分享一下程序,用了PWM调节频率,还有一个用蓝牙点灯程序

  [复制链接]
跳转到指定楼层
楼主
ID:219350 发表于 2017-7-17 20:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include<reg51.h>
/*-----------定义单片机引脚-----*/
sbit LED0=P1^0;
sbit LED1=P1^1;
sbit LED2=P1^2;
sbit LED3=P1^3;
sbit LED4=P1^4;
sbit LED5=P1^5;
sbit LED6=P1^6;
sbit LED7=P1^7;

void Delay(unsigned int t); //函数声明
unsigned int z,y;
void main (void)//主函数
{
        unsigned int CYCLE=500,PWM_LOW=0;//定义周期并赋值
        while (1)         //主循环
        {

/*--------整排LED灯呼吸---------*/
                P1=0x00;
                Delay(500);                                                                 //加延时,可以看到熄灭的过程(下面程序同理)
                for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)           //PWM_LOW表示低
                        {
                                P1=0x00;                                       
                                Delay(PWM_LOW);
                                P1=0xff;
                                Delay(CYCLE-PWM_LOW);
                        }
        //        P1=0xff;                                                                               
                for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)         //与逐渐变亮相反的过程
                        {
                                   P1=0x00;                                                        //点亮LED
                                   Delay(PWM_LOW);
                                   P1=0xff;                                                        //熄灭LED
                                  Delay(CYCLE-PWM_LOW);                                //主循环中添加其他需要一直工作的程序,延时长度,600次循环中从599减至1
                        }


/*--------第一颗LED灯呼吸---------*/
                LED0=1;
                Delay(500);         
                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);                          
                        }


/*--------第二颗LED灯呼吸----------*/
                LED1=1;
                Delay(500);      
                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);
                        }


/*--------第三颗LED灯呼吸----------*/
                LED2=1;
                Delay(500);
                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);
                           }

/*--------第四颗LED灯呼吸----------*/
                LED3=1;
                Delay(500);
                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);
                    }

/*--------第五颗LED灯呼吸----------*/
                LED4=1;
                Delay(500);     
                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);
                    }

/*--------第六颗LED灯呼吸----------*/
                LED5=1;
                Delay(500);      
                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);
                    }

/*--------第七颗LED灯呼吸----------*/
                LED6=1;
                Delay(500);      
                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);
                    }

/*--------第八颗LED灯呼吸----------*/
                LED7=1;
                Delay(500);     
                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);
                          }

                P1=0x00;
                for(z=500;z>0;z--)
                        for(y=110;y>0;y--);
                P1=0xff;
                for(z=500;z>0;z--)
                        for(y=110;y>0;y--);
                                P1=0x00;
                for(z=500;z>0;z--)
                        for(y=110;y>0;y--);
                P1=0xff;
                for(z=500;z>0;z--)
                        for(y=110;y>0;y--);       
        }
}
void Delay(unsigned int t)
{
while(--t);
}


p2-3.rar

28.01 KB, 下载次数: 36, 下载积分: 黑币 -5

蓝牙点灯.rar

23.28 KB, 下载次数: 50, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏10 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:159139 发表于 2017-7-21 13:31 来自手机 | 只看该作者
谢谢分享,下来学习一下。
回复

使用道具 举报

板凳
ID:222772 发表于 2017-8-16 14:38 | 只看该作者
谢谢分享
回复

使用道具 举报

地板
ID:130345 发表于 2017-8-17 10:25 | 只看该作者
谢谢分享
回复

使用道具 举报

5#
ID:461671 发表于 2019-1-10 10:58 | 只看该作者
这个程序大神楼主运行过可以实现呼吸效果么。
回复

使用道具 举报

6#
ID:470528 发表于 2019-1-19 14:12 来自手机 | 只看该作者
好的值得学习收藏
回复

使用道具 举报

7#
ID:470714 发表于 2019-1-19 21:40 | 只看该作者

好的值得学习收藏
回复

使用道具 举报

8#
ID:466430 发表于 2019-1-20 17:55 来自手机 | 只看该作者
值得学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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