s12dg128寄存器介紹及例程復(fù)習(xí)過程_第1頁(yè)
s12dg128寄存器介紹及例程復(fù)習(xí)過程_第2頁(yè)
s12dg128寄存器介紹及例程復(fù)習(xí)過程_第3頁(yè)
s12dg128寄存器介紹及例程復(fù)習(xí)過程_第4頁(yè)
s12dg128寄存器介紹及例程復(fù)習(xí)過程_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Good is good, but better carries it.精益求精,善益求善。s12dg128寄存器介紹及例程-PWM模塊介紹時(shí)間:2009-11-2522:51來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:662次該教程以MC9S12XS128單片機(jī)為核心進(jìn)行講解,全面闡釋該16位單片機(jī)資源。本文為第一講,開始介紹該MCU的PWM模塊。PWM調(diào)制波有8個(gè)輸出通道,每一個(gè)輸出通道都可以獨(dú)立的進(jìn)行輸出。每一個(gè)輸出通道都有一個(gè)精確的計(jì)數(shù)器(計(jì)算脈沖的個(gè)數(shù)),一個(gè)周期控制寄存器和兩個(gè)可供選擇的時(shí)鐘源。每一個(gè)PWM輸出通道都能調(diào)制出占空比從0100%變化的波形。PWM的主要特點(diǎn)有:1、它有8個(gè)獨(dú)

2、立的輸出通道,并且通過編程可控制其輸出波形的周期。2、每一個(gè)輸出通道都有一個(gè)精確的計(jì)數(shù)器。3、每一個(gè)通道的PWM輸出使能都可以由編程來控制。4、PWM輸出波形的翻轉(zhuǎn)控制可以通過編程來實(shí)現(xiàn)。5、周期和脈寬可以被雙緩沖。當(dāng)通道關(guān)閉或PWM計(jì)數(shù)器為0時(shí),改變周期和脈寬才起作用。6、8字節(jié)或16字節(jié)的通道協(xié)議。7、有4個(gè)時(shí)鐘源可供選擇(A、SA、B、SB),他們提供了一個(gè)寬范圍的時(shí)鐘頻率。8、通過編程可以實(shí)現(xiàn)希望的時(shí)鐘周期。9、具有遇到緊急情況關(guān)閉程序的功能。10、每一個(gè)通道都可以通過編程實(shí)現(xiàn)左對(duì)齊輸出還是居中對(duì)齊輸出。PWM寄存器說明1PWME、PWMCLK時(shí)間:2009-11-2522:56來源:

3、電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:493次1、PWM啟動(dòng)寄存器PWMEPWME寄存器每一位如圖1所示:復(fù)位默認(rèn)值:00000000B圖1PWME寄存器每一個(gè)PWM的輸出通道都有一個(gè)使能位PWMEx。它相當(dāng)于一個(gè)開關(guān),用來啟動(dòng)和關(guān)閉相應(yīng)通道的PWM波形輸出。當(dāng)任意的PWMEx位置1,則相關(guān)的PWM輸出通道就立刻可用。用法:PWME7=1-通道7可對(duì)外輸出波形PWME7=0-通道7不能對(duì)外輸出波形注意:在通道使能后所輸出的第一個(gè)波形可能是不規(guī)則的。當(dāng)輸出通道工作在串聯(lián)模式時(shí)(PWMCTL寄存器中的CONxx置1),那么)使能相應(yīng)的16位PWM輸出通道是由PWMEx的高位控制的,例如:設(shè)置PWMCTL

4、_CON01=1,通道0、1級(jí)聯(lián),形成一個(gè)16位PWM通道,由通道1的使能位控制PWM的輸出。2、PWM時(shí)鐘選擇寄存器PWMCLKPWMCLK寄存器每一位如圖3所示:復(fù)位默認(rèn)值:00000000B圖2PWMCLK寄存器S12的PWM共有四個(gè)時(shí)鐘源,每一個(gè)PWM輸出通道都有兩個(gè)時(shí)鐘可供選擇(ClockA、ClockSA或ClockB、ClockSB)。其中0、1、4、5通道可選用ClockA和ClockSA,2、3、6、7通道可選用ClockB、ClockSB通道。該寄存器用來實(shí)現(xiàn)幾個(gè)通道時(shí)鐘源的選擇。用法:PCLK0=1-通道0(PTP0)的時(shí)鐘源設(shè)為ClockSAPCLK2=0-通道2(PT

5、P2)的時(shí)鐘源設(shè)為ClockBPWM寄存器說明2PWMPRCLK、PWMSCLA/B時(shí)間:2009-11-2522:58來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:435次1、PWM預(yù)分頻寄存器PWMPRCLKPWMPRCLK寄存器每一位如圖3所示:復(fù)位默認(rèn)值:00000000B圖3PWMPRCLK寄存器PWMPRCLK寄存器包括ClockA預(yù)分頻和ClockB預(yù)分頻的控制位。ClockA、ClockB的值為總線時(shí)鐘的1/2n(0n7),具體設(shè)置參照?qǐng)D4和圖5圖4ClockA預(yù)分頻設(shè)置圖5ClockB預(yù)分頻設(shè)置PCKB0PCKB2是對(duì)ClockB進(jìn)行預(yù)分頻。PCKA0PCKA2是對(duì)ClockA進(jìn)行預(yù)

6、分頻。2、PWM分頻寄存器PWMSCLA、PWMSCLBPWMSCLA寄存器每一位如圖6所示:圖6PWMSCLA寄存器ClockSA是通過對(duì)PWMSCLA寄存器的設(shè)置來對(duì)ClockA進(jìn)行分頻而產(chǎn)生的。其計(jì)算公式為:ClockSA=ClockA/(2*PWMSCLA)PWMSCLB寄存器與PWMSCLA寄存器相似,ClockSB就是通過對(duì)PWMSCLB寄存器的設(shè)置來對(duì)ClockB進(jìn)行分頻而產(chǎn)生的。其計(jì)算公式為:ClockSB=ClockB/(2*PWMSCLB)PWM寄存器說明3PWMPOL、PWMCAE時(shí)間:2009-11-2607:09來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:372次1、PWM

7、極性選擇寄存器PWMPOLPWMPOL寄存器每一位如圖7所示:該寄存器是07通道PWM輸出起始極性控制位,用來設(shè)置PWM輸出的起始電平。用法:PWMPOL_PPOL0=1-通道0在周期開始時(shí)輸出為高電平,當(dāng)計(jì)數(shù)器等于占空比寄存器的值時(shí),輸出為低電平。對(duì)外輸出波形先是高電平然后再變?yōu)榈碗娖健?、PWM波形對(duì)齊寄存器PWMCAEPWMCAE寄存器每一位如圖8所示:圖8PWMCAE寄存器PWMCAE寄存器包含8個(gè)控制位來對(duì)每個(gè)PWM通道設(shè)置左對(duì)齊輸出或中心對(duì)齊輸出。用法:PWMCAE_CAE0=1-通道0中心對(duì)齊輸出PWMCAE_CAE7=0-通道7左對(duì)齊輸出注意:只有輸出通道被關(guān)閉后才能對(duì)其進(jìn)行設(shè)

8、置,即通道被激活后不能對(duì)其進(jìn)行設(shè)置。圖7PWMPOL寄存器PWM寄存器說明4PWMCTL時(shí)間:2009-11-2607:22來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:389次1、PWM控制寄存器PWMCTLPWMCTL寄存器每一位如圖9所示:圖9PWMCTL寄存器該控制寄存器設(shè)定通道的級(jí)聯(lián)和兩種工作模式:等待模式和凍結(jié)模式。這兩種模式如圖10和圖11所示。圖10等待模式圖11凍結(jié)模式只有當(dāng)相應(yīng)的通道關(guān)閉后,才能改變這些控制字。用法:PWMCTLCON67=1-通道6、7級(jí)聯(lián)成一個(gè)16位的PWM通道。此時(shí)只有7通道的控制字起作用,原通道7的使能位、PWM輸出極性選擇位、時(shí)鐘選擇控制位以及對(duì)齊方式選擇

9、位用來設(shè)置級(jí)聯(lián)后的PWM輸出特性PWMCTLCON67=0-通道6,7通道不級(jí)聯(lián)CON45、CON23、CON01的用法同CON67相似。設(shè)置此控制字的意義在于擴(kuò)大了PWM對(duì)外輸出脈沖的頻率范圍。PSWAI=1-MCU一旦處于等待狀態(tài),就會(huì)停止時(shí)鐘的輸入。這樣就不會(huì)因時(shí)鐘在空操作而費(fèi)電;當(dāng)它置為0,則MCU就是處于等待狀態(tài),也允許時(shí)鐘的輸入。PFRZ=1-MCU一旦處于凍結(jié)狀態(tài),就會(huì)停止計(jì)數(shù)器工作。PWM寄存器說明5PWMCNTx、PWMPERx、PWMDTYx時(shí)間:2009-11-2607:30來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:440次1、PWM通道計(jì)數(shù)寄存器PWMCNTxPWMCNTx

10、寄存器共有8個(gè),每一個(gè)通道都有一個(gè)8位PWM加/減雙向計(jì)數(shù)器,通道級(jí)聯(lián)后可變成16位PWM加/減雙向計(jì)數(shù)器。下面以PWMCNT0為例對(duì)PWMCNTx寄存器進(jìn)行介紹。PWMCNT0寄存器如圖12所示:圖12PWMCNT0寄存器計(jì)數(shù)器以所選時(shí)鐘源的頻率運(yùn)行。計(jì)數(shù)器在任何時(shí)候都可以被讀,而不影響計(jì)數(shù),也不影響對(duì)PWM通道的操作。任何值寫入PWMCNT0寄存器都會(huì)導(dǎo)致計(jì)數(shù)器復(fù)位置0,且其計(jì)數(shù)方向會(huì)被設(shè)置為向上計(jì)數(shù),并且會(huì)立刻從緩沖器載入任務(wù)和周期值,并會(huì)根據(jù)翻轉(zhuǎn)極性的設(shè)置來改變輸出。當(dāng)計(jì)數(shù)器達(dá)到計(jì)數(shù)值后,會(huì)自動(dòng)清零。只有當(dāng)通道使能后,計(jì)數(shù)器才開始計(jì)數(shù)。2、PWM通道周期寄存器PWMPERxPWMPER

11、x寄存器共有8個(gè),每一個(gè)通道都有一個(gè)這樣的周期寄存器。這個(gè)寄存器的值就決定了相關(guān)PWM通道的周期。每一個(gè)通道的周期寄存器都是雙緩沖的,因此如果當(dāng)通道使能后,改變他們的值,將不會(huì)發(fā)生任何作用,除非當(dāng)下列情況之一發(fā)生:*有效的周期結(jié)束。*對(duì)計(jì)數(shù)器進(jìn)行寫操作(計(jì)數(shù)器復(fù)位)*通道不可用(PWMEx=0)這樣就會(huì)使PWM輸出波形要么是新波形要么是舊波形,并不會(huì)在兩者之間進(jìn)行交替變換。如果通道不可用,那么對(duì)周期寄存器進(jìn)行寫操作,將會(huì)直接導(dǎo)致周期寄存器同緩沖器一起閉鎖。圖13所示的是PWMPER0寄存器:圖13PWMPER0寄存器3、PWM通道占空比寄存器PWMDTYxPWMDTYx寄存器也有8個(gè),每一個(gè)通

12、道都有一個(gè)這樣的占空比常數(shù)寄存器。這個(gè)寄存器的值就決定了相關(guān)PWM通道輸出波形的占空比。每一個(gè)通道的占空比寄存器都是雙緩沖的,因此如果當(dāng)通道被激活后,改變他們的值將不會(huì)發(fā)生任何作用,除非當(dāng)下列情況之一發(fā)生:*有效的周期結(jié)束。*對(duì)計(jì)數(shù)器進(jìn)行寫操作(計(jì)數(shù)器復(fù)位)*通道不可用(PWMEx=0)這樣就會(huì)使PWM輸出波形要么是新波形要么是舊波形,并不會(huì)在兩者之間進(jìn)行交替變換。如果通道沒有被激活,那么對(duì)占空比常數(shù)寄存器進(jìn)行寫操作,將會(huì)直接導(dǎo)致周期寄存器同緩沖器一起閉鎖。當(dāng)計(jì)數(shù)值與占空比常數(shù)PWMDTY相等時(shí),則比較輸出器有效,這時(shí)就會(huì)將觸發(fā)器置位,然后PWMCNT繼續(xù)計(jì)數(shù),當(dāng)計(jì)數(shù)值與周期常數(shù)PWMPER相

13、等時(shí),比較器輸出有效,將觸發(fā)器復(fù)位,同時(shí)也使PWMCNT復(fù)位,結(jié)束一個(gè)輸出周期。PWM工作原理時(shí)間:2009-11-2715:44來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:490次S12微控制器PWM模塊是由獨(dú)立運(yùn)行的8位脈沖計(jì)數(shù)器PWMCNT、兩個(gè)比較寄存器PWMPER和PWMDTY組成。1、左對(duì)齊方式在該方式下,脈沖計(jì)數(shù)器為循環(huán)遞增計(jì)數(shù),計(jì)數(shù)初值為0。當(dāng)PWM使能后,計(jì)數(shù)器PWMCNT從0開始對(duì)時(shí)鐘信號(hào)遞增計(jì)數(shù),開始一個(gè)輸出周期。當(dāng)計(jì)數(shù)值與占空比常數(shù)寄存器PWMDTY相等時(shí),比較器1輸出有效,將觸發(fā)器置位,而PWMCNT繼續(xù)計(jì)數(shù);當(dāng)計(jì)數(shù)值與周期常數(shù)寄存器PWMPER相等時(shí),比較器2輸出有效,將

14、觸發(fā)器復(fù)位,同時(shí)PWMCNT也復(fù)位,結(jié)束一個(gè)輸出周期。原理參照?qǐng)D14:圖14PWM左對(duì)齊方式2、中心對(duì)齊方式在該方式下,脈沖計(jì)數(shù)器為雙向計(jì)數(shù),計(jì)數(shù)初值為0。當(dāng)PWM使能后,計(jì)數(shù)器PWMCNT從0開始對(duì)時(shí)鐘信號(hào)遞增計(jì)數(shù),開始輸出一個(gè)周期。當(dāng)計(jì)數(shù)器與占空比常數(shù)寄存器PWMDTY相等時(shí),比較器1輸出有效,觸發(fā)器翻轉(zhuǎn),而PWMCNT繼續(xù)計(jì)數(shù),當(dāng)計(jì)數(shù)值與周期常數(shù)PWMPER相等時(shí),比較器2輸出有效,此時(shí)改變PWMCNT的計(jì)數(shù)方向,使其遞解計(jì)數(shù);當(dāng)PWMCNT再次與PWMDTY相等時(shí),比較器1再一次輸出有效,使觸發(fā)器再次翻轉(zhuǎn),而PWMCNT繼續(xù)遞減計(jì)數(shù),等待PWMCNT減回至0,完成一個(gè)輸出周期。原理參照

15、圖15:圖15中心對(duì)齊方式3、周期計(jì)算方法左對(duì)齊方式:輸出周期=通道周期PWMPERx中心對(duì)齊方式:輸出周期=通道周期PWMPERx24、脈寬計(jì)算方法左對(duì)齊方式:占空比=(PWMPERx-PWMDTYx)/PWMPERx100%中心對(duì)齊方式:占空比=PWMDTYx/PWMPERx100%PWM應(yīng)用實(shí)例時(shí)間:2009-11-2821:49來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:412次PWM初始化步驟總結(jié)1、禁止PWMPWME=02、選擇時(shí)鐘PWMPRCLK,PWMSCLA,PWMSCLB,PWMCLK3、選擇極性PWMPOL4、選擇對(duì)齊方式PWMCAE5、選擇占空比和周期PWMDTYx,PWMP

16、ERx6、使能PWMPWME=1【例程1】/-/功能說明:MC9S12XS128-PWM例程/使用說明:實(shí)現(xiàn)通道3(PTP3)輸出頻率為1KHz,占空比為50%的方波,用示波器觀察/程序設(shè)計(jì):電子設(shè)計(jì)吧【HYPERLINK】/設(shè)計(jì)時(shí)間:2010.01.21/-/#include/*commondefinesandmacros*/#includederivative.h/*derivative-specificdefinitions*/-初始化函數(shù)-/-時(shí)鐘初始化程序-/voidPLL_Init(void)/PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)/鎖相環(huán)時(shí)鐘=2*1

17、6*(2+1)/(1+1)=48MHzREFDV=1;/總線時(shí)鐘=48/2=24MHzSYNR=2;while(!(CRGFLG&0 x08);CLKSEL=0 x80;/選定鎖相環(huán)時(shí)鐘/-PWM初始化程序-/voidPWM_Init(void)PWME_PWME3=0 x00;/DisablePWM禁止PWMPRCLK=0 x33;/00110011A=B=24M/8=3M時(shí)鐘預(yù)分頻寄存器設(shè)置PWMSCLA=150;/SA=A/2/150=10k時(shí)鐘設(shè)置PWMSCLB=15;/SB=B/2/15=100k時(shí)鐘設(shè)置PWMCLK_PCLK3=1;/PWM3-SB時(shí)鐘源的選擇PWMPOL_PPOL

18、3=1;/Duty=HighTime極性設(shè)置PWMCAE_CAE3=0;/Left-aligned對(duì)齊方式設(shè)置PWMCTL=0 x00;/noconcatenation控制寄存器設(shè)置PWMPER3=100;/Frequency=SB/100=1K周期寄存器設(shè)置PWMDTY3=50;/Dutycycle=50%占空比寄存器設(shè)置PWME_PWME3=1;/EnablePWM使能/-主函數(shù)-/voidmain(void)/*putyourowncodehere*/PLL_Init();PWM_Init();EnableInterrupts;for(;)_FEED_COP();/*feedsthedo

19、g*/*loopforever*/*pleasemakesurethatyouneverleavemain*/A/D轉(zhuǎn)換模塊介紹1時(shí)間:2009-11-3022:10來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:327次1、A/D轉(zhuǎn)換原理A/D轉(zhuǎn)換的過程是模擬信號(hào)依次通過取樣、保持和量化、編碼幾個(gè)過程后轉(zhuǎn)換為數(shù)字格式。a)取樣與保持一般取樣與保持過程是同時(shí)完成的,取樣-保持電路的原理圖如圖16所示,由輸入放大器A1、輸出放大器A2、保持電容CH和電子開關(guān)S組成,要求AV1*AV2=1。原理是:當(dāng)開關(guān)S閉合時(shí),電路處于取樣階段,電容器充電,由于AV1*AV2=1,所以輸出等于輸入;當(dāng)開關(guān)S斷開時(shí),由于A

20、2輸入阻抗較大而且開關(guān)理想,可認(rèn)為CH沒有放電回路,輸出電壓保持不變。圖16取樣-保持電路取樣-保持以均勻間隔對(duì)模擬信號(hào)進(jìn)行抽樣,并且在每個(gè)抽樣運(yùn)算后在足夠的時(shí)間內(nèi)保持抽樣值恒定,以保證輸出值可以被A/D轉(zhuǎn)換器精確轉(zhuǎn)換。b)量化與編碼量化的方法,一般有舍尾取整法和四舍五入法,過程是先取頂量化單位,量化單位取值越小,量化誤差的絕對(duì)值就越小,具體過程在這里就不做介紹了。將量化后的結(jié)果用二進(jìn)制碼表示叫做編碼。2、A/D轉(zhuǎn)換器的技術(shù)指標(biāo)a)分辨率分辨率說明A/D轉(zhuǎn)換器對(duì)輸入信號(hào)的分辨能力,理論上,n位A/D轉(zhuǎn)換器能區(qū)分的輸入電壓的最小值為滿量程的1/2n。也就是說,在參考電壓一定時(shí),輸出位數(shù)越多,量化

21、單位就越小,分辨率就越高。S12的ATD模塊中,若輸出設(shè)置為8位的話,那么轉(zhuǎn)換器能區(qū)分的輸入信號(hào)最小電壓為19.53mV。b)轉(zhuǎn)換時(shí)間A/D轉(zhuǎn)換器按其工作原理可以分為并聯(lián)比較型(轉(zhuǎn)換速度快ns級(jí))、逐次逼近型(轉(zhuǎn)換速度適中us級(jí))、雙積分型(速度慢抗干擾能力強(qiáng))。不同類型的轉(zhuǎn)化的A/D轉(zhuǎn)換器轉(zhuǎn)換時(shí)間不盡相同,S12的ATD模塊中,8位數(shù)字量轉(zhuǎn)換時(shí)間僅有6us,10位數(shù)字量轉(zhuǎn)換時(shí)間僅有7us。A/D轉(zhuǎn)換模塊介紹2時(shí)間:2009-12-0921:32來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:334次S12內(nèi)置了2組10位/8位的A/D模塊:ATD0和ATD1,共有16個(gè)模擬量輸入通道,屬于逐次逼近型A

22、/D轉(zhuǎn)換器(這個(gè)轉(zhuǎn)換過程與用天平稱物的原理相似)。1、功能結(jié)構(gòu)圖圖17A/D模塊功能結(jié)構(gòu)圖圖17所示的是A/D模塊的功能結(jié)構(gòu),這個(gè)功能模塊被虛線劃分成為圖示所示的虛線所隔離的三個(gè)部分:IP總線接口、轉(zhuǎn)換模式控制/寄存器列表,自定義模擬量。IP總線接口負(fù)責(zé)該模塊與總線的連接,實(shí)現(xiàn)A/D模塊和通用I/O的目的,還起到分頻的作用;轉(zhuǎn)換模式控制寄存器列表中有控制該模塊的所有的寄存器,執(zhí)行左右對(duì)齊運(yùn)行和連續(xù)掃描。自定義模擬量負(fù)責(zé)實(shí)現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換。包括了執(zhí)行一次簡(jiǎn)單轉(zhuǎn)換所需的模擬量和數(shù)字量。2、HCS12中A/D轉(zhuǎn)化模塊特點(diǎn)8/10位精度;7us,10-位單次轉(zhuǎn)換時(shí)間.;采樣緩沖放大器;可編程采樣

23、時(shí)間;左/右對(duì)齊,有符號(hào)/無符號(hào)結(jié)果數(shù)據(jù);外部觸發(fā)控制;轉(zhuǎn)換完成中斷;模擬輸入8通道復(fù)用;模擬/數(shù)字輸入引腳復(fù)用;1到8轉(zhuǎn)換序列長(zhǎng)度;連續(xù)轉(zhuǎn)換模式;多通道掃描方式。ATD模塊有模擬量前端、模擬量轉(zhuǎn)換、控制部分及結(jié)果存儲(chǔ)等四部分組成。其中模擬前端包括多路轉(zhuǎn)換開關(guān)、采樣緩沖器、放大器等,結(jié)果存儲(chǔ)部分主要有8個(gè)16位的存儲(chǔ)器和反映工作狀態(tài)的若干標(biāo)志位。A/D寄存器說明1ATD0CTL2、時(shí)間:2009-12-1112:26來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:339次1、ATD0控制寄存器2-ATD0CTL2ATD0CTL2主要控制ATD0的啟動(dòng)、狀態(tài)標(biāo)志以及上電模式,對(duì)寄存器進(jìn)行寫操作時(shí),將中斷當(dāng)

24、前的轉(zhuǎn)化過程。寄存器ATD0CTL2如圖18所示:圖18ATD0CTL2寄存器ADPU:A/D使能控制位,相當(dāng)于一個(gè)開關(guān),用來啟動(dòng)/禁止A/D轉(zhuǎn)換1=A/D模塊上電0=禁止A/D,以減少功耗AFFC:A/D快速轉(zhuǎn)換完成標(biāo)志位清零1=快速標(biāo)志位清零順序,每次讀取結(jié)果寄存器自動(dòng)清零0=正常標(biāo)志位清零順序,需要軟件方式對(duì)狀態(tài)標(biāo)志位清零AWAI:A/D等待模式1=等待模式下,ATD繼續(xù)運(yùn)行0=等待模式下,ATD停止運(yùn)行,以降低功耗ETRIGP、ETRIGLE、ETRIGE:ETRIGLEETRIGPETRIGE描述xx0忽略外部觸發(fā)001下降沿觸發(fā)011上升沿觸發(fā)101低電平觸發(fā)111高電平觸發(fā)【注意

25、】ETRIGE:外部觸發(fā)使能控制位,該功能借助引腳AN7,當(dāng)AN7接收到外部觸發(fā)時(shí),啟動(dòng)A/D轉(zhuǎn)換,否則不進(jìn)行轉(zhuǎn)換。0-忽略外部觸發(fā);1-有外部觸發(fā)時(shí)開始轉(zhuǎn)換,此時(shí)AN7不能用于A/D轉(zhuǎn)換。ASCIE:A/D轉(zhuǎn)化序列轉(zhuǎn)換結(jié)束中斷使能控制位1=允許ATD轉(zhuǎn)換序列轉(zhuǎn)換結(jié)束后發(fā)生中斷0=禁止ATD中斷ASCIF:A/D轉(zhuǎn)換序列轉(zhuǎn)換結(jié)束中斷標(biāo)志,只用于讀。1=發(fā)生中斷0=為發(fā)生中斷A/D寄存器說明2ATD0CTL3時(shí)間:2009-12-1212:06來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:311次2、ATD0控制寄存器3-ATD0CTL3ATD0CTL3主要控制結(jié)果寄存器的映射,設(shè)置轉(zhuǎn)換序列的長(zhǎng)度,還可

26、以暫時(shí)凍結(jié)ATD0模塊,尤其確定ATD0在BDM狀態(tài)下的行為。寄存器ATD0CTL3如圖19所示:圖19ATD0CTL3寄存器S1C、S2C、S4C、S8C:轉(zhuǎn)換序列長(zhǎng)度選擇位控制位【注意】ATD的每次啟動(dòng)要進(jìn)行若干次掃描循環(huán),每次掃描循環(huán)稱為一個(gè)轉(zhuǎn)換序列。FIFO:結(jié)果寄存器FIFO模式控制位,1=結(jié)果寄存器映射到轉(zhuǎn)換序列0=結(jié)果寄存器沒有映射到轉(zhuǎn)換序列FRZ0、FRZ1:背景調(diào)試凍結(jié)控制位FRZResponse00IgnoreIFREEZE(凍結(jié)模式下繼續(xù)轉(zhuǎn)換)01Reserved(凍結(jié)模式下保留)10Finishconversionthenfreeze(完成轉(zhuǎn)換后凍結(jié))11FreezeI

27、mmediately(凍結(jié)模式下立刻凍結(jié))A/D寄存器說明3ATD0CTL4時(shí)間:2009-12-1411:50來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:298次3、ATD0控制寄存器4-ATD0CTL4ATD0CTL4用于選擇時(shí)鐘,選擇采樣轉(zhuǎn)換時(shí)間以及選擇8位/10位轉(zhuǎn)換方式。寄存器ATD0CTL4如圖20所示:圖20ATD0CTL4寄存器SRES8:A/D精度選擇控制位1=將采集到的模擬量以8位二進(jìn)制數(shù)表示0=將采集到的模擬量以10位二進(jìn)制數(shù)表示SMP0、SMP1:采樣時(shí)間選擇控制位SMP1:0采樣時(shí)間002A/D時(shí)鐘周期014A/D時(shí)鐘周期108A/D時(shí)鐘周期1116A/D時(shí)鐘周期PPS0:

28、4:5位模數(shù)計(jì)數(shù)器預(yù)分頻器-分頻系數(shù)從2到64-A/D時(shí)鐘計(jì)算公式:ATDClock=BusClock/(PRS+1)0.5-A/D時(shí)鐘頻率應(yīng)滿足:【注意】對(duì)于AD轉(zhuǎn)換來說,它的轉(zhuǎn)換周期包括采樣時(shí)間和運(yùn)算時(shí)間。如果頻率太高,則采樣時(shí)間過短。這對(duì)于輸出阻抗比較大或信號(hào)頻率比較高的信號(hào)來說,就會(huì)產(chǎn)生較大的采樣誤差,那么AD轉(zhuǎn)換的精度就會(huì)受較大的影響。A/D寄存器說明4ATD0CTL5時(shí)間:2009-12-1719:39來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:303次4、ATD0控制寄存器4-ATD0CTL5ATD0CTL5用于選擇轉(zhuǎn)換方式,選擇轉(zhuǎn)換通道,設(shè)置單/多通道轉(zhuǎn)換和單次/連續(xù)轉(zhuǎn)換模式以及對(duì)齊

29、方式。寄存器ATD0CTL5如圖20所示:圖20寄存器ATD0CTL5【注意】ATDCTRL5設(shè)置成多通道轉(zhuǎn)換后,ATDCTRL3設(shè)置采集的通道數(shù),此外ATDCTRL5中還需要設(shè)置多通道采集的起始通道。比如采集7個(gè)通道,起始通道是1,那么就采集從17通道,如果起始通道是2,就采集27,還有0通道?!咀⒁狻吭赟12系列中,當(dāng)轉(zhuǎn)換序列長(zhǎng)度設(shè)置為1(S8C:S1C=0001),MULT=0時(shí),只對(duì)一個(gè)通道進(jìn)行一次轉(zhuǎn)換。A/D寄存器說明5ATD0START0、ATD0START1時(shí)間:2009-12-2700:47來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:263次5、ATD0狀態(tài)寄存器5-ATD0STAR

30、T0、ATD0START1ATD0START0反映當(dāng)前的轉(zhuǎn)換通道、A/D轉(zhuǎn)換是否結(jié)束、是否有外部觸發(fā)等;ATD0START1反映轉(zhuǎn)換序列中相應(yīng)的轉(zhuǎn)換是否完成。寄存器ATD0START0、ATD0START1如圖21所示:SCF-轉(zhuǎn)換序列完成標(biāo)志在單次轉(zhuǎn)換模式時(shí),當(dāng)轉(zhuǎn)換完成后置位(SCAN=0)在連續(xù)轉(zhuǎn)換模式時(shí),當(dāng)?shù)谝淮无D(zhuǎn)換完成后置位(SCAN=1),當(dāng)AFFC=0,寫1清零。ETORF-外部觸發(fā)覆蓋標(biāo)志如果在轉(zhuǎn)換過程中高/低電平出現(xiàn),置位FIFOR當(dāng)結(jié)果寄存器在讀出之前已經(jīng)被寫入時(shí),置位(CCF沒有清零)CC2:0轉(zhuǎn)換計(jì)數(shù)器-3位計(jì)數(shù)器指向下一個(gè)將要轉(zhuǎn)換的通道CCF7-CCF0-獨(dú)立通道轉(zhuǎn)換完

31、成標(biāo)志位每個(gè)相應(yīng)的通道轉(zhuǎn)換結(jié)束后置位,當(dāng)相應(yīng)的A/D結(jié)果寄存器被讀出時(shí),清零,注意當(dāng)AFFC位不同時(shí)的情況A/D轉(zhuǎn)換應(yīng)用實(shí)例時(shí)間:2009-12-2700:51來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:351次第十六講:A/D轉(zhuǎn)換應(yīng)用實(shí)例要讓ATD開始轉(zhuǎn)換工作,必須經(jīng)過以下三個(gè)步驟:1.將ADPU置1,使ATD啟動(dòng);2.按照要求對(duì)轉(zhuǎn)換為數(shù)、掃描方式、采樣時(shí)間、時(shí)鐘頻率及標(biāo)志檢查等方式進(jìn)行設(shè)置;3.發(fā)出啟動(dòng)命令;如果上電默認(rèn)狀態(tài)即能滿足工作要求,那么只要將ADPU置1,然后通過控制寄存器發(fā)出轉(zhuǎn)換命令,即可實(shí)現(xiàn)轉(zhuǎn)換?!纠?】程序描述:由通道ATD0進(jìn)行單通道A/D轉(zhuǎn)換,轉(zhuǎn)換值在B口顯示程序如下:#i

32、nclude/*commondefinesandmacros*/#include/*derivativeinformation*/#pragmaLINK_INFODERIVATIVEmc9s12dg128b/*定義變量*/wordAD_wValue;/AD轉(zhuǎn)換結(jié)果/*時(shí)鐘初始化*/voidPLL_Init(void)/PLLCLK=2*OSCCLK*(SYNR+1)/(REFDV+1)/鎖相環(huán)時(shí)鐘=2*16*(2+1)/(1+1)=48MHzREFDV=1;/總線時(shí)鐘=48/2=24MHzSYNR=2;while(!(CRGFLG&0 x08);CLKSEL=0 x80;/*AD初始化*/vo

33、idAD_Init(void)ATD0CTL2=0 xC0;/啟動(dòng)A/D,快速清零,無等待模式,禁止外部觸發(fā),中斷禁止ATD0CTL3=0 x20;/轉(zhuǎn)換序列長(zhǎng)度為4,NoFIFO,Freeze模式下繼續(xù)轉(zhuǎn)換ATD0CTL4=0 x85;/8位精度,2個(gè)時(shí)鐘,ATDClock=BusClock*0.5/PRS+1=2MHz;PRS=5,divider=12ATD0CTL5=0 xA0;/右對(duì)齊無符號(hào),單通道采樣,通道0ATD0DIEN=0 x00;/禁止數(shù)字輸入/*讀取AD轉(zhuǎn)換結(jié)果*/voidAD_GetValue(word*AD_wValue)*AD_wValue=ATD0DR0;/讀取結(jié)果

34、寄存器的值/*主函數(shù)*/voidmain(void)PLL_Init();AD_Init();DDRB=0 xFF;PORTB=0 x00;EnableInterrupts;for(;)while(!ATD0STAT1_CCF0);/等待轉(zhuǎn)換結(jié)束while(ATDOSTAT1_CCF0=1)AD_GetValue(&AD_wValue);/讀取轉(zhuǎn)換結(jié)果PORTB=(byte)AD_wValue;/在B口顯示轉(zhuǎn)換值Timer模塊介紹1時(shí)間:2009-12-2911:51來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:324次1、簡(jiǎn)述MC9S12XS128定時(shí)器模塊與MC9S12DG128ECT部分功能完全

35、類似,以下均以ECT模塊介紹xs128定時(shí)器模塊。HC12增強(qiáng)型捕捉計(jì)時(shí)器模塊在HCS12標(biāo)準(zhǔn)定時(shí)器的基礎(chǔ)上增加了一些特點(diǎn),用以擴(kuò)展它的應(yīng)用范圍,特別是在汽車ABS方面?;鶞?zhǔn)計(jì)時(shí)器的核心仍然是一個(gè)16位的可編程計(jì)數(shù)器,其時(shí)鐘源來自一個(gè)預(yù)分頻器。該計(jì)時(shí)器可以被應(yīng)用于多個(gè)方面,包括在對(duì)輸入波形進(jìn)行測(cè)量的同時(shí)產(chǎn)生一個(gè)輸出波形。波形的脈寬可以在幾微秒到數(shù)秒的范圍內(nèi)變化。增強(qiáng)型定時(shí)器模塊(ECT)的結(jié)構(gòu)框圖如下,ECT功能相當(dāng)于高速的I/O口,由一個(gè)4位預(yù)分頻器、一個(gè)16位自由運(yùn)行計(jì)數(shù)器,8個(gè)16位IC/OC通道,2個(gè)16位脈沖累加器以及一個(gè)16位模數(shù)遞減計(jì)數(shù)器組成。ECT實(shí)際上是一個(gè)16位的可編程計(jì)數(shù)

36、器,它的基本時(shí)鐘頻率可以通過預(yù)分頻器設(shè)置,用于產(chǎn)生波形輸出,測(cè)量輸入波形,統(tǒng)計(jì)脈沖個(gè)數(shù),可以作為定時(shí)中斷功能和獨(dú)立時(shí)鐘基準(zhǔn)。2、運(yùn)行模式停止:由于時(shí)鐘停止,計(jì)時(shí)器和計(jì)數(shù)器均關(guān)閉。凍結(jié):計(jì)時(shí)器和計(jì)數(shù)器均保持運(yùn)行,直到TSCR($06)的TSFRZ位被置1。等待:計(jì)數(shù)器保持運(yùn)行,直到TSCR($06)的TSWAI位被置1。正常:計(jì)時(shí)器和計(jì)數(shù)器均保持運(yùn)行,直到TSCR($06)的TEN位和MCCTL($26)的MCEN位被分別清0。Timer模塊介紹2時(shí)間:2009-12-3022:12來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:314次IC通道組IC通道組由四個(gè)標(biāo)準(zhǔn)的緩沖通道IC0-IC3和四個(gè)非緩沖通

37、道IC4-IC7組成,兩部分的基本功能都是捕捉外部事件發(fā)生的時(shí)刻,但是緩沖通道除了ICOC寄存器TCn外,還設(shè)有保持寄存器TCnH,此外還在入口設(shè)置了延遲計(jì)數(shù)器,用來提高抗干擾能力。非緩沖通道沒有保持寄存器,入口也沒有延遲計(jì)數(shù)器,但每個(gè)通道入口設(shè)置了一個(gè)2輸入端的多路器,事件觸發(fā)信號(hào)可以是來自本通道的輸入引腳PORTn,也可以是來自其關(guān)聯(lián)通道PORT(n-4)的延遲計(jì)數(shù)器輸出,使用更加靈活。當(dāng)延遲功能有效時(shí),輸入引腳檢測(cè)到一個(gè)有效的邊沿后,延遲計(jì)數(shù)器開始對(duì)P時(shí)鐘(模塊時(shí)鐘)進(jìn)行計(jì)數(shù),當(dāng)?shù)竭_(dá)設(shè)定的計(jì)數(shù)值后,延遲計(jì)數(shù)器在其輸出端有條件地產(chǎn)生一個(gè)脈沖,這個(gè)條件就是延遲前后的引腳電平相反。這樣可以避免

38、對(duì)窄輸入脈沖做出反應(yīng)。延遲計(jì)數(shù)結(jié)束后,計(jì)數(shù)器自動(dòng)清除。輸入信號(hào)兩個(gè)有效邊沿之間的持續(xù)時(shí)間必須大于設(shè)定的延遲時(shí)間。在ECT中,所有IC通道均設(shè)置了覆蓋保護(hù)功能,可以通過寄存器ICOVW設(shè)置是否允許某個(gè)通道用新的捕捉結(jié)果覆蓋上一個(gè)結(jié)果。對(duì)于緩沖的IC通道PT0-PT3,還具有鎖存與隊(duì)列兩種工作方式。在鎖存方式下,每個(gè)有效的引腳事件只將自由定時(shí)器的值放入捕捉寄存器TCn,而TCn到保持寄存器TCnH的傳送必須依賴遞減模數(shù)計(jì)數(shù)器回0或者其他強(qiáng)制鎖存命令才能實(shí)現(xiàn),這時(shí)IC的工作情形與第6章的TIM模塊相似。在隊(duì)列方式下(圖7-2),TCn與TCnH形成了一個(gè)類似先進(jìn)先出的隊(duì)列,每個(gè)捕捉結(jié)果從TCn進(jìn)入,

39、然后隨著下一個(gè)捕捉結(jié)果的到來移入TCnH,程序可以從TCnH取得結(jié)果,然而這個(gè)隊(duì)列是開放的,即程序也可以直接從TCn取得捕捉結(jié)果。隊(duì)列方式為CPU提供了充分的響應(yīng)時(shí)間。由于PAC0-3與IC0-3共享相同的引腳,而且共享入口的邏輯,因此在兩種方式下,PAI與IC都可以同時(shí)工作,對(duì)同一引腳進(jìn)行記錄,前者記錄脈沖或者邊沿的數(shù)量,后者記錄具體的時(shí)刻。模數(shù)遞減計(jì)數(shù)器16位遞減模數(shù)計(jì)數(shù)器(MDC)可以用作時(shí)鐘基準(zhǔn),產(chǎn)生周期性的中斷請(qǐng)求,也可用于將IC寄存器和脈沖累加器的值鎖存到各自的保持寄存器中。鎖存動(dòng)作可以通過程序設(shè)定為周期性的或一次性的。MDC的時(shí)鐘頻率可通過獨(dú)立的定標(biāo)器設(shè)定,內(nèi)部設(shè)有定時(shí)常數(shù)寄存器

40、,可以實(shí)現(xiàn)自動(dòng)重裝載,但MDC的常數(shù)寄存器與MDC計(jì)數(shù)器使用相同的地址,加載時(shí)通過特殊的時(shí)序?qū)崿F(xiàn)。每當(dāng)MDC回0時(shí),將在給定的時(shí)間段內(nèi)控制貯和PAI寄存器的內(nèi)容向各自的緩沖寄存器傳輸。反映了MDC在IC、PAI系統(tǒng)中的作用。脈沖累加器脈沖累加器由4個(gè)8位的通道PAC0-PAC3組成,可以通過級(jí)聯(lián)形成兩個(gè)16位通道PACA、PACB,它可以統(tǒng)計(jì)輸入引腳上出現(xiàn)的有效邊沿的數(shù)量,也可以統(tǒng)計(jì)有效電平出現(xiàn)的累計(jì)時(shí)間。各個(gè)通道的8位保持寄存器是與4個(gè)緩沖IC通道相關(guān)聯(lián)的,它們共享邊沿檢測(cè)與延遲電路。當(dāng)IC工作在兩種不同的隊(duì)列方式時(shí),PAC保持寄存器也處于不同的工作狀態(tài),在鎖存方式下,PCnH的加載依靠MD

41、C計(jì)數(shù)器或者強(qiáng)制命令實(shí)現(xiàn),而在隊(duì)列方式下,則依靠IC通道的TCnH讀命令??梢娫贓CT模塊下,IC與PAI的工作聯(lián)系更加緊密。此外,脈沖累加器還有飽和記憶功能,當(dāng)8位的脈沖累加器計(jì)數(shù)超過$FF后記憶保持,而不回滾到0,這時(shí),計(jì)數(shù)值$FF意味著計(jì)數(shù)已經(jīng)達(dá)到或超過255,如不需要,該功能可以關(guān)閉。這可以用來監(jiān)視某個(gè)通道的計(jì)數(shù)值是否已經(jīng)達(dá)到預(yù)定的目標(biāo)值。值得注意的是,PACl、PAC0級(jí)聯(lián)后,輸入引腳為PT0,而PAC3、PAC2級(jí)聯(lián)后,輸入引腳并不是PT2,而是PT7,這樣可以與那些無ECT的MCU保持一致性。Timer寄存器說明1TSCR1、2時(shí)間:2009-12-3123:42來源:電子設(shè)計(jì)吧

42、作者:dzsj8點(diǎn)擊:391次1、定時(shí)器/計(jì)數(shù)器系統(tǒng)控制寄存器1(TSCR1)寄存器偏移量:$0006Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TENTSWAITSFRZTFFCA0000可在任何時(shí)候讀或?qū)?。TSCR1寄存器是定時(shí)器模塊的總開關(guān),它決定模塊是否啟動(dòng)以及在中斷等待、BDM方式下的行為,還包括標(biāo)志的管理方式。其各位的意義如下:TEN:定時(shí)器使能位,此外它還控制定時(shí)器的時(shí)鐘信號(hào)源。要使用定時(shí)器模塊的ICOC功能,必須將TEN置位。如果因?yàn)槟撤N原因定時(shí)器沒有使能,脈沖累加器也將得不到ECLK64時(shí)鐘,因?yàn)镋CLK64是由定時(shí)器的分頻器產(chǎn)生的,這種情況下,脈沖累加器

43、將不能進(jìn)行引腳電平持續(xù)時(shí)間的累加。0:定時(shí)器/計(jì)數(shù)器被禁止,有利于降低功耗。1:定時(shí)器/計(jì)數(shù)器使能,正常工作。TSWAI:等待模式下計(jì)時(shí)器關(guān)閉控制位?!咀⒁狻慷〞r(shí)器中斷不能用于使MCU退出等待模式。0:在中斷等待模式下允許MCU繼續(xù)運(yùn)行。1:當(dāng)MCU進(jìn)入中斷等待模式時(shí),禁止計(jì)時(shí)器。TSFRZ:在凍結(jié)模式下計(jì)時(shí)器和計(jì)數(shù)器停止位。0:在凍結(jié)模式下允許計(jì)時(shí)器和計(jì)數(shù)器繼續(xù)運(yùn)行。1:在凍結(jié)模式下禁止計(jì)時(shí)器和計(jì)數(shù)器,用于仿真調(diào)試?!咀⒁狻縏SFRZ不能停止脈沖累加。TFFCA:定時(shí)器標(biāo)志快速清除選擇位。0:定時(shí)器標(biāo)志普通清除方式。1:對(duì)于TFLGl($0E)中的各位,讀輸入捕捉寄存器或者寫輸出比較寄存器會(huì)

44、自動(dòng)清除相應(yīng)的標(biāo)志位CnF。對(duì)于TFLG2($0F)中的各位,任何對(duì)TCNT寄存器($04、$05)的訪問均會(huì)清除TOF標(biāo)志;任何對(duì)PACN3和PACN2寄存器($22,$23)的訪問都會(huì)清除PAFLG寄存器($21)中的PAOVF和PAIF位。任何對(duì)PACN1和PACN0寄存器($24,$25)的訪問都會(huì)清除PBFLG寄存器($21)中的PBOVF位?!菊f明】這種方式的好處是削減了另外清除標(biāo)志位的軟件開銷。此外,必須特別注意避免對(duì)標(biāo)志位的意外清除。2、計(jì)時(shí)器系統(tǒng)控制寄存器2(TSCR2)寄存器偏移量:$000DBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TOI000TCR

45、EPR2PR1PR0可在任何時(shí)候讀或?qū)?。TOI:定時(shí)器/計(jì)時(shí)器溢出中斷使能。0:中斷被禁止。1:當(dāng)TOF標(biāo)志被置位時(shí)發(fā)出硬件中斷請(qǐng)求。【注意】TOF標(biāo)志位在TFLG中TCRE:定時(shí)器/計(jì)數(shù)器復(fù)位使能。該位在通道7成功輸出比較之后允許時(shí)鐘計(jì)數(shù)器復(fù)位。該操作模式類似于遞增型計(jì)數(shù)器。0:計(jì)數(shù)器復(fù)位禁止,計(jì)數(shù)器自由計(jì)數(shù)。1:通道7成功輸出比較后計(jì)數(shù)器將被復(fù)位?!菊f明】如果TC7=$0000并且TCRE=1,TCNT將繼續(xù)保持$0000。如果TC7=$FFFF并且TCRE=1,當(dāng)TCNT從$FFFF到$0000之間被復(fù)位后TOF將永遠(yuǎn)不被置位。PR2,PR1,PR0:計(jì)數(shù)器預(yù)分頻選擇。這三位所決定的分頻

46、因子如下表所示。分頻因子選擇PR2PR1PR0PrescaleFactor0001001201040118100161013211064111128【說明】新設(shè)定的分頻因子不會(huì)立即起作用,直到下一個(gè)觸發(fā)沿到來那里所有預(yù)分頻計(jì)數(shù)器值均為零。Timer寄存器說明2TCTLl-TCTL4時(shí)間:2010-01-0713:03來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:235次3、控制寄存器(TCTLl-TCTL4)TCTLl-TCTL4分為兩組,分別對(duì)IC和OC電路進(jìn)行設(shè)定,每組16個(gè)二進(jìn)制位,每?jī)蓚€(gè)二進(jìn)制位管理一個(gè)通道。其中TCTLl、TCTL2設(shè)定各個(gè)OC通道匹配時(shí)的動(dòng)作,包括切斷OC與輸出引腳的聯(lián)系,

47、而TCTL3、TCTL4設(shè)定IC響應(yīng)引腳的何種動(dòng)作,包括禁止IC的響應(yīng)。TCTL1寄存器偏移量:$0008Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0OM7OL7OM6OL6OM5OL5OM4OL4TCTL2寄存器偏移量:$0009Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0OM3OL3OM2OL2OM1OL1OM0OL0可在任何時(shí)候讀或?qū)憽Mn、OLn分別設(shè)定輸出方式和輸出電平,這8對(duì)控制位(OM7、OL7-OMO、OL0)編碼后用于指定通道比較成功后的輸出動(dòng)作。如果每對(duì)當(dāng)中至少有一個(gè)為1,對(duì)應(yīng)引腳就固定為相應(yīng)通道的輸出,而與DDRT中的對(duì)應(yīng)位無關(guān)。

48、當(dāng)二者同時(shí)為0時(shí),OC與輸出引腳斷開。輸出比較動(dòng)作設(shè)置OMnOLn動(dòng)作00定時(shí)器與引腳斷開01OCn輸出翻轉(zhuǎn)10OCn輸出清零11OCn輸出置1TCTL3寄存器偏移量:$000ABit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0EDG7BEDG7AEDG6BEDG6AEDG5BEDG5AEDG4BEDG4ATCTL4寄存器偏移量:$000BBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0EDG3BEDG3AEDG2BEDG2AEDG1BEDG1AEDG0BEDG0A可在任何時(shí)候讀或?qū)?。各個(gè)控制位的作用如下:EDGnB、EDGnA輸入捕捉邊沿控制位,這8對(duì)控制位(E

49、DG7B、EDG7AEDG0B、EDG0A)對(duì)輸入捕捉的邊沿檢測(cè)電路進(jìn)行設(shè)置。當(dāng)二者同時(shí)為0時(shí),IC與輸入引腳斷開。輸入捕捉邊沿檢測(cè)電路設(shè)置EDGnBEDGnA邊沿檢測(cè)電路設(shè)置00禁止捕捉01捕捉上升沿10捕捉下降沿11上升沿下降沿均捕捉【注意】為了使OMn、OLn指定的引腳動(dòng)作有效,OC7M中的對(duì)應(yīng)位必須清0。若要使用16位脈沖累加器A和B,并使它們分別獨(dú)立于ICOC7和ICOC0,必須設(shè)置對(duì)應(yīng)的IOSn:1、OMn=0、OLn=0,同時(shí)寄存器OC7M中的OC7M7、OC7M0位必須清0。Timer寄存器說明3TFLG1/2、TIE時(shí)間:2010-01-0815:10來源:電子設(shè)計(jì)吧作者:d

50、zsj8點(diǎn)擊:263次4、主定時(shí)器中斷標(biāo)志寄存器(TFLG1、TFLG2)TFLG1寄存器偏移量:$000EBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0C7FC6FC5FC4FC3FC2FC1FC0FTFLG2寄存器偏移量:$000FBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TOF0000000所示的TFLG1、TFLG2為中斷標(biāo)志寄存器,其中TFLG1對(duì)應(yīng)8個(gè)ICOC通道,當(dāng)某CnF=1時(shí)說明對(duì)應(yīng)的ICOC通道有動(dòng)作,表明該通道有中斷事件發(fā)生。TFLG2只有一個(gè)標(biāo)志位TOF,作為核心計(jì)數(shù)器的中斷請(qǐng)求標(biāo)志。當(dāng)TOF=1時(shí)說明核心計(jì)數(shù)器溢出。要清除某個(gè)標(biāo)

51、志位,只需向該位寫1,向某位寫0不影響該位的狀態(tài)。當(dāng)TSCR中的TFFCA位置位時(shí),讀IC通道或?qū)慜C通道($10-$1F)將自動(dòng)清除該通道標(biāo)志CnF,對(duì)TCNT的任何訪問將自動(dòng)清除TFLG2。CnF:ICOC通道中斷請(qǐng)求標(biāo)志。0:上次清除標(biāo)志以來,ICOC通道沒有有效動(dòng)作。1:ICOC通道已經(jīng)出現(xiàn)動(dòng)作。將寄存器ICSYS($2B)中的TFMOD位和ICOVW寄存器($2A)聯(lián)合使用,可以使定時(shí)器在兩次捕捉后才產(chǎn)生中斷,而不是每次捕捉均產(chǎn)生動(dòng)作。兩次捕捉結(jié)果分別在捕捉和保持寄存器里面。TOF:定時(shí)器溢出標(biāo)志,當(dāng)16位自由定時(shí)器從$FFFF回滾到$0000時(shí),該位置位。將$80寫入到TFLG2將

52、自動(dòng)清除該位(寫1清零)。詳見前面關(guān)于TMSK2中TCRE控制位的解釋。5、計(jì)時(shí)器中斷使能寄存器(TIE)寄存器偏移量:$000CBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0C7IC6IC5IC4IC3IC2IC1IC0I可在任何時(shí)候讀或?qū)?。TIE寄存器中的位與狀態(tài)寄存器TFLG1中的標(biāo)志位相對(duì)應(yīng)。如果將TIE中的某位清0,相應(yīng)的標(biāo)志位就不能引起硬件中斷。如果被置1,相應(yīng)的標(biāo)志位就可以引起中斷。C7I-C0I:輸入捕捉/輸出比較“x”中斷使能。Timer寄存器說明4TIOS、TC0-TC7時(shí)間:2010-01-0923:35來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:242次6、

53、ICOC選擇寄存器(TIOS)寄存器偏移量:$0000Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0IOS7IOS6IOS5IOS4IOS3IOS2IOS1IOS0TIOS寄存器用于指定各個(gè)通道的功能,即工作于IC還是OC方式。當(dāng)某位IOSn=0時(shí),對(duì)應(yīng)的通道n為輸入捕捉(1C)通道,否則當(dāng)IOSn=1時(shí),通道n為輸出比較(OC)通道。其中的各位可以在任何時(shí)候?qū)懭牖蜃x出?!菊f明】上電后該寄存器默認(rèn)為$00,TSCR中的TEN默認(rèn)也為0,這時(shí)所有通道處于通用IO方式,將TEN置位后各個(gè)通道進(jìn)入IC方式,要將某些通道設(shè)置成OC方式,必須對(duì)TIOS進(jìn)行設(shè)置,即將有關(guān)位置1。設(shè)置成O

54、C的通道其引腳具有降功率驅(qū)動(dòng)功能,設(shè)置成IC的通道具有內(nèi)部上拉功能,但上電后均處于關(guān)閉狀態(tài),可以根據(jù)需要啟用。7、ICOC寄存器(TC0-TC7)每個(gè)IC或OC通道都設(shè)置有一個(gè)16位的寄存器,對(duì)于IC(輸入捕捉)通道,當(dāng)通道的邊沿探測(cè)器檢測(cè)到由EDGnA、EDGnB指定的條件時(shí),將自由定時(shí)器的值捕捉到寄存器TCn,隨后程序可以讀取和處理;對(duì)于OC(輸出比較)通道,程序?qū)㈩A(yù)定的時(shí)刻寫入到TCn,當(dāng)自由定時(shí)器的值與其相等時(shí),觸發(fā)由OMn、OLn所指定的輸出動(dòng)作。定時(shí)器模塊共有TC7-TC0等8個(gè)16位ICOC寄存器。TC0寄存器偏移量:$0010-$0011Bit15Bit14Bit13Bit12

55、Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TC1寄存器偏移量:$0012-$0013Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TC2寄存器偏移量:$0014-$0015Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TC3寄存器偏移量:$0016-$0017Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6B

56、it5Bit4Bit3Bit2Bit1Bit0TC4寄存器偏移量:$0018-$0019Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TC5寄存器偏移量:$001A-$001BBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TC6寄存器偏移量:$001C-$001DBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TC7寄

57、存器偏移量:$001E-$001FBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Timer寄存器說明5TCNT、OC7M時(shí)間:2010-01-1219:43來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:326次8、定時(shí)器核心寄存器(TCNT)寄存器偏移量:$0004-$0005Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0TCNT是遞增計(jì)數(shù)器,它不停地對(duì)內(nèi)部時(shí)鐘信號(hào)計(jì)數(shù)、程序可隨時(shí)讀取,但在普通模式下禁止寫入。TCN

58、T應(yīng)按字訪問,分別訪問高、低字節(jié)可能得到錯(cuò)誤的結(jié)果?!菊f明】在特殊模式下,TCNT可寫,但因?yàn)閷懖僮髋c預(yù)分頻器時(shí)鐘不同步,TCNT寄存器寫入后,其第一個(gè)周期可能是一個(gè)不同的值。9、輸出比較通道7屏蔽寄存器(OC7M)寄存器偏移量$0002Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0OC7M7OC7M6OC7M5OC7M4OC7M3OC7M2OC7M1OC7M0可在任何時(shí)候讀或?qū)?。前面已?jīng)說明,OC7具有特殊地位,它匹配時(shí)可以直接改變其他7個(gè)輸出引腳的狀態(tài),并覆蓋各個(gè)引腳原來的匹配動(dòng)作結(jié)果,寄存器OC7M決定哪些通道將處于OC7的管理之下。OC7M中的各位與PORTT口寄存器

59、的各位一一對(duì)應(yīng)。當(dāng)通過TIOS將某個(gè)通道設(shè)定為輸出比較時(shí),將OC7M中的相應(yīng)位置1,對(duì)應(yīng)的引腳就是輸出狀態(tài),與DDR中的對(duì)應(yīng)位的狀態(tài)無關(guān)。但OC7Mn并不改變DDR相應(yīng)位的狀態(tài)。OC7M具有更高的優(yōu)先級(jí),它優(yōu)于通過TCTL1和TCTL2寄存器中的OMn和OLn設(shè)定的引腳動(dòng)作,若OC7M中某個(gè)位置1,就會(huì)阻止相應(yīng)引腳上由OM和OL設(shè)定的動(dòng)作。10、輸出比較通道7數(shù)據(jù)寄存器(OC7D)寄存器偏移量:$0003Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0OC7D7OC7D6OC7D5OC7D4OC7D3OC7D2OC7D1OC7D0可在任何時(shí)候讀或?qū)?。OC7M對(duì)于其他OC輸出引腳

60、的管理限于將某個(gè)二進(jìn)制值送到對(duì)應(yīng)引腳,這個(gè)值保存在寄存器OC7D中的對(duì)應(yīng)位中。當(dāng)OC7匹配成功后,若某個(gè)OC7Mn=1,則內(nèi)部邏輯將OC7Dn送到對(duì)應(yīng)引腳。OC7D中的各位與PORTT口寄存器的各位一一對(duì)應(yīng)。當(dāng)通道7比較成功時(shí),如果OC7M中的某個(gè)位為1,OC7D中的對(duì)應(yīng)位將被輸出到PORTT的對(duì)應(yīng)引腳。當(dāng)OC7M中的某個(gè)位為1時(shí),通道7匹配成功的動(dòng)作如果與通道6-0的動(dòng)作發(fā)生在同一個(gè)周期,前者將覆蓋后者。因此各個(gè)通道的動(dòng)作將依賴于OC7D中各個(gè)位的設(shè)置。Timer模塊應(yīng)用實(shí)例1時(shí)間:2010-01-1320:43來源:電子設(shè)計(jì)吧作者:dzsj8點(diǎn)擊:285次輸入捕捉(IC)編程步驟:初始化函

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論