国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

飛思卡爾單片機(jī)脈寬調(diào)制模塊用法研究

2018-09-13 10:47左明偉馮江榮王邦靖曼茂立
科技創(chuàng)新與應(yīng)用 2018年23期
關(guān)鍵詞:寄存器單片機(jī)

左明偉 馮江榮 王邦靖 曼茂立

摘 要:通過(guò)對(duì)MC9S12XS128單片機(jī)脈沖寬度調(diào)制模塊(PWM)的研究,主要了解了脈沖寬度調(diào)制模塊相關(guān)寄存器的功能,并深入探討脈寬調(diào)制模塊的調(diào)制方法,此外,也設(shè)計(jì)了適用于直流電機(jī)驅(qū)動(dòng)的程序,并在此基礎(chǔ)上進(jìn)行了詳細(xì)講解,以便更為直觀的了解并熟練地使用飛思卡爾單片機(jī)的脈沖寬度調(diào)制模塊。

關(guān)鍵詞:脈沖寬度調(diào)制模塊;寄存器;單片機(jī)

中圖分類號(hào):TM571.6 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)23-0035-02

Abstract: By studying the pulse width modulation module PWM of MC9S12XS128 single chip microcomputer, the function of the registers related to the pulse width modulation module is mainly understood, and the modulation method of the pulse width modulation module is discussed in depth. In addition, the modulation method of the pulse width modulation module is discussed. In order to understand and skillfully use the pulse width modulation module of Freescale single-chip microcomputer, a program suitable for direct current (DC) motor drive is also designed and explained in detail.

Keywords: pulse width modulation module; register; single chip microcomputer

引言

飛思卡爾是全球知名的半導(dǎo)體公司[1],該公司為許多行業(yè)設(shè)計(jì)和制作嵌入式半導(dǎo)體產(chǎn)品,現(xiàn)如今幾乎所有市售的單片機(jī)都集成了PWM功能模塊[2]。脈寬調(diào)制技術(shù)是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),可以通過(guò)調(diào)整方波的占空比來(lái)實(shí)現(xiàn)輸出電壓的變壓變頻效果,脈寬調(diào)制技術(shù)以其控制簡(jiǎn)單、靈活和動(dòng)態(tài)響應(yīng)好的優(yōu)點(diǎn)成為電子技術(shù)最廣泛應(yīng)用的控制方式,在電機(jī)調(diào)速等領(lǐng)域的應(yīng)用日益廣泛,所以對(duì)脈寬調(diào)制模塊的學(xué)習(xí)與應(yīng)用是十分必要的。

1 PWM主要寄存器介紹

飛思卡爾單片機(jī)脈沖寬度調(diào)制是通過(guò)設(shè)置其內(nèi)部寄存器來(lái)輸出相應(yīng)的波形。

1.1 時(shí)鐘寄存器

時(shí)鐘寄存器主要包括:PWMCLK、PWMPCLK、PWMSCLA/PWMSCLB,這三個(gè)寄存器分別是PWM時(shí)鐘選擇寄存器、模塊時(shí)鐘源A、B預(yù)分頻寄存器、模塊時(shí)鐘源SA、SB預(yù)分頻寄存器[3]。PWM時(shí)鐘選擇寄存器用來(lái)選擇PWM通道使用A、B時(shí)鐘或者SA、SB時(shí)鐘的哪一個(gè)。它和周期寄存器共同決定了PWM輸出脈沖的頻率。

1.2 周期寄存器

PWMPER寄存器共有8個(gè),每一個(gè)通道都有一個(gè)這樣的周期寄存器。這個(gè)寄存器的值就決定了相關(guān)PWM通道的周期。周期寄存器的值越大,PWM調(diào)制精度越高[4]。

1.3 占空比寄存器

PWMDTY寄存器共有8個(gè),每一個(gè)通道都有一個(gè)這樣的占空比寄存器。這個(gè)寄存器的值就決定了相關(guān)PWM通道的輸出脈沖的占空比。

2 PWM設(shè)置步驟及程序?qū)嵗?/p>

在了解相關(guān)寄存器,并掌握脈沖寬度輸出頻率以及占空比的計(jì)算方法后,便可以進(jìn)行設(shè)置并輸出PWM波形了。

2.1 PWM設(shè)置步驟如下[5]

a.選擇極性PWMPOL;

b.選擇及設(shè)置時(shí)鐘 PWMCLK、PWMPRCLK、PWMSCLA、PWMSCLB;

c.對(duì)齊方式 PWMCAE;

d.是否聯(lián)級(jí)輸出 PWMCTL;

e.周期設(shè)定 PWMPER;

f.占空比設(shè)定 PWMDTY;

g.打開PWM通道PWME;

2.2 程序?qū)嵗?/p>

在直流電機(jī)控制電子節(jié)氣門開度的控制系統(tǒng)中PWM脈沖波形的輸出頻率常為1KHz,因而我們?cè)O(shè)計(jì)了相關(guān)程序。首先是進(jìn)行初始化函數(shù)設(shè)置[6](其中晶振頻率16MHz、總線時(shí)鐘32MHz)。

#include "main.h"

void PWM_Init(void)

{

PWMCTL_CON01=1; //聯(lián)結(jié)0號(hào)和1號(hào)通道形成16位PWM通道號(hào),由PWM1輸出

PWMPOL_PPOL1=1; //通道01的極性為高電平有效

PWMPRCLK=0x22; //A時(shí)鐘和B時(shí)鐘的分頻系數(shù)為4,頻率=32/4=8MHz

PWMSCLA=2; //SA時(shí)鐘設(shè)置寄存器CLOCK SA=CLOCK A/(2*PWMSCLA)=8M/2*2=2MHz

PWMCLK=0x02; //通道01用SA時(shí)鐘作為時(shí)鐘源

PWMPER01=2000; //通道01的頻率=CLOCK SA/2000=1KHz

PWMDTY01=0; //通道01的占空比為0%

PWME_PWME1=1; //使能通道01

}

其次,主函數(shù)調(diào)用相關(guān)初始化函數(shù),并輸出相應(yīng)占空比的脈沖。

void main(void)

{

INIT_PLL(PLL32) ; //初始化PLL為32M

PWM_Init();

EnableInterrupts; //使能中斷

PWMDTY01=1000; //占空比=PWMPER01/PWMDTY01=1000/2000*100%=50%

}

在飛思卡爾MC9S12XS128單片機(jī)中用CodeWarrior5.0編譯并燒錄后,可從示波器讀取到如圖1的脈沖波形。如果我們想輸出占空比=70%的PWM波形,只需要改變主函數(shù)居中寄存器PWMDTY01=PWMPER01*70%=2000*70%=1400即可,圖2是占空比為70%的脈沖波形。

3 結(jié)束語(yǔ)

在完成了對(duì)飛思卡爾單片機(jī)脈沖寬度模塊的分析,并設(shè)計(jì)相關(guān)程序后,總結(jié)了如下幾個(gè)常見(jiàn)問(wèn)題:

3.1 頻率問(wèn)題

針對(duì)直流電機(jī)脈寬調(diào)制的PWM頻率問(wèn)題[7],目前尚待商榷,建議進(jìn)行多次試驗(yàn)選取讓電機(jī)正常工作的頻率。其他如S3010舵機(jī)的使用頻率是50Hz-200Hz[8],對(duì)應(yīng)周期是5ms-20ms,超出頻率的話,舵機(jī)不會(huì)線性工作。

3.2 級(jí)聯(lián)問(wèn)題

80引腳封裝的XS128系列單片機(jī)有8個(gè)8位精度的PWM通道[9],通過(guò)級(jí)聯(lián)可以得到4個(gè)16位精度的PWM通道,當(dāng)處于級(jí)聯(lián)模式時(shí),時(shí)鐘、極性以及對(duì)齊方式等都是受級(jí)聯(lián)后的低8位對(duì)應(yīng)通道的寄存器控制的,即由通道1、3、5、7的寄存器控制,且只有這幾個(gè)通道可以輸出PWM波形。

參考文獻(xiàn):

[1]周鑫玲.飛思卡爾8位單片機(jī)脈寬調(diào)制模塊用法探究[D].天津大學(xué),2010.

[2]李剛.飛思卡爾8位單片機(jī)實(shí)用教程[M].北京:電子工業(yè)出版社,2009.

[3]邵貝貝.單片機(jī)認(rèn)識(shí)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2006.

[4]劉和平.DSP原理及電機(jī)控制系統(tǒng)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.

[5]李勇.汽車單片機(jī)與車載網(wǎng)絡(luò)技術(shù)[M].北京:電子工業(yè)出版社,2015.

[6]薛濤.單片機(jī)與嵌入式系統(tǒng)開發(fā)方法-HCS12XS[M].北京:清華大學(xué)出版社,2009.

[7]庹朝永.基于單片機(jī)的直流電機(jī)PWM調(diào)速系統(tǒng)設(shè)計(jì)與開發(fā)[J].哈爾濱煤礦機(jī)械研究所,2011.

[8]趙開理.基于單片機(jī)設(shè)計(jì)直流電機(jī)控制系統(tǒng)[D].南京郵電大學(xué),2017.

[9]李瑋.基于單片機(jī)控制的直流電機(jī)PWM調(diào)速系統(tǒng)設(shè)計(jì)[J].河北省科學(xué)技術(shù)學(xué)協(xié)會(huì),2018.

猜你喜歡
寄存器單片機(jī)
單片機(jī)在智能控制中的應(yīng)用
基于慕課的“微型計(jì)算機(jī)原理與接口技術(shù)”教學(xué)模式
移位寄存器及算術(shù)運(yùn)算應(yīng)用
數(shù)字電路環(huán)境下汽車控制電路信號(hào)設(shè)計(jì)
基于ARM嵌入式系統(tǒng)底層漏洞挖掘技術(shù)研究
C8051F020與80C51單片機(jī)的異同點(diǎn)
問(wèn)題牽引的匯編語(yǔ)言教學(xué)實(shí)踐
單片機(jī)I/O口模擬串行通訊的C51實(shí)現(xiàn)方法
單片機(jī)調(diào)試方法的探討
用PIC單片機(jī)制作的時(shí)間繼電器