應廣PMS171B(2)--PWM輸出
概述
? 作者在上期已經(jīng)講解完端口輸出高低電平,這章建立實例來講解PWM輸出,在所用的芯片有個為PWM輸出,就寫個PWM例程,方便大家快速上手。
? ? 這里選用8PIN的單片機進行開發(fā),引腳如下圖所示,PWM引腳為5。

PMS171B之PWM配置

????tm2b寄存器是用來配置PWM的占空比的,0-7位代表數(shù)值為0-255。

? ? tm2s寄存器是用來配置PWM的分頻,7位代表PWM分辨率,6-5為預分頻器,4-0位為Timer時鐘分配器。

????tm2c寄存器是Timer2控制寄存器,如果需要輸出PWM,3-2位應該設置為10讓Timer選擇PA3,1位設置為1選擇為PWM模式。
PWM計算與配置

????在本文中我們設置輸出為1K,30%占空比的PWM,根據(jù)上圖公式,Y=tm2[7:4],我們選擇CLK(系統(tǒng)時鐘),即0001。
????在上篇配置IO口中,我們已經(jīng)如上圖代碼所示,設置時鐘為4M,所以Y=4M。
????此時我們設置預分頻器為16,即tm2s[6:5]設置為10,根據(jù):輸出頻率=Y÷[256*S1*(S2+1)]可以得知S2配置為0;輸出頻率=4M÷[256*16*(0+1)]=976Hz。tm2s配置如下所示:
????設置30%占空比則為tm2b=255*30%=77,tm2b如下所示:
????設置完之后需要打開PWM模式,tm2c設置如下所示:
PWM輸出完整代碼
演示效果

視頻教學

標簽: