色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR 定時(shí)器快速PWM模式使用

          AVR 定時(shí)器快速PWM模式使用

          作者: 時(shí)間:2013-04-11 來源:網(wǎng)絡(luò) 收藏

          PWM很常用,自帶內(nèi)部PWM功能,分為快速和相位修正

          我們這里選擇方式15 ,由OCR1A保存上限值,由OCR1B保存匹配值,所以輸出管腳 OCR1A不能輸PWM,只能有OCR1B輸出PWM信號(hào)。

          如果用方式 5,6,7模式 上限值是固定的,所以我們就可以用OCR1A和OCR1B保存匹配值

          OCR1A和OCR1B都可以輸出PWM信號(hào)。

          點(diǎn)擊瀏覽下一頁

          快速PWM時(shí)序圖

          點(diǎn)擊瀏覽下一頁

          根據(jù)此公式計(jì)算出OCR1A和OCR1B的數(shù)值

          OCR1A:
          1,11059200 / 100 /64 = 1728 // 11.0592MHz晶振系數(shù) / 100Hz頻率 / 64分頻
          2,1728 - 1 = 1727 //得到上限值,賦值給OCR1A

          OCR1B:
          1,1727 / 5 = 345.4 ( 取值為345 ) //得到匹配值,設(shè)定為2ms,賦值給OCR1B

          100Hz表示每秒震動(dòng)100次,所以周期是1s / 100 = 0.01s 即10ms
          100Hz周期是10ms,要定時(shí)2ms即用 1727 / 5 =345.4 取值為345
          所以也可以知道產(chǎn)生的是占空比為20%的PWM信號(hào)

          測(cè)試代碼:

          #include iom16.h>

          void FastPWM(void)
          {
          DDRD_Bit4 = 1; // OC1B 管腳設(shè)置為輸出
          DDRD_Bit5 = 1; // OC1A 管腳設(shè)置為輸出

          TCCR1A=(0COM1A1)|(1COM1A0)|(1COM1B1)|(0COM1B0)|(1WGM11)|(1WGM10);
          // OC1A 作為上限值 電平取反 OC1B 作為比較值 比較匹配時(shí)清零,到達(dá)上限值是置1
          // TCCR1A ==> COM1A1 , COM1A0 , COM1B1 , COM1B0 , FOC1A , FOC1B , WGM11 , WGM10
          // 0 1 1 0 無關(guān) 無關(guān) 1 1
          TCCR1B=(1WGM13)|(1WGM12)|(0CS12)|(1CS11)|(1CS10);
          // 波形產(chǎn)生模式15 , 64分頻
          // TCCR1B ==> ICNC1 , ICES1 , - , WGM13 , WGM12 , CS12 , CS11 , CS10
          // 無關(guān) 無關(guān) 1 1 0 1 1

          OCR1A=1727; // 晶振頻率 11.0592MHz , 設(shè)定 100Hz PWM信號(hào) , 64分頻
          OCR1B=345; // 為2ms的高電平持續(xù)時(shí)間
          }

          void main(void)
          {
          FastPWM();

          }

          pwm相關(guān)文章:pwm是什么


          pwm相關(guān)文章:pwm原理




          關(guān)鍵詞: AVR 定時(shí)器 PWM模式

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉