欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 35674|回復: 16
打印 上一主題 下一主題
收起左側

用51單片機做一個簡易呼吸燈

  [復制鏈接]
跳轉到指定樓層
樓主
ID:256956 發表于 2017-12-5 16:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
利用占空比的方式來控制燈的變暗和變亮
占空比就是高電平和低電平的比例;
實現呼吸燈效果是利用人眼的分辨率只能看到25幀每秒,甚至還不夠,
所以用單片機做呼吸燈是利用頻率來控制呼吸燈的呼吸時間,用占空比來控制燈的亮度
代碼如下
#include <reg52.h>
sbit LED1=P2^0;         //定義燈的位置
int PWM_Low,Clock=500;
void delay(unsigned int x) //延遲函數
{
   int i;
   for(i=0;i<x;i++);
}          
void main(void)
{
    while(1)
          {
            for(PWM_Low=Clock;PWM_Low>0;PWM_Low--) //逐漸變暗
             {
                   LED1=1;
                   delay(PWM_Low);
                   LED1=0;
                   delay(Clock-PWM_Low);
                 }
            for(PWM_Low=0;PWM_Low<Clock;PWM_Low++)        //逐漸變亮
                  {
                                LED1=1;
                                delay(PWM_Low);
                                LED1=0;
                                delay(Clock-PWM_Low);
                  }          
           }
}
如有錯誤,還望指正,新手來的

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:501910 發表于 2019-8-3 10:33 | 只看該作者
學習了
回復

使用道具 舉報

板凳
ID:404263 發表于 2019-8-6 14:01 | 只看該作者
最好不要用for循環來寫,這樣的呼吸燈就真的只有呼吸燈了,可以用定時器來做
回復

使用道具 舉報

地板
ID:575010 發表于 2019-8-6 17:17 | 只看該作者
學習了
回復

使用道具 舉報

5#
ID:596939 發表于 2019-8-7 15:32 | 只看該作者
感謝分享
回復

使用道具 舉報

6#
ID:13396 發表于 2019-11-5 17:28 | 只看該作者
學習了,謝謝。
回復

使用道具 舉報

7#
ID:636872 發表于 2019-11-6 17:15 | 只看該作者
cokesu 發表于 2019-8-6 14:01
最好不要用for循環來寫,這樣的呼吸燈就真的只有呼吸燈了,可以用定時器來做

用定時器該怎么做呢?
回復

使用道具 舉報

8#
ID:432265 發表于 2019-12-8 10:58 | 只看該作者
學習了,謝謝分享。
回復

使用道具 舉報

9#
ID:432265 發表于 2019-12-8 10:58 | 只看該作者
學習了。
回復

使用道具 舉報

10#
ID:659013 發表于 2019-12-8 18:47 | 只看該作者
太強了呀
回復

使用道具 舉報

11#
ID:320525 發表于 2019-12-29 19:46 | 只看該作者
cokesu 發表于 2019-8-6 14:01
最好不要用for循環來寫,這樣的呼吸燈就真的只有呼吸燈了,可以用定時器來做

學習了
回復

使用道具 舉報

12#
ID:649381 發表于 2020-1-11 12:45 | 只看該作者
學到了
回復

使用道具 舉報

13#
ID:47286 發表于 2020-1-12 19:53 | 只看該作者
同"板凳"

用for做循環之間就干不了別的事了 作為單片機來說不合算的 小片子還好 要是個大片子就干這么點事太浪費資源 就按你說的25幀/秒 就是每幀占用40ms左右 這40ms能干多少事啊 如果只實現呼吸燈 還不如用555搭一個

還有這么寫的呼吸燈是沒有曲率變化的 嚴格說只能叫漸亮漸暗燈 人呼吸 漸亮和漸暗的變化過程不是線性的
回復

使用道具 舉報

14#
ID:549732 發表于 2020-1-13 15:25 | 只看該作者
#include <reg52.h>
sbit LED1=P1^0;         //定義燈的位置
int PWM_Low,Clock=420;
void delay(unsigned int x) //延遲函數
{
   int i;
   for(i=0;i<x;i++);
}           
void main(void)
{
    while(1)
          {
            for(PWM_Low=Clock;PWM_Low>0;PWM_Low--) //逐漸變暗
             {
                   LED1=0;
                   delay(PWM_Low);
                   LED1=1;
                   delay(Clock-PWM_Low);
                 }
            for(PWM_Low=0;PWM_Low<Clock;PWM_Low++)        //逐漸變亮
                  {
                                LED1=0;
                                delay(PWM_Low);
                                LED1=1;
                                delay(Clock-PWM_Low);
                  }           
           }
}
回復

使用道具 舉報

15#
無效樓層,該帖已經被刪除
16#
ID:701254 發表于 2020-3-16 13:41 | 只看該作者
學習了。有創意。我找時間用定時器實現試試
回復

使用道具 舉報

17#
ID:630491 發表于 2020-3-16 17:36 | 只看該作者
不錯哦,原理圖可以發出來了?
回復

使用道具 舉報

18#
ID:744410 發表于 2020-6-2 17:38 來自觸屏版 | 只看該作者
謝謝樓主分享
回復

使用道具 舉報

19#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表