精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

51單片機的Timer,運用PWM完成呼吸燈

0BFC_eet_china ? 來源:未知 ? 作者:李倩 ? 2018-05-02 09:14 ? 次閱讀

Pulse Width Modulation脈沖寬度調制,簡稱PWM。

PWM(脈沖寬度調制)對模擬信號電平進行數字編碼的方法,計算機只能輸出0或5V的數字電壓值而不能輸出模擬電壓,而我們如果想獲得一個模擬電壓值,則需通過使用高分辨率計數器,改變方波的占空比來對一個模擬信號的電平進行編碼。

仍輸出數字信號,因為滿幅值的直流供電只有5V(1)和0V(0)兩種。電壓是以一種連接(1)或斷開(0)的重復脈沖序列被夾到模擬負載上去的,連接即是直流供電輸出,斷開即是直流供電斷開。通過對連接和斷開時間的控制,只要帶寬足夠,可以輸出任意不大于最大電壓值的模擬電壓。

輸出電壓=(接通時間/脈沖時間)*最大電壓值

12

二、51單片機Timer

作者用的單片機是STC89C52,其內部有3個16位Timer,分別為T/C0,T/C1,T/C2,通過配置相關寄存器即可實現Timer的功能控制。

控制PWM需要用到定時器來生成不同占空比的波形,采用定時器中斷的方式。

相關寄存器:

1.IE寄存器

2. TCON寄存器

3. TMOD寄存器

控制Timer0/1的工作方式


TL14. Timer0/1計數寄存器

TL0

TH0

TH1

當定時開啟后,TL0(TL1)自動跟隨機器周期加一。當TL0(TL1)滿了后,自動清零同時向TH0(TH1)進一位,不需要手動操作.

而當TL0(TL1)和TH0(TH1)都滿了以后,此時如果定時中斷和總中斷都已經打開,那么就會發生溢出中斷,同時這兩個寄存器清零

三、運用PWM完成呼吸燈

1. 硬件電路

2. 軟件驅動

unsigned char PWM_COUNT; //計數

unsigned int HUXI_COUNT; //占空比更新時間

unsigned char PWM_VLAUE; //占空比比對值

bit direc_flag; //占空比更新方向

void timer0_init()

{

TMOD=0x02; //模式設置,00010000,定時器0,工作于模式2(M1=1,M0=0)

TH0=0x47; //定時器溢出值設置,每隔200us發起一次中斷。

TL0=0X47;

TR0=1; //定時器0開始計時

ET0=1; //開定時器0中斷

EA=1; //開總中斷

PWM_COUNT =0;

}

void time0() interrupt 1

{

PWM_COUNT++;

HUXI_COUNT++;

if(PWM_COUNT == PWM_VLAUE) //判斷是否到了點亮LED的時候

LED = 1; //點亮LED

if(PWM_COUNT == 10) //當前周期結束

{

LED = 0; //熄滅LED

PWM_COUNT = 0; //重新計時

}

if((HUXI_COUNT == 600) && (direc_flag == 0))

{ //占空比增加10%

HUXI_COUNT = 0;

PWM_VLAUE++;

if(PWM_VLAUE == 9) //占空比更改方向

direc_flag = 1;

}

if((HUXI_COUNT == 600) && (direc_flag == 1))

{ //占空比減少10%

HUXI_COUNT = 0;

PWM_VLAUE--;

if(PWM_VLAUE == 1) //占空比更改方向

direc_flag = 0;

}

}

void main()

{

HUXI_COUNT = 0;

PWM_COUNT = 0;

PWM_VLAUE = 5;

direc_flag = 0;

LED = 1; //默認LED熄滅

timer0_init(); //定時器0初始化

while(1);

}

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

    關注

    114

    文章

    5148

    瀏覽量

    213428
  • 51單片機
    +關注

    關注

    273

    文章

    5698

    瀏覽量

    123215

原文標題:51單片機PWM的控制(呼吸燈)

文章出處:【微信號:eet-china,微信公眾號:電子工程專輯】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    51單片機呼吸程序設計

    51單片機呼吸程序設計是基于單片機的原理與接口設計,采用單片機I/O口,加以C語言編程實現LE
    發表于 07-14 07:54

    基于51單片機呼吸怎樣設計

    課程設計報告書題目:基于51單片機呼吸設計信息工程學院課程設計任務書學 號1學生姓名專業(班級)設計題目基于51
    發表于 07-15 08:01

    怎么樣去設計基于單片機PWM呼吸

    51單片機(呼吸)C語言版基于單片機PWM呼吸
    發表于 07-15 06:02

    51單片機如何利用PWM定時器實現呼吸

    51單片機如何利用PWM定時器實現呼吸
    發表于 10-15 09:24

    基于51單片機的七彩呼吸設計資料分享

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

    51單片機呼吸的實現源程序

    51單片機呼吸的實現,源程序,hex文件都有,用到的led是共陰極的
    發表于 12-10 16:35 ?169次下載

    使用51單片機做一個簡易呼吸的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機做一個簡易呼吸的程序免費下載。
    發表于 04-01 08:00 ?1次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>做一個簡易<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的程序免費下載

    使用51單片機實現的呼吸工程文件免費下載

    本文檔的主要內容詳細介紹的是使用51單片機實現的呼吸工程文件免費下載。
    發表于 09-03 08:00 ?13次下載
    使用<b class='flag-5'>51</b><b class='flag-5'>單片機</b>實現的<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>工程文件免費下載

    單片機(通過PWM調制模擬呼吸)源代碼

    //功能:通過PWM調制模擬呼吸//名稱:呼吸#include //調用含有51
    發表于 11-10 19:35 ?8次下載
    <b class='flag-5'>單片機</b>(通過<b class='flag-5'>PWM</b>調制模擬<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>)源代碼

    51單片機 呼吸 七彩呼吸

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

    51單片機基于定時器的精準呼吸

    51單片機基于定時器的精準呼吸設計目的:實現LED小從最暗到最亮再到最暗的循環顯示最暗——最亮——最暗整個周期為2.88秒(符合
    發表于 11-21 09:51 ?50次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>基于定時器的精準<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    基于51單片機呼吸程序編寫

    利用51單片機編寫的呼吸小程序,實驗程序內容截圖分享~
    發表于 11-23 16:36 ?33次下載
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>程序編寫

    STC89C52_51單片機_例程3_PWM_呼吸

    STC89C52_51單片機_例程3_PWM_呼吸_代碼鏈接0000000000000000000000
    發表于 11-23 17:21 ?15次下載
    STC89C52_<b class='flag-5'>51</b><b class='flag-5'>單片機</b>_例程3_<b class='flag-5'>PWM</b>_<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    單片機呼吸的實現(可移植性強)

    1.增強程序的可移植性通過硬件PWM的方式實現呼吸是十分方便的,但這種方式要求單片機帶有硬件PWM外設,且不同
    發表于 12-31 18:50 ?8次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的實現(可移植性強)

    51單片機呼吸頻率怎么調節

    51單片機呼吸頻率的調節方法可以通過改變PWM(脈沖寬度調制)的工作周期和占空比來實現。在下面的文章中,我將詳細介紹如何使用
    的頭像 發表于 12-19 10:39 ?2366次閱讀