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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于51單片機(jī)設(shè)計(jì)的呼吸燈

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-06-10 08:36 ? 次閱讀

一、項(xiàng)目介紹

呼吸燈是一種常見的LED燈光效果,它可以模擬人類呼吸的變化,使燈光看起來(lái)更加柔和和自然。51單片機(jī)是一種廣泛使用的微控制器,具有體積小、功耗低、成本低等優(yōu)點(diǎn),非常適合用于控制LED呼吸燈。本項(xiàng)目的呼吸燈將使用PWM(脈沖寬度調(diào)制)技術(shù)控制LED亮度,從而實(shí)現(xiàn)呼吸燈的效果。

在本項(xiàng)目中,將使用51單片機(jī)作為主控制器,通過(guò)編程實(shí)現(xiàn)呼吸燈的控制。將使用C語(yǔ)言編寫代碼,并使用Keil C51集成開發(fā)環(huán)境進(jìn)行編譯和調(diào)試。使用Proteus仿真軟件進(jìn)行電路設(shè)計(jì)和仿真,確保電路的正確性和穩(wěn)定性。

image-20230606214353670

二、設(shè)計(jì)原理

2.1 PWM技術(shù)

PWM是脈沖寬度調(diào)制(Pulse Width Modulation)的縮寫,是一種通過(guò)改變脈沖寬度來(lái)控制電路的技術(shù)。在數(shù)字電路中,PWM是一種非常常見的技術(shù),它可以用來(lái)控制電機(jī)、LED燈等電子設(shè)備的亮度、速度等參數(shù)

PWM技術(shù)的基本原理是通過(guò)控制脈沖的寬度和周期來(lái)控制電路的輸出。在一個(gè)PWM周期內(nèi),電路會(huì)以一定的頻率(也就是PWM頻率)產(chǎn)生一系列脈沖,每個(gè)脈沖的寬度和高電平時(shí)間占整個(gè)周期的比例是由控制器根據(jù)需要設(shè)定的。通過(guò)這種方式,可以實(shí)現(xiàn)對(duì)電路輸出的精確控制。

在LED呼吸燈項(xiàng)目中,使用定時(shí)器模擬PWM技術(shù)可以實(shí)現(xiàn)呼吸燈效果。具體來(lái)說(shuō),就是通過(guò)定時(shí)器產(chǎn)生一定頻率的脈沖信號(hào),然后通過(guò)改變脈沖的占空比來(lái)控制LED燈的亮度。當(dāng)脈沖的占空比逐漸增大時(shí),LED燈的亮度也會(huì)逐漸增強(qiáng),直到達(dá)到最大亮度;當(dāng)脈沖的占空比逐漸減小時(shí),LED燈的亮度也會(huì)逐漸減弱,直到最終熄滅。這樣就可以實(shí)現(xiàn)類似于人類呼吸的漸變效果。

2.2 呼吸燈原理

呼吸燈是一種將 LED 燈光做成漸變效果的技術(shù),可以讓 LED 的亮度在一定時(shí)間內(nèi)慢慢地增加和減小,使得 LED 的亮度變化更加自然和柔和,適合用于需要漸變效果的場(chǎng)景,如燈光調(diào)節(jié)、音響節(jié)拍等。

呼吸燈的原理是通過(guò)改變 LED 的 PWM 信號(hào)的占空比來(lái)控制 LED 的亮度。PWM(Pulse Width Modulation,脈寬調(diào)制)是一種調(diào)節(jié)模擬信號(hào)幅度的常用技術(shù),它通過(guò)改變信號(hào)的脈沖寬度來(lái)實(shí)現(xiàn)對(duì)信號(hào)幅度的調(diào)節(jié)。在呼吸燈中,PWM 信號(hào)的頻率較高,而占空比則會(huì)隨著時(shí)間的推移而逐漸變化,從而實(shí)現(xiàn) LED 亮度的漸變效果。

呼吸燈的實(shí)現(xiàn)通常需要使用一個(gè)定時(shí)器和一個(gè) PWM 模塊。定時(shí)器用來(lái)定時(shí)觸發(fā)中斷事件,在中斷處理函數(shù)中改變 PWM 信號(hào)的占空比,從而控制 LED 的亮度。在定時(shí)器中斷處理函數(shù)中,可以通過(guò)數(shù)學(xué)函數(shù)(如正弦、余弦等)或者簡(jiǎn)單的數(shù)值計(jì)算來(lái)得到不同的 PWM 占空比,實(shí)現(xiàn)不同的呼吸燈效果。

2.3 51單片機(jī)

51單片機(jī)是一種廣泛使用的微控制器,具有體積小、功耗低、成本低等優(yōu)點(diǎn),非常適合用于控制LED呼吸燈。

STC89C52是一種基于MCS-51內(nèi)核的8位單片機(jī),由中國(guó)的STC公司生產(chǎn)。具有高性價(jià)比、易于編程、廣泛應(yīng)用等特點(diǎn),在工業(yè)控制、通信、家電控制等領(lǐng)域得到了廣泛應(yīng)用。

STC89C52單片機(jī)的主要特點(diǎn)如下:

  1. 采用MCS-51內(nèi)核,具有8位數(shù)據(jù)總線和16位地址總線,可以訪問(wèn)64KB的程序存儲(chǔ)器和64KB的數(shù)據(jù)存儲(chǔ)器。
  2. 內(nèi)置12MHz的晶振,可以通過(guò)軟件設(shè)置分頻系數(shù)來(lái)獲得不同的系統(tǒng)時(shí)鐘頻率。
  3. 具有多種外設(shè)接口,包括UART、SPI、I2C、定時(shí)器、中斷等,可以方便地實(shí)現(xiàn)各種應(yīng)用。
  4. 支持ISP(In-System Programming)編程方式,可以通過(guò)串口或并口進(jìn)行在線編程,方便快捷。
  5. 具有低功耗模式,可以通過(guò)軟件設(shè)置進(jìn)入不同的睡眠模式,以節(jié)省系統(tǒng)能耗。

STC89C52單片機(jī)可以使用C語(yǔ)言或匯編語(yǔ)言進(jìn)行編程,編寫的程序可以通過(guò)編譯器生成HEX文件,然后通過(guò)編程器燒錄到芯片中。由于STC89C52單片機(jī)的廣泛應(yīng)用和豐富的資料,因此學(xué)習(xí)和使用它相對(duì)來(lái)說(shuō)比較容易。

三、代碼實(shí)現(xiàn)

3.1 自動(dòng)呼吸燈

因?yàn)镾TC89C52單片機(jī)沒(méi)有PWM輸出功能,只能使用延時(shí)函數(shù)實(shí)現(xiàn),以下是基于STC89C52單片機(jī)實(shí)現(xiàn)呼吸燈效果的完整代碼:

#include < reg52.h >
 ?
 #define LED P1
 ?
 void delay(unsigned int xms)
 {
     unsigned int i, j;
     for (i = xms; i > 0; i--)
         for (j = 110; j > 0; j--);
 }
 ?
 void main()
 {
     unsigned char i;
     while (1)
     {
         for (i = 0; i < 255; i++)
         {
             LED = i;
             delay(10);
         }
         for (i = 255; i > 0; i--)
         {
             LED = i;
             delay(10);
         }
     }
 }

在這個(gè)代碼中,使用了STC89C52單片機(jī)的P1口來(lái)控制LED燈的亮度。通過(guò)一個(gè)循環(huán),讓LED燈的亮度從0到255逐漸增加,再?gòu)?55到0逐漸減小,這樣就實(shí)現(xiàn)了呼吸燈的效果。

在代碼中,使用了一個(gè)delay函數(shù)來(lái)控制循環(huán)的速度。這個(gè)函數(shù)可以讓程序延時(shí)一定的時(shí)間,從而控制LED燈的亮度變化速度。在這個(gè)代碼中,設(shè)置了每次延時(shí)10毫秒,可以根據(jù)需要調(diào)整這個(gè)值來(lái)改變呼吸燈的效果。

3.2 按鍵控制燈光亮度

以下是基于STC89C52單片機(jī)的LED燈亮度控制完整代碼,其中使用了兩個(gè)按鍵分別控制LED的亮度和滅度。

#include < reg52.h >
 ?
 #define LED P1
 ?
 sbit KEY_UP = P3 ^ 2;
 sbit KEY_DOWN = P3 ^ 3;
 ?
 unsigned char pwm = 0;
 ?
 void delay(unsigned int i) {
     while (i--);
 }
 ?
 void key_scan() {
     if (KEY_UP == 0) {
         delay(1000);
         if (KEY_UP == 0) {
             pwm += 10;
             if (pwm >= 100) {
                 pwm = 100;
             }
         }
     }
     if (KEY_DOWN == 0) {
         delay(1000);
         if (KEY_DOWN == 0) {
             pwm -= 10;
             if (pwm <= 0) {
                 pwm = 0;
             }
         }
     }
 }
 ?
 void main() {
     TMOD = 0x01; // 設(shè)置定時(shí)器0為模式1
     TH0 = 0xFC; // 定時(shí)器初值,用于產(chǎn)生PWM信號(hào)的頻率為50Hz
     TL0 = 0x67;
     TR0 = 1; // 啟動(dòng)定時(shí)器0
     ET0 = 1; // 允許定時(shí)器0中斷
     EA = 1; // 開啟總中斷
     while (1) {
         key_scan();
     }
 }
 ?
 void timer0() interrupt 1 {
     static unsigned char cnt = 0;
     if (cnt >= 100) {
         cnt = 0;
     }
     if (cnt < pwm) {
         LED = 0;
     } else {
         LED = 1;
     }
     cnt++;
 }

以上代碼中,使用了定時(shí)器0來(lái)產(chǎn)生PWM信號(hào),控制LED的亮度。使用了兩個(gè)按鍵來(lái)調(diào)整LED的亮度和滅度。其中,KEY_UP按鍵用于增加LED的亮度,KEY_DOWN按鍵用于減小LED的亮度。在每次定時(shí)器中斷時(shí),根據(jù)pwm的值來(lái)控制LED的亮度。當(dāng)cnt小于pwm時(shí),LED為低電平,LED亮度較高;當(dāng)cnt大于等于pwm時(shí),LED為高電平,LED亮度較低。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23472

    瀏覽量

    665624
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6050

    文章

    44687

    瀏覽量

    641170
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    114

    文章

    5211

    瀏覽量

    215827
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    275

    文章

    5706

    瀏覽量

    124965
  • 呼吸燈
    +關(guān)注

    關(guān)注

    10

    文章

    111

    瀏覽量

    42877
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    51單片機(jī)呼吸程序設(shè)計(jì)

    51單片機(jī)呼吸程序設(shè)計(jì)是基于單片機(jī)的原理與接口設(shè)計(jì),采用單片機(jī)I/O口,加以C語(yǔ)言編程實(shí)現(xiàn)LE
    發(fā)表于 07-14 07:54

    基于51單片機(jī)呼吸怎樣設(shè)計(jì)

    課程設(shè)計(jì)報(bào)告書題目:基于51單片機(jī)呼吸設(shè)計(jì)信息工程學(xué)院課程設(shè)計(jì)任務(wù)書學(xué) 號(hào)1學(xué)生姓名專業(yè)(班級(jí))設(shè)計(jì)題目基于51
    發(fā)表于 07-15 08:01

    如何利用51單片機(jī)實(shí)現(xiàn)呼吸的設(shè)計(jì)?

    如何利用51單片機(jī)實(shí)現(xiàn)呼吸的設(shè)計(jì)?
    發(fā)表于 10-19 06:24

    基于51單片機(jī)的七彩呼吸設(shè)計(jì)資料分享

    ”。(4)按鍵3按下時(shí),恢復(fù)起始亮法。1 先做一個(gè)呼吸由易到難,先做一個(gè)呼吸。呼吸是讓小
    發(fā)表于 11-19 07:11

    51單片機(jī)呼吸的實(shí)現(xiàn)源程序

    51單片機(jī)呼吸的實(shí)現(xiàn),源程序,hex文件都有,用到的led是共陰極的
    發(fā)表于 12-10 16:35 ?169次下載

    使用51單片機(jī)做一個(gè)簡(jiǎn)易呼吸的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)做一個(gè)簡(jiǎn)易呼吸的程序免費(fèi)下載。
    發(fā)表于 04-01 08:00 ?1次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>做一個(gè)簡(jiǎn)易<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的程序免費(fèi)下載

    使用單片機(jī)設(shè)計(jì)的呼吸程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)設(shè)計(jì)的呼吸程序免費(fèi)下載。
    發(fā)表于 08-02 17:34 ?2次下載
    使用<b class='flag-5'>單片機(jī)設(shè)</b>計(jì)的<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>程序免費(fèi)下載

    使用51單片機(jī)設(shè)計(jì)LED點(diǎn)陣呼吸效果程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)設(shè)計(jì)LED點(diǎn)陣呼吸效果程序免費(fèi)下載。
    發(fā)表于 07-04 17:41 ?20次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)設(shè)</b>計(jì)LED點(diǎn)陣<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>效果程序免費(fèi)下載

    使用51單片機(jī)實(shí)現(xiàn)的呼吸工程文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)實(shí)現(xiàn)的呼吸工程文件免費(fèi)下載。
    發(fā)表于 09-03 08:00 ?13次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)的<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>工程文件免費(fèi)下載

    51單片機(jī)設(shè)計(jì)簡(jiǎn)易交通

    **51單片機(jī)設(shè)計(jì)簡(jiǎn)易交通**單片機(jī)好難啊 (好像學(xué)啥都難。。。)皮毛也沒(méi)學(xué)到設(shè)計(jì)簡(jiǎn)陋(尷尬)不過(guò)通過(guò)自己的學(xué)習(xí)做出了一點(diǎn)東西 雖然很簡(jiǎn)陋 但還是很讓人開心啊使用Proteus設(shè)計(jì)電
    發(fā)表于 11-04 11:21 ?40次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)設(shè)</b>計(jì)簡(jiǎn)易交通<b class='flag-5'>燈</b>

    51單片機(jī) 呼吸 七彩呼吸

    呼吸”。(4) 按鍵3按下時(shí),恢復(fù)起始亮法。1 先做一個(gè)呼吸由易到難,先做一個(gè)呼吸。呼吸
    發(fā)表于 11-12 11:51 ?59次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b> <b class='flag-5'>呼吸</b><b class='flag-5'>燈</b> 七彩<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    51單片機(jī)基于定時(shí)器的精準(zhǔn)呼吸

    51單片機(jī)基于定時(shí)器的精準(zhǔn)呼吸設(shè)計(jì)目的:實(shí)現(xiàn)LED小從最暗到最亮再到最暗的循環(huán)顯示最暗——最亮——最暗整個(gè)周期為2.88秒(符合
    發(fā)表于 11-21 09:51 ?50次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>基于定時(shí)器的精準(zhǔn)<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    51單片機(jī)心形實(shí)現(xiàn)旋轉(zhuǎn)呼吸流水編程

    51單片機(jī)心形實(shí)現(xiàn)旋轉(zhuǎn)呼吸流水編程
    發(fā)表于 11-23 16:20 ?23次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>心形<b class='flag-5'>燈</b>實(shí)現(xiàn)旋轉(zhuǎn)<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>流水編程

    基于51單片機(jī)呼吸程序編寫

    利用51單片機(jī)編寫的呼吸小程序,實(shí)驗(yàn)程序內(nèi)容截圖分享~
    發(fā)表于 11-23 16:36 ?33次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>程序編寫

    51單片機(jī)呼吸頻率怎么調(diào)節(jié)

    51單片機(jī)呼吸頻率的調(diào)節(jié)方法可以通過(guò)改變PWM(脈沖寬度調(diào)制)的工作周期和占空比來(lái)實(shí)現(xiàn)。在下面的文章中,我將詳細(xì)介紹如何使用51
    的頭像 發(fā)表于 12-19 10:39 ?2904次閱讀
    主站蜘蛛池模板: 国产色综合久久无码有码 | 国产高清砖码区 | 青草精品国产福利在线视频 | 最近中文字幕高清中文字幕MV | 久久久久毛片免费观看 | 青草伊人网 | 欧美精品亚洲精品日韩专区一 | 久久99AV无色码人妻蜜柚 | 婷婷四房播客五月天 | 全黄h全肉短篇禁乱np | 欧洲亚洲精品A片久久99果冻 | 粉嫩AV国产一区二区福利姬 | 精品国产乱码久久久久久软件 | 男女肉大捧进出全过程免费 | 亚洲精品久久久午夜福利电影网 | 武侠古典久久亚洲精品 | 国产系列视频二区 | 全部免费特黄特色大片看片 | 亚洲婷婷天堂综合国产剧情 | 成人无码精品一区二区在线观看 | 三叶草未满十八岁 | 性色AV一区二区三区咪爱四虎 | 男人插曲女人身体视频 | 超嫩校花被灌醉在线观看 | 亚洲午夜精品aaa级久久久久 | 91素人约啪 | 高清国语自产拍免费 | 国产亚洲精品久久久久久线投注 | 麻豆天美国产一区在线播放 | 爱豆剧果冻传媒在线播放 | s8sp视频高清在线播放 | 亚洲精品视频在线免费 | 国产偷窥盗摄一区二区 | 国产精品日本无码久久一老A | 美女网站免费久久久久久久 | 国产亚洲精品久久久久小 | 国内精品欧美久久精品 | 在线视频一区二区三区在线播放 | 老版香蕉版下载 | 国产一区在线观看免费 | 日韩精品一区二区三区色欲AV |