日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] PWM:脈沖寬度調(diào)制,圖中T為脈沖周期,t為高電平時間,t與T的比值t/T稱為占空比,脈寬調(diào)制指的是調(diào)整t的大小,即改變脈沖的占空比,占空比值越大,輸出的電壓越高。改變占空比就改變輸出的電壓,常用于

PWM:脈沖寬度調(diào)制,圖中T為脈沖周期,t為高電平時間,t與T的比值t/T稱為占空比,脈寬調(diào)制指的是調(diào)整t的大小,即改變脈沖的占空比
,占空比值越大,輸出的電壓越高。改變占空比就改變輸出的電壓,常用于實現(xiàn)D/A,調(diào)節(jié)電壓或電流,改變電動機(jī)的轉(zhuǎn)速等。

快速PWM模式:它的計數(shù)方式是TCNT0由0開始計數(shù)到255式,計數(shù)加1返回到0,然后繼續(xù)加1計數(shù),相對于相位PWM修正模式(由0計數(shù)到255,再從255計數(shù)到0),只有一個斜坡,因此PWM輸出頻率高。在快速PWM模式下,計數(shù)器的最大值決定了PWM的頻率,而比較寄存器OCR0決定了占空比的大小。T/C0是8位計數(shù)器, 輸出PWM的頻率=系統(tǒng)時鐘頻率/(分頻系數(shù)*255) 。

PWM產(chǎn)生過程:定時器啟動后,當(dāng)TNCT0和OCR0的值相等時,輸出引腳OC0(PB3)清0,當(dāng)TNCT0到255時OC0置位,在程序運行過程中改變OCR0中的數(shù)值,就改變了OC0輸出的占空比。

//函數(shù)功能:控制PB3引腳上的發(fā)光二極管由亮到滅,再由滅到亮 (代碼來自輕松玩轉(zhuǎn)AVR單片機(jī)c語言cd)

#include
#define uchar unsigned char
#define uint unsigned int
unsigned int count;
/*********以下是延時函數(shù)*********/
void Delay_ms(uint xms)
{
int i,j;
for(i=0;i{ for(j=0;j<1140;j++) ; }
}
/********以下是端口初始化函數(shù)********/
void port_init()
{
DDRB|=(1<PORTB&=(0<}
/********定時器0初始化********/
void timer0_init()
{
TCCR0=(1<// T/C0工作于快速PWM模式,不分頻
//比較匹配時,OC0置位,記數(shù)到0XFF時,清零OC0
OCR0=0; //比較匹配寄存器初值,

SREG=0x80; //使能全局中斷
}
/*********以下是主函數(shù)*********/
void main(void)
{
port_init();
timer0_init();
while(1)
{
for(count=0;count<256;count++) //OCR=0時,LED最亮,然后逐漸變暗
{
OCR0=count; //比較匹配寄存器賦值
Delay_ms(20); //延時一段時間,以觀察效果
}
Delay_ms(3000); // LED最暗時,延時一段時間
for(count=255;count>0;count--) //OCR=255時,LED最暗,然后逐漸變亮
{
OCR0= count;
Delay_ms(20);
}
Delay_ms(3000); //LED最亮?xí)r,延時一段時間
}
}


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉