色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于51單片機設計的花樣流水燈設計

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2023-06-11 10:00 ? 次閱讀

一、項目介紹

花樣流水燈是一種常見的LED燈效果,被廣泛應用于舞臺表演、節日慶典、晚會演出等場合。在現代智能家居電子產品中,花樣流水燈也被廣泛使用,通過調整亮滅順序和時間,可以實現各種炫酷的燈光效果,增強用戶體驗。而51單片機作為一種常見的嵌入式開發平臺,具有體積小、功耗低、可編程性強等優點,非常適合用于開發花樣流水燈及其他嵌入式應用。

以下場景中流水燈得到了廣泛的應用:

  • 舞臺表演:花樣流水燈可用于舞臺背景、音樂MV等場合,配合音樂和舞蹈,營造出炫酷、動感的視覺效果。
  • 節日慶典:在傳統節日如春節、中秋節等場合,花樣流水燈可以用于燈籠、彩燈等裝飾,為節日增添喜慶氛圍。
  • 晚會演出:在各種晚會、派對、聚會等場合,花樣流水燈可以用于舞臺效果、音樂燈光秀等,增強整個活動的氛圍和趣味性。
  • 智能家居:花樣流水燈可以使用在居家燈光控制中,實現遠程控制、定時開關、自動調節等功能,提升居住環境的科技感和人性化。

image-20230606215451680

二、設計原理

2.1 基本原理

花樣流水燈是一種常見的LED燈效果,通常由多個LED燈組成,通過控制每個LED燈的亮滅順序和時間,實現花樣流水燈的效果。在51單片機中,可以使用定時器端口控制來實現這一效果。

2.2 硬件搭建

為了實現花樣流水燈,需要將多個LED燈按照一定的順序連接到51單片機的IO引腳上。電路設計上,為每個LED燈配備一個電阻,并將它們連接到5V電源引腳和地線上。

具體硬件搭建方法如下:

(1)將多個LED燈依次連接起來組成一個電路鏈,將第一個LED的正極接到P1.0口,第二個LED的正極接到P1.1口,第三個LED的正極接到P1.2口,以此類推,一共連接7個LED燈。

(2)為每個LED燈配備一個適當的電阻,用來限制電流,防止損壞LED。

(3)將每個LED的負極連接到5V電源引腳附近的地線上,形成一個完整的電路。

2.3 軟件實現

在軟件實現上,使用51單片機的定時器和端口控制來控制LED燈的亮滅順序和時間。

具體方法如下:

(1)設置一個計數器變量count,用來保存當前亮起的LED燈的編號(從0開始)。

(2)在定時器中斷處理函數中,每次計數器溢出時,將當前亮起的LED燈熄滅,并將count加1;當count等于LED燈總數時,將count重置為0。

(3)然后,再將下一個LED燈亮起,以此類推。

(4)通過控制定時器的計數周期和每個燈亮起的時間,可以調整花樣流水燈的效果。

三、代碼實現

3.1 流水燈代碼實現1

#include < reg52.h >
 ?
 #define LED_NUM 8         // LED燈總數
 #define TIMER_TICK 500    // 定時器計數初值,控制亮滅時間
 #define HIGH 0            // 高電平
 #define LOW 1             // 低電平
 ?
 unsigned int count = 0;
 ?
 // 定時器中斷處理函數
 void TimerInterrupt() interrupt 1
 {
     static unsigned long tick = 0;
 ?
     tick++;
 ?
     if (tick >= TIMER_TICK)
     {
         P1 &= ~(1 < < count); // 熄滅當前LED
         count++;             // 切換到下一個LED
 ?
         if (count >= LED_NUM)
         {
             count = 0;       // 重置計數器
         }
 ?
         P1 |= (1 < < count);  // 亮起下一個LED
         tick = 0;            // 重置計時器
     }
 }
 ?
 // 主函數
 void main()
 {
     unsigned int i;
 ?
     P1 = 0xFF;              // 所有IO口初始化為高電平
     TMOD |= 0x01;           // 定時器0,模式1,16位自動重載
     TH0 = (65536 - TIMER_TICK) / 256;
     TL0 = (65536 - TIMER_TICK) % 256;
     ET0 = 1;                // 定時器中斷允許
     EA = 1;                 // 總中斷允許
     TR0 = 1;                // 定時器開始計數
 ?
     while (1)
     {
         // 等待中斷事件
     }
 }

3.2 流水燈實現效果2

【1】逐個點亮

#include < reg52.h >
 ?
 void Delay(unsigned int t) // 延時函數
 {
     unsigned int i, j;
     for (i = 0; i < t; i++)
         for (j = 0; j < 125; j++);
 }
 ?
 void main()
 {
     while (1)
     {
         unsigned char i; // 定義計數器i
         for (i = 0; i < 8; i++) // 循環8次,依次點亮LED燈
         {
             P0 = ~(1 < < i); // 通過位運算生成控制信號,輸出到P0口,控制LED燈點亮
             Delay(500); // 延時500ms
         }
     }
 }

【2】逐個熄滅

#include < reg52.h >
 ?
 void Delay(unsigned int t) // 延時函數
 {
     unsigned int i, j;
     for (i = 0; i < t; i++)
         for (j = 0; j < 125; j++);
 }
 ?
 void main()
 {
     while (1)
     {
         unsigned char i; // 定義計數器i
         for (i = 7; i < 8; i--) // 循環8次,依次熄滅LED燈
         {
             P0 = ~(1 < < i); // 通過位運算生成控制信號,輸出到P0口,控制LED燈熄滅
             Delay(500); // 延時500ms
         }
     }
 }

【3】來回流動

#include < reg52.h >
 ?
 void Delay(unsigned int t) // 延時函數
 {
     unsigned int i, j;
     for (i = 0; i < t; i++)
         for (j = 0; j < 125; j++);
 }
 ?
 void main()
 {
     while (1)
     {
         unsigned char i; // 定義計數器i
         for (i = 0; i < 8; i++) // 循環8次,依次點亮LED燈
         {
             P0 = ~(1 < < i); // 通過位運算生成控制信號,輸出到P0口,控制LED燈點亮
             Delay(500); // 延時500ms
         }
         for (i = 6; i > 0; i--) // 循環6次,依次熄滅LED燈
         {
             P0 = ~(1 < < i); // 通過位運算生成控制信號,輸出到P0口,控制LED燈熄滅
             Delay(500); // 延時500ms
         }
     }
 }

3.3 閃光燈的實現

下面是三個不同的閃光燈效果的代碼,分別為常亮、快閃和慢閃。

【1】常亮閃光燈

#include < reg52.h >
 ?
 sbit LED = P1 ^ 0;
 ?
 void main() {
     while (1) {
         LED = 0; // LED常亮
     }
 }

【2】快閃閃光燈

#include < reg52.h >
 ?
 sbit LED = P1 ^ 0;
 ?
 void delay(unsigned int i) {
     while (i--);
 }
 ?
 void main() {
     while (1) {
         LED = 0; // LED亮
         delay(50000); // 延時一段時間
         LED = 1; // LED滅
         delay(50000); // 延時一段時間
     }
 }

【2】慢閃閃光燈

#include < reg52.h >
 ?
 sbit LED = P1 ^ 0;
 ?
 void delay(unsigned int i) {
     while (i--);
 }
 ?
 void main() {
     while (1) {
         LED = 0; // LED亮
         delay(100000); // 延時一段時間
         LED = 1; // LED滅
         delay(100000); // 延時一段時間
     }
 }

以上三個代碼中,都使用了P1口的第0位來控制LED燈的亮滅。其中,第一個代碼是常亮閃光燈,只需要將LED置為0。第二個代碼是快閃閃光燈,使用了一個delay函數來實現延時,每次延時50000個時鐘周期,即約為500ms。第三個代碼是慢閃閃光燈,與第二個代碼類似,只是將延時時間改為了100000個時鐘周期,即約為1s。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    108281
  • 51單片機
    +關注

    關注

    274

    文章

    5705

    瀏覽量

    124083
  • 計數器
    +關注

    關注

    32

    文章

    2261

    瀏覽量

    94878
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115182
  • 流水燈
    +關注

    關注

    21

    文章

    433

    瀏覽量

    59784
收藏 人收藏

    評論

    相關推薦

    C51單片機學習筆記(二)——花樣流水燈的實現 精選資料分享

    C51單片機學習筆記(二)——花樣流水燈的實現文章目錄C51單片機學習筆記(二)——
    發表于 07-15 09:52

    心形花樣流水燈

    心形花樣流水燈基于51單片機程序設計電路圖等
    發表于 11-26 16:36 ?212次下載

    51單片機流水燈程序

    51單片機流水燈程序 51單片機流水燈程序
    發表于 12-21 15:52 ?170次下載

    單片機控制花樣流水燈原理圖及程序

    本文詳細介紹了AT89C51單片機流水燈的編寫方法以及介紹了單片機32位LED花樣流水燈程序及原
    發表于 04-26 16:15 ?5.5w次閱讀
    <b class='flag-5'>單片機</b>控制<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>原理圖及程序

    如何使用51單片機控制32個LED多花樣流水燈的程序資料免費下載

    本文檔的主要內容詳細介紹的是如何使用51單片機控制32個LED多花樣流水燈的程序資料免費下載。
    發表于 10-11 08:00 ?47次下載
    如何使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>控制32個LED多<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>的程序資料免費下載

    51單片機控制32個LED多花樣流水燈詳細程序資料免費下載

    本文檔的主要內容詳細介紹的是51單片機控制32個LED多花樣流水燈詳細程序資料免費下載。
    發表于 10-10 08:00 ?81次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>控制32個LED多<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>詳細程序資料免費下載

    使用C51單片機設計的4按鍵4種花樣流水燈的資料和程序免費下載

    本文檔的主要內容詳細介紹的是使用C51單片機設計的4按鍵4種花樣流水燈的資料和程序免費下載。
    發表于 11-09 08:00 ?43次下載
    使用C<b class='flag-5'>51</b><b class='flag-5'>單片機設</b>計的4按鍵4種<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>的資料和程序免費下載

    使用單片機設計的花樣流水燈程序免費下載

    本文檔的主要內容詳細介紹的是使用單片機設計的花樣流水燈程序免費下載。
    發表于 04-01 08:00 ?1次下載
    使用<b class='flag-5'>單片機設</b>計的<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>程序免費下載

    使用51單片機設計的流水燈程序資料免費下載

    本文檔的主要內容詳細介紹的是使用51單片機設計的流水燈程序資料免費下載
    發表于 04-08 08:00 ?11次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機設</b>計的<b class='flag-5'>流水燈</b>程序資料免費下載

    使用51單片機進行四按鍵五花樣流水燈設計的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機進行四按鍵五花樣流水燈設計的程序免費下載。
    發表于 08-23 17:30 ?19次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>進行四按鍵五<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>設計的程序免費下載

    使用51單片機實現簡單花樣流水燈的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現簡單花樣流水燈的程序免費下載。
    發表于 07-05 17:41 ?10次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>實現簡單<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>的程序免費下載

    使用51單片機設流水燈的源代碼免費下載

    本文檔的主要內容詳細介紹的是使用51單片機設流水燈的C語言源代碼免費下載。
    發表于 06-28 17:42 ?5次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機設</b>計<b class='flag-5'>流水燈</b>的源代碼免費下載

    使用proteus仿真AVR單片機設計超級花樣流水燈的資料合集

    本文檔的主要內容詳細介紹的是使用proteus仿真AVR單片機設計超級花樣流水燈的資料合集。
    發表于 04-30 08:00 ?4次下載
    使用proteus仿真AVR<b class='flag-5'>單片機設</b>計超級<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>的資料合集

    C51單片機學習筆記(二)——花樣流水燈的實現

    C51單片機學習筆記(二)——花樣流水燈的實現文章目錄C51單片機學習筆記(二)——
    發表于 11-12 13:51 ?37次下載
    C<b class='flag-5'>51</b><b class='flag-5'>單片機</b>學習筆記(二)——<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>的實現

    基于51單片機花樣流水燈設計

    花樣流水燈就是讓LED燈按照一定規律進行各種變化,流水燈在生活中也隨處可見,例如在建筑物的棱角上裝上流水燈,可以起到變換閃爍達到美不勝收的效果。此設計使用16個LED燈,有四種
    的頭像 發表于 06-28 10:29 ?3793次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>花樣</b><b class='flag-5'>流水燈</b>設計
    主站蜘蛛池模板: 绑着男军人的扒开内裤 | JIZZ幻女大全 | 91精品欧美一区二区三区 | 99视频福利 | 99久久国产综合精品 | A级毛片无码久久精品免费 a级毛片黄免费a级毛片 | 好姑娘BD高清在线观看免费 | 仓井空torrent | 九九热视频在线观看 | chinesetoilet美女沟 | 色狼亚洲色图 | 后入式狂顶免费视频 | 久久精品午夜一区二区福利 | 国产高清免费观看 | xxxxxx视频 | 成人在线视频国产 | 亚洲AV成人无码网天堂 | 精品国产免费第一区二区 | 欧美国产日韩久久久 | 2021乱码精品公司 | 国产免费播放一区二区三区 | 在线精品国精品国产不卡 | 男人女人边摸边吃奶边做 | 漂亮的保姆6在线观看中文 漂亮的保姆5电影免费观看完整版中文 | 久久影院中文字幕 | 色婷婷国产精品视频一区二区三区 | 又爽又黄又粗又大免费视频 | 国产美女久久久久久久久久久 | 又爽又黄又粗又大免费视频 | 亚洲色爽视频在线观看 | 蜜桃麻豆WWW久久囤产精品免费 | 国产成人亚洲精品无广告 | 亚洲精品国产品国语在线试看 | 国产成人精品自线拍 | 少妇无套内谢久久久久 | 宿舍BL 纯肉各种PLAY H | 精品久久久亚洲精品中文字幕 | 永久adc视频年龄确认 | 国产在线精品亚洲观看不卡欧美 | 99精品AV无码一区二区 | 51久久成人国产精品麻豆 |