<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          AVR單片機(jī)TC0快速PWM

          作者: 時(shí)間:2013-01-10 來(lái)源:網(wǎng)絡(luò) 收藏

          1.jpg

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

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

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

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

          #include

          #define uchar unsigned char

          #define uint unsigned int

          unsigned int count;

          /*********以下是延時(shí)函數(shù)*********/

          void Delay_ms(uint xms)

          {

          int i,j;

          for(i=0;i

          { for(j=0;j1140;j++) ; }

          }

          /********以下是端口初始化函數(shù)********/

          void port_init()

          {

          DDRB|=(1

          PORTB=(0

          }

          /********定時(shí)器0初始化********/

          void timer0_init()

          {

          TCCR0=(1

          // T/C0工作于模式,不分頻

          //比較匹配時(shí),OC0置位,記數(shù)到0XFF時(shí),清零OC0

          OCR0=0; //比較匹配寄存器初值,

          SREG=0x80; //使能全局中斷

          }

          /*********以下是主函數(shù)*********/

          void main(void)

          {

          port_init();

          timer0_init();

          while(1)

          {

          for(count=0;count256;count++) //OCR=0時(shí),LED最亮,然后逐漸變暗

          {

          OCR0=count; //比較匹配寄存器賦值

          Delay_ms(20); //延時(shí)一段時(shí)間,以觀察效果

          }

          Delay_ms(3000); // LED最暗時(shí),延時(shí)一段時(shí)間

          for(count=255;count>0;count--) //OCR=255時(shí),LED最暗,然后逐漸變亮

          {

          OCR0= count;

          Delay_ms(20);

          }

          Delay_ms(3000); //LED最亮?xí)r,延時(shí)一段時(shí)間

          }

          }



          關(guān)鍵詞: AVR單片機(jī) TC0 快速PWM

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();