設為主頁(yè)  加入收藏
 
·I2S數字功放IC/內置DSP音頻算法功放芯片  ·馬達驅動(dòng)IC  ·2.1聲道單芯片D類(lèi)功放IC  ·內置DC/DC升壓模塊的D類(lèi)功放IC  ·鋰電充電管理IC/快充IC  ·無(wú)線(xiàn)遙控方案  ·直流無(wú)刷電機驅動(dòng)芯片
當前位置:首頁(yè)->技術(shù)分享
PWM呼吸燈原理及程序分享
文章來(lái)源:永阜康科技 更新時(shí)間:2020/10/16 11:04:00
在線(xiàn)咨詢(xún):
給我發(fā)消息
張代明 3003290139
給我發(fā)消息
小鄢 2850985542
給我發(fā)消息
李湘寧 2850985550
13713728695
 
PWM

PulseWidthModulation脈沖寬度調制,簡(jiǎn)稱(chēng)PWM。

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

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

51單片機的Timer

用的單片機是STC89C52,其內部有3個(gè)16位Timer,分別為T(mén)/C0,T/C1,T/C2,通過(guò)配置相關(guān)寄存器即可實(shí)現Timer的功能控制。

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

相關(guān)寄存器:

1.IE寄存器

2. TCON寄存器

3. TMOD寄存器

控制Timer0/1的工作方式

4. Timer0/1計數寄存器

TL0

TL1

TH0

TH1

當定時(shí)開(kāi)啟后,TL0(TL1)自動(dòng)跟隨機器周期加一。當TL0(TL1)滿(mǎn)了后,自動(dòng)清零同時(shí)向TH0(TH1)進(jìn)一位,不需要手動(dòng)操作。

而當TL0(TL1)和TH0(TH1)都滿(mǎn)了以后,此時(shí)如果定時(shí)中斷和總中斷都已經(jīng)打開(kāi),那么就會(huì )發(fā)生溢出中斷,同時(shí)這兩個(gè)寄存器清零。

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

程序設計:

unsigned char PWM_COUNT; //計數

unsigned int HUXI_COUNT; //占空比更新時(shí)間

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

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

void timer0_init()

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

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

TL0=0X47; TR0=1; //定時(shí)器0開(kāi)始計時(shí)

ET0=1; //開(kāi)定時(shí)器0中斷

EA=1; //開(kāi)總中斷

PWM_COUNT =0; }

void time0() interrupt 1

{ PWM_COUNT++; HUXI_COUNT++;

if(PWM_COUNT == PWM_VLAUE) //判斷是否到了點(diǎn)亮LED的時(shí)候

LED = 1; //點(diǎn)亮LED

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

{ LED = 0; //熄滅LED

PWM_COUNT = 0; //重新計時(shí) }

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(); //定時(shí)器0初始化

while(1);

}

 
 
 
    您可能對以下產(chǎn)品感興趣  
產(chǎn)品型號 功能介紹 兼容型號 封裝形式 工作電壓 備注
HTR3236 HTR3236是一款36路LED PWM驅動(dòng)器,PWM頻率可固定為3kHz或22kHz。每一路最大輸出電流可通過(guò)外置電阻REXT調節,最大38mA,并 可獨立控制4檔可選。每一路可通過(guò)I2C單獨控制256級細膩亮度調節。 IS31FL3236/SN3218 QFN-44 2.5V-5.5V 36路LED PWM驅動(dòng)器
HTR3218 HTR3218是一款18路LED PWM驅動(dòng)器,PWM頻率可固定為3kHz或22kHz。每一路最大輸出電流可通過(guò)外置電阻REXT調節,最大38mA,并可獨立控制4檔可選。每一路可通過(guò)I2C單獨控制256級細膩亮度調節。 IS31FL3218/SN3218 QFN-24 2.5V-5.5V 18路LED PWM驅動(dòng)器
 
 
    相關(guān)產(chǎn)品  
A3992/HR3992(DMOS全橋PWM串行控制兩相步進(jìn)電機驅動(dòng)IC)
DRV8833/HR8833( 2A低電壓雙路刷式直流或單路雙極步進(jìn)PWM繞組電流調節/限制電機驅動(dòng)器IC)
APA2068(PWM脈寬調制/模擬音量控制/直流音量控制2.6W雙聲道AB類(lèi)音頻功放IC)
 
 
·藍牙音箱的音頻功放/升壓/充電管
·單節鋰電內置升壓音頻功放IC選型
·HT7179 12V升24V內置
·5V USB輸入、三節鋰電升壓型
·網(wǎng)絡(luò )主播聲卡專(zhuān)用耳機放大IC-H
 
M12269 河北發(fā)電機組 HT366 ACM8629 HT338 

業(yè)務(wù)洽談:手機:13713728695(微信同號)   QQ:3003207580  EMAIL:panbo@szczkjgs.com   聯(lián)系人:潘波

地址:深圳市寶安西鄉航城大道航城創(chuàng )新創(chuàng )業(yè)園A5棟307/309

版權所有:深圳市永阜康科技有限公司  備案號:粵ICP備17113496號

在线亚洲人成电影_中文有码国产精品欧美激情_免费大片一级a一级久久三_av天堂东京热无码专区