久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11119|回復: 3
收起左側

AVR單片機ATmega16之初識PWM模式(超詳細)

[復制鏈接]
ID:555743 發表于 2019-6-16 17:22 | 顯示全部樓層 |閱讀模式
本帖最后由 放輕菘 于 2019-6-16 22:25 編輯

        書本上開篇關于這部分的描述是這樣講的:相對于一般的8位單片機而言,AVR不僅配備了更多的定時/計數器接口,而且還是增強型的例如通過定時/計數器比較匹配寄存器相互配合,生成占空比可調的方波信號,脈沖寬度調制輸出的PWM信號,用于D/A轉換,電機無極調速控制、變頻控制等(這樣一段書上的導語其實已經很好地概括了PWM的產生原理,和用途),下面說說具體的實現方式吧(都是以T/C0定時器為例來實現的)。按照我自己的粗略總結大致分為三大類(下面會逐條詳細解釋):1.CTC模式產生(50%占空比的方波信號) 2.快速PWM模式   3.相位可調PWM模式 (因為是初學如有不對,還望朋友們指正!!!)

先來看看這東西對應的輸出引腳吧: PWM1.jpg

(根據圖上的信息可以知道T/C0定時器對應的輸出口為OC0對應的是PB3管腳,同理:T/C2對應的為OC2對應PD7)
   
一.CTC模式產生(50%占空比的方波信號)   
一言以蔽之:用計時器定出時間,在設定時間到時,改變相關引腳的輸出電平值,每次取反(就跟異或原理相同)。恰好每次時間間隔都相同,這樣就能理解為什么是50%占空比了(當然這種用法比較特殊,也有著它的局限性:比如占空比就不可調)
    下面講講具體的配置吧:
   1.TCNT0:計數寄存器(每次到與OCR0匹配時就會清零TCNT0的值,所以也不用配置了)
   2.OCR0:輸出比較寄存器
   3.TIMSK:定時/計數器屏蔽寄存器(這里用不上)
   4.TIFR:定時/計數器中斷標志寄存器(這里也用不上)
   5.TCCR0:主要的配置就是這個寄存器了(它的COM01(5)和COM00(4)配置成01,即為比較匹配時,觸發OC0(OC0為原OC0的取反)
PWM2.jpg
這里有一個公式來計算其他頻率(占空比仍為50%):輸出的頻率=選定的時鐘/(2*N(1+OCR0))         N:為分頻數

二.快速PWM模式:
PWM3.jpg

在該模式下又分正向比較匹配輸出和反向比較匹配輸出:
PWM5.jpg

(是正向的話,計數到設定匹配值管腳輸出0,計數到255(0xff)時管腳輸出1,反向的話計數到設定匹配值管腳輸出1,計數到255(0xff)時管腳輸出0


TCNT0計數到255(oxff)時溢出標志位TOV0置1,可以用來申請中斷。可以在中斷服務程序中修改OCR0的值
②OC0的輸出的PWM波形頻率計算公式:PWM的頻率=所選時鐘源頻率/256N      (N為分頻數)

③通過設置OCR0的值便可獲得不同占空比的脈沖波形
④該模式是單程向上加1計數的






三.相位可調PWM模式
PWM4.jpg

與快速PWM模式類似的,也有正反向,只不過多了個減數的過程與上個模式的相比,這個是先加數過程和OCR0比一次,后又從255減下來跟OCR0再比一次,這樣一加一減算作一個完整的過程。
PWM6.jpg


(隨意吐槽一句,寫書就是喜歡寫的高大上一點,就是不喜歡說人話,emmmmm)
(正向比較匹配輸出時,TCNT0加1計數與OCR0比較,OC0輸出0,從255減到OCR0,OC0輸出1,正向比較匹配輸出時,TCNT0加1計數與OCR0比較,OC0輸出1,從255減到OCR0,OC0輸出0


TCNT0計數0x00時溢出標志位TOV0置1,可以用來申請中斷。可以在中斷服務程序中修改OCR0的值
②OC0的輸出的PWM波形頻率計算公式:PWM的頻率=所選時鐘源頻率/510N      (N為分頻數)
③通過設置OCR0的值便可獲得不同占空比的脈沖波形
④該模式雙程計數


  
總結:通過以上兩種模式PWM對比,十分直觀,除了③相同,其他還是有些差別和相似點的
    相信機制的你也發現了,快速PWM模式采用單程計數方式,所以它可以產生比相位可調PWM模式高1倍頻率的PWM波。因此快速PWM模式適用于電源調整,DAC等應用。相位可調PWM模式特性(即OC0邏輯電平的改變不是固定在TCNT0=0x00處),適用于電機控制一類的應用


無論是快速還是相位可調模式下,占空比計算均可用這個公式:
OCR0的的(數)/計數器上限的值(0xff 255)




      想了想還是把內些常見寄存器的配置放上來吧,不然總覺的配不上超詳細這幾個字,大家看看就行,我就不多逼逼,哈哈
PWM7.jpg PWM8.jpg PWM9.jpg PWM10.jpg PWM11.jpg



大家覺得有用多多支持鼓勵,做這版真的是花了不少時間

謝謝啦,歡迎批評指正










評分

參與人數 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

相關帖子

回復

使用道具 舉報

ID:552794 發表于 2019-6-19 08:46 | 顯示全部樓層
好童鞋,太優秀了!學以致用。
回復

使用道具 舉報

ID:555743 發表于 2019-6-19 10:05 | 顯示全部樓層
chinabj2019 發表于 2019-6-19 08:46
好童鞋,太優秀了!學以致用。

還得跟論壇上的大神多學習
回復

使用道具 舉報

ID:220026 發表于 2020-5-23 17:23 | 顯示全部樓層
辛苦了 這個得常看常新時間久點又忘記了,做個MARK
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成年人免费网站 | 国产高清在线精品一区二区三区 | 九九久久精品视频 | 精品一区二区在线观看 | 久久免费高清视频 | 一区观看 | 精品福利在线 | www.精品一区 | 欧美视频一区 | 日本精品一区 | 精品国产一区二区三区久久影院 | 91视频观看 | 日本特黄a级高清免费大片 国产精品久久性 | 亚洲色视频 | 亚洲视频一区在线观看 | 日韩精品视频在线观看一区二区三区 | 在线电影日韩 | 99久久久无码国产精品 | 欧美 日韩 中文 | 精品一区二区在线观看 | 国产免费va | 福利视频网站 | 欧美国产日本一区 | 在线播放一区二区三区 | 国产精品久久久久一区二区三区 | 婷婷激情综合 | 欧美日韩成人在线观看 | 在线精品一区二区三区 | 国产最新视频在线 | 91精品国产色综合久久不卡蜜臀 | 欧美成人一级 | 91av在线视频观看 | 亚洲视频在线观看 | 国产一区二区三区四区在线观看 | 精品国产青草久久久久福利 | 久久久综合精品 | 久在线视频播放免费视频 | 亚洲成人av一区二区 | 欧美高清视频 | 99热这里都是精品 | 中文字幕在线一 |