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

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

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

3天內不再提示

pwm呼吸燈原理及程序分享

ss ? 來源:網絡整理 ? 2018-03-28 17:41 ? 次閱讀

PWM

PulseWidthModulation脈沖寬度調制,簡稱PWM。

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

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

pwm呼吸燈原理及程序分享

51單片機Timer

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

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

相關寄存器:

1.IE寄存器

pwm呼吸燈原理及程序分享

2. TCON寄存器

pwm呼吸燈原理及程序分享

3. TMOD寄存器

控制Timer0/1的工作方式

pwm呼吸燈原理及程序分享

pwm呼吸燈原理及程序分享

4. Timer0/1計數寄存器

TL0

TL1

TH0

TH1

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

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

運用PWM完成呼吸燈硬件電路

pwm呼吸燈原理及程序分享

程序設計:

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

    文章

    5153

    瀏覽量

    213456
  • 呼吸燈
    +關注

    關注

    10

    文章

    110

    瀏覽量

    42710
收藏 人收藏

    評論

    相關推薦

    PWM驅動LED實現呼吸效果

    C51 利用pwm 驅動LED 實現呼吸效果
    的頭像 發表于 04-24 15:29 ?3717次閱讀
    <b class='flag-5'>PWM</b>驅動LED實現<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>效果

    自己寫的io口輸出pwm呼吸程序,基于stc89c52RC

    源碼和工程文件都給出來,夠積分的下載,積分不夠就自己辛苦復制一下。源碼如下:[code]/*利用io口輸出pwm模擬呼吸*//*T0作為產生pwm的時間基準,*//*T1作為
    發表于 08-29 10:09

    基于stm32的PWM呼吸工程分享

    (NVIC_PriorityGroup_2);//中斷優先級分組分兩組LED_Init();TIM3_CH1_PWM_Init(500,72-1); //頻率是2kHzTIM_SetCompare1(TIM3,i);delay_ms(10); } 全部資料51hei下載地址: 基于stm32的
    發表于 07-02 07:51

    基于stm32的PWM呼吸工程分享

    (NVIC_PriorityGroup_2);//中斷優先級分組分兩組LED_Init();TIM3_CH1_PWM_Init(500,72-1); //頻率是2kHzTIM_SetCompare1(TIM3,i);delay_ms(10); } 全部資料51hei下載地址: 基于stm32的
    發表于 07-06 07:37

    一文分享pwm呼吸原理及程序

    PulseWidthModulation脈沖寬度調制,簡稱PWMPWM(脈沖寬度調制)對模擬信號電平進行數字編碼的方法,計算機只能輸出0或5V的數字電壓值而不能輸出模擬電壓,而我們如果想獲得一個
    發表于 10-30 08:21

    關于PWM呼吸的幾個問題,求解答

    ){flag = 1;}if(value == 0){flag = 0;}if(value > timer1){LED = 0;}else{LED = 1;}//}}這是我編寫的PWM呼吸
    發表于 04-09 23:36

    STM32 PWM是如何去控制呼吸程序

    PWM的工作原理是什么?STM32 PWM是如何去控制呼吸程序呢?
    發表于 11-26 07:00

    基于stm32 f103的pwm呼吸程序代碼分享

    基于stm32 f103的pwm呼吸程序代碼分享
    發表于 12-14 07:52

    PWM實現呼吸的應用

    stm32實現PWM最簡單方法前言一、PWM概念二、PWM應用輸出比較功能框圖三、PWM呼吸
    發表于 01-21 13:18

    使用單片機的定時器模擬PWM輸出實現呼吸程序免費下載

    本文檔的主要內容詳細介紹的是使用單片機的定時器模擬PWM輸出實現呼吸程序免費下載。
    發表于 09-06 17:27 ?20次下載
    使用單片機的定時器模擬<b class='flag-5'>PWM</b>輸出實現<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的<b class='flag-5'>程序</b>免費下載

    STM32實現PWM呼吸程序合集免費下載

    本文檔的主要內容詳細介紹的是STM32實現PWM呼吸程序合集免費下載。
    發表于 03-19 08:00 ?16次下載
    STM32實現<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的<b class='flag-5'>程序</b>合集免費下載

    使用PWM控制LED實現呼吸的效果

    本文主要講解使用PWM控制LED,實現呼吸的效果。
    的頭像 發表于 02-08 17:50 ?1.3w次閱讀
    使用<b class='flag-5'>PWM</b>控制LED實現<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的效果

    STM32_PWM呼吸

    全面屏發展,因此很多手機取消了呼吸這一功能,取而代之的是息屏顯示)2、什么是PWM?PWM:Pulse Width Modulation,脈沖寬度調制,是利用微處理器的數字輸出來對模
    發表于 11-26 12:21 ?20次下載
    STM32_<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    STM32 使用PWM實現呼吸

    STM32 PWM實現呼吸使用STM32F103ZET6 定時器4 CH2通道產生PWM波,在GPIOD,GPIO_PIN13引腳LED1產生呼吸
    發表于 12-24 19:41 ?55次下載
    STM32 使用<b class='flag-5'>PWM</b>實現<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    通過STM32實現PWM呼吸的教程

    顧名思義,就是一個的亮度的變化,由亮變暗,從暗變亮,有一個漸變,規律的變化,像是人的呼吸,是呼吸,所以叫
    的頭像 發表于 07-26 15:20 ?1.2w次閱讀
    通過STM32實現<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的教程