版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
來(lái)源:電子設(shè)計(jì)整理:大學(xué)生電子設(shè)計(jì)s歡迎?。?!手把你寫S12XS128程序--模塊介該以MC9S12XS128單片機(jī)為進(jìn)行講解,全面闡釋該16位單片機(jī)資源。本文為第一講,開(kāi)始介紹該MCU的模塊。調(diào)制波有8個(gè)輸出通道,每一個(gè)輸出通道都可以獨(dú)立的進(jìn)行輸出。每一個(gè)輸出通道都有一個(gè)精確的計(jì)數(shù)器(計(jì)算脈沖的個(gè)數(shù),一個(gè)周期控制寄存器和兩個(gè)可供選擇的時(shí)鐘源每一個(gè)輸出通道都能調(diào)制出占空比從0—100%變化的波形。的主要特點(diǎn)有:1、它有823、每一個(gè)通道 輸出使能都可以由編程來(lái)控制4、輸出波形的翻轉(zhuǎn)控制可以通過(guò)編程來(lái)實(shí)現(xiàn) 計(jì)數(shù)器為0時(shí),改6、8字節(jié)或16S時(shí)鐘頻率。89101 啟動(dòng)寄存器E寄存器每一位如圖1復(fù)位默認(rèn)值:0000圖1E每一個(gè)的輸出通道都有一個(gè)使能位Ex。它相當(dāng)于一個(gè)開(kāi)關(guān),用來(lái)啟動(dòng)和關(guān)閉相應(yīng)通道的波形輸出。當(dāng)任意的Ex位置1,則相關(guān)的輸出通道就立刻可用。用法:E7=17E7=07工作在串聯(lián)模式時(shí)(CTLCONxx1),那么使能相應(yīng)的16位輸出通道是由Ex的控制的,例如:設(shè)能位控制的輸出。2、時(shí)鐘選擇寄存器CLK3復(fù)位默認(rèn)值:0000圖2CLK寄存S12的共有四個(gè)時(shí)鐘源,每一個(gè)輸出通道都有兩個(gè)時(shí)鐘可供選擇(ClockA、ClockSAClockB、ClockSB)0、1、4、5通道可選ClockA和ClockSA,2、3、6、7ClockB、ClockSB通道。該寄用法PCLK0=10(PTP0)PCLK2=0---通道2(PTP2)的時(shí)鐘源設(shè)為ClockB 預(yù)分頻寄存器PRCLKPRCLK3復(fù)位默認(rèn)值:0000圖 PRCLK寄存PRCLKClockAClockBClockA、ClockB1/2n(0≤n≤7),4圖4ClockA圖5ClockB預(yù)分頻設(shè)置 是對(duì)ClockB進(jìn)行預(yù)分頻。 是對(duì)ClockA進(jìn)行預(yù)分頻。 分頻寄存器SCLA、 SCLA寄存器每一位如圖6所示:圖 SCLA寄存ClockSA是通過(guò)對(duì)SCLA寄存器的設(shè)置來(lái)對(duì)ClockA進(jìn)行分頻而產(chǎn)生 ClockSA=ClockA/(2*SCLB寄存器與SCLA寄存器相似,ClockSB就是通過(guò)對(duì)SCLB寄存器的設(shè)置來(lái)對(duì)ClockB進(jìn)行分頻而產(chǎn)生的。其計(jì)算為:ClockSB=ClockB/(2*SCLB)POLPOL70~7用法:POL_PPOL0=1---通道0在周期開(kāi)始時(shí)輸出為高電平,2 波形對(duì)齊寄存 CAE寄存器每一位如圖8圖 CAE寄存CAE寄存器包含8個(gè)控制位來(lái)對(duì)每個(gè)通道設(shè)置左對(duì)齊輸出用法 CAE_CAE0=1---通道0中心對(duì)齊輸CAE_CAE7071CTL寄存器每一位如圖91CTL寄存器每一位如圖9圖 CTL寄存10111011CTL_CON67=1---通道6、7級(jí)聯(lián)成一個(gè)16位 時(shí)只有7通道的控制字起作用,原通道7的使能位、 時(shí)鐘選擇控制位以及對(duì)齊方式選擇位用來(lái)設(shè)置級(jí)聯(lián)后的輸出特性CTL_CON67=0---通道6,7CON45、CON23、CON01CON67相似。設(shè)置此控制字的意義在于擴(kuò)大了對(duì)外輸出脈沖的頻率范圍。不會(huì)因時(shí)鐘在空操作而費(fèi)電;當(dāng)它置為0,則MCU就是處于等待狀態(tài),也S12微控制器模塊是由獨(dú)立運(yùn)行的8位脈沖計(jì)數(shù)器 器PER和DTY組成。1在該方式下,脈沖計(jì)數(shù)器為循環(huán)遞增0。當(dāng)使能后,計(jì)數(shù)器T從0開(kāi)始對(duì)時(shí)鐘信號(hào)遞增計(jì)數(shù),開(kāi)始一個(gè)輸出周期。當(dāng)計(jì)數(shù)值與占空比常數(shù)寄存器DTY相等時(shí),比較器1輸出有效,將觸發(fā)器置位而T繼續(xù)計(jì)數(shù)當(dāng)計(jì)數(shù)值與周期常數(shù)寄存器PER相等時(shí)比較器2輸出有效,將觸發(fā)器復(fù)位,同時(shí) T也復(fù)位,結(jié)束一個(gè)輸出周期。原理參照?qǐng)D14:圖 左對(duì)齊方2在該方式下,脈沖計(jì)數(shù)器為雙向計(jì)數(shù)0。當(dāng)使能后,計(jì)數(shù)器T從0開(kāi)始對(duì)時(shí)鐘信號(hào)遞增計(jì)數(shù),開(kāi)始輸出一個(gè)周期。當(dāng)計(jì)數(shù)器與占空比常數(shù)寄存器DTY相等時(shí),比較器1輸出有效,觸發(fā)器翻轉(zhuǎn),而T繼續(xù)計(jì)數(shù),當(dāng)計(jì)數(shù)值與周期常數(shù)PER相等時(shí),比較器2輸出有效此時(shí)改變T的計(jì)數(shù)方向使其遞解計(jì)數(shù)當(dāng)T再次與DTY1T數(shù),等待T015:圖 中心對(duì)齊方輸出周期=通道周期×輸出周期=通道周期×PERx×2占空比=[(PERx-DTYx)/PERx]×占空比=[DTYx/PERx]×100% Tx寄存器共有88位加/減雙向計(jì)16加減雙向計(jì)數(shù)器。下面以T0為例對(duì)Tx寄存器進(jìn)行介紹。T012圖 T0寄存響計(jì)數(shù),也不影響對(duì)通道的操作。 T0寄存器都會(huì)導(dǎo)致計(jì)數(shù)器復(fù)位置0,且其計(jì)數(shù)方向會(huì)被設(shè)置為向上計(jì)數(shù)并且會(huì)立刻從緩沖器載入任務(wù)和周期值并會(huì)根據(jù)翻轉(zhuǎn)極性的設(shè)置來(lái)改變輸出。當(dāng)計(jì)數(shù)器達(dá)到計(jì)數(shù)值后,會(huì)自動(dòng)。只有當(dāng)通道2 通道周期寄存 PERx寄存器共有8個(gè)寄存器的值就決定了相關(guān)通道的周期每一個(gè)通道的周期寄存器都是雙緩沖的,因此如果當(dāng)通道使能后,改變他們的值,將不會(huì)發(fā)生任何作**對(duì)計(jì)數(shù)器進(jìn)行寫操作(計(jì)數(shù)器復(fù)位*通道不可用(Ex=這樣就會(huì)使輸出波形要么是新波形要么是舊波形并不會(huì)在兩者之接圖表導(dǎo)致周期寄存器同緩沖器一起閉鎖。圖13所示的 PER0寄圖 PER0寄存3 通道占空比寄存 DTYx8個(gè),每一個(gè)通道都有一個(gè)這樣的占空比常數(shù)寄存器這個(gè)寄存器的值就決定了相關(guān)通道輸出波形的占空比每一**對(duì)計(jì)數(shù)器進(jìn)行寫操作(計(jì)數(shù)器復(fù)位*通道不可用 Ex=這樣就會(huì)使輸出波形要么是新波形要么是舊波形并不會(huì)在兩者之當(dāng)計(jì)數(shù)值與占空比常數(shù)DTY器置位,然后TPER相等時(shí),比較TS12微控制器模塊是由獨(dú)立運(yùn)行的8位脈沖計(jì)數(shù)器 器PER和DTY組成。1在該方式下,脈沖計(jì)數(shù)器為循環(huán)遞增0。當(dāng)使能后,計(jì)數(shù)器 T從0開(kāi)始對(duì)時(shí)鐘信號(hào)遞增計(jì)數(shù),開(kāi)始一個(gè)輸出周期。當(dāng)計(jì)數(shù)值與占空比常數(shù)寄存器DTY相等時(shí),比較器1輸出有效,將 T繼續(xù)計(jì)數(shù)當(dāng)計(jì)數(shù)值與周期常數(shù)寄存器PER相等時(shí),比較器2輸出有效,將觸發(fā)器復(fù)位,同時(shí) T也復(fù)位,結(jié)束一個(gè)輸出周期。原理參照?qǐng)D14:圖14左對(duì)齊方2在該方式下,脈沖計(jì)數(shù)器為雙向計(jì)數(shù)0。當(dāng)使能后,計(jì)數(shù)器T從0開(kāi)始對(duì)時(shí)鐘信號(hào)遞增計(jì)數(shù),開(kāi)始輸出個(gè)周期。當(dāng)計(jì)數(shù)器與占空比常數(shù)寄存器DTY相等時(shí),比較器1輸出有效,觸發(fā)器翻轉(zhuǎn),而T繼續(xù)計(jì)數(shù),當(dāng)計(jì)數(shù)值與周期常數(shù)PER相等時(shí),比較器2輸出有效此時(shí)改變T的計(jì)數(shù)方向使其遞解計(jì)數(shù)當(dāng)T再次與DTY1T數(shù),等待T015:圖 中心對(duì)齊方輸出周期=通道周期×輸出周期=通道周期×PERx×2占空比=[(PERx-DTYx)/PERx]×占空比=[DTYx/PERx]×初始化步驟總結(jié)1 E=2、選擇時(shí) 3、選擇極 4、選擇對(duì)齊方 5、選擇占空比和周 6、使 E=1//功能說(shuō)明:MC9S12XS128--例//使用說(shuō)明:實(shí)現(xiàn)通道3(PTP3)輸出頻率為1KHz,占空比為50%的,用示//程序設(shè)計(jì):電子設(shè)計(jì)吧 #include<hidef.h> /*commondefinesandmacros*/#include /*derivative-specificdefinitions 初始化函 //-----時(shí)鐘初始化程 void while(!(CRG }//-----初始化程 void{E_E3=0x00;//Disable00110011SB=B/2/15 Duty=HighLeft-noDutycycle=E_ //Enable使}void{
主函 /*putyourowncodehere*/for(;;){_FEED_COP();/*feedsthedog}/*loopforever/*pleasemakesurethatyouneverleavemain}手把你寫S12XS128程序--A/D轉(zhuǎn)換模塊介1、A/DA/D后轉(zhuǎn)換為數(shù)字格式。一般取樣與保持過(guò)程是同時(shí)完成的,取樣-保持電路的原理圖如圖16所示,由輸入放大器A1、輸出放大器A2、保持電容CH和電子開(kāi)關(guān)S組成,要求AV1*AV2= 1。原理是:當(dāng)開(kāi)關(guān)S閉合時(shí),電路處于取樣階段,電容器充電,由于AV1*AV2= 1,所以輸出等于輸入;當(dāng)開(kāi)關(guān)S斷開(kāi)時(shí),由于A2輸入阻抗較大而且開(kāi)關(guān)理想,可認(rèn)為CH沒(méi)有放電回路,輸出電壓保持不16足夠的時(shí)間內(nèi)保持抽樣值恒定,以保證輸出值可以被A/D轉(zhuǎn)換器精確轉(zhuǎn)2、A/D分辨率說(shuō)明A/D轉(zhuǎn)換器對(duì)輸入信號(hào)的分辨能力,理論上,n位A/D器能區(qū)分的輸入電壓的最小值為滿量程的1/2n。也就是說(shuō),在參考電壓一S12的ATD模塊中,819.53mV。A/D(ns級(jí))、逐次近型(轉(zhuǎn)換速度適中us級(jí))、雙積分型(速度慢能力強(qiáng))。不同類型的轉(zhuǎn)化的A/D轉(zhuǎn)換器轉(zhuǎn)換時(shí)間不盡相同,S12的ATD模塊中,86us,107us。輸入通道,屬于逐次近型A/D轉(zhuǎn)換器(這個(gè)轉(zhuǎn)換過(guò)程與用天平稱物的原理相117A/D17A/D模塊的功能結(jié)構(gòu),這個(gè)功能模塊被虛線劃分成為圖示所示的虛線所的三個(gè)部分:IP總線接口、轉(zhuǎn)換模式控制/寄存器列表,IP總線接口負(fù)責(zé)該模塊與總線的連接,實(shí)現(xiàn)A/D模塊和通用I/O的目的,還起到分頻的作用;運(yùn)行和連續(xù)掃描。所需的模擬量和數(shù)字量。2HCS12中A/D8/10位精度7us,10-位單次轉(zhuǎn)換時(shí)間.采樣緩沖放大器可編程采樣時(shí)間;左/右對(duì)齊, 模式;多通道掃描方式。ATD模塊有模擬量前端、模擬量轉(zhuǎn)換、控制部分及結(jié)果等四部分組成。其中模擬前端包括多路轉(zhuǎn)換開(kāi)關(guān)采樣緩沖器放大器等結(jié)果部分主要有8個(gè)16位的器和反映工作狀態(tài)的若干標(biāo)志位。1、ATD0控制寄存器2---ATD0CTL2ATD0的啟動(dòng)、狀態(tài)標(biāo)志以及上電模式,對(duì)寄存器進(jìn)行寫操作時(shí),將中斷當(dāng)前的轉(zhuǎn)化過(guò)程。寄存器ATD0CTL218所示:圖 ATD0CTL2寄存ADPU:A/D使能控制位,相當(dāng)于一個(gè)開(kāi)關(guān),用來(lái)啟動(dòng)/A/D轉(zhuǎn)1=A/D0=A/D,以減少功 快速轉(zhuǎn)換完成標(biāo)志位1 快速標(biāo)志位順序,每次結(jié)果寄存器自動(dòng)0 正常標(biāo)志位順序,需要軟件方式對(duì)狀態(tài)標(biāo)志位 1 等待模式下,ATD0 等待模式下,ATDETRIGP、ETRIGLE、xx0001011101111【注意】ETRIGEAN7AN7接收到外部觸發(fā)時(shí),啟動(dòng)A/D轉(zhuǎn)換,否則不進(jìn)行轉(zhuǎn)換。0--忽略外部觸發(fā);1--有外部觸發(fā)時(shí)開(kāi)始轉(zhuǎn)換,此時(shí)AN7不能用于A/D轉(zhuǎn)換。 1=允許ATD0=ATD中ASCIF:A/D10=2、ATD03---ATD0CTL3主要控制結(jié)果寄存器的映射,設(shè)置轉(zhuǎn)換序列的長(zhǎng)度,還可以暫時(shí)凍結(jié)ATD0模塊,尤其確定ATD0在BDM狀態(tài)下的行為。寄存器ATD0CTL3如圖19所示:圖 ATD0CTL3寄存S1C、S2C、S4C、S8C【注意】ATD的每次啟動(dòng)要進(jìn)行若干次掃描循環(huán),每次掃描循環(huán)稱為一個(gè)轉(zhuǎn)換 FIFOFIFO1 0 FRZ0、FRZ1:背景調(diào)試凍結(jié)控制IgnoreIZE(凍結(jié)模式下繼續(xù)轉(zhuǎn)換(凍結(jié)模式下保留Finish thenze(完成轉(zhuǎn)換后凍結(jié)zeImmediay(凍結(jié)模式下立刻凍結(jié)3、ATD04---ATD0CTL48位/10位轉(zhuǎn)換方式。寄存器ATD0CTL420圖 ATD0CTL4寄存SRES8A/D1=將到的模擬量以8位二進(jìn)制數(shù)表0=將到的模擬量以10位二進(jìn)制數(shù)表SMP0、SMP1采樣時(shí)間SMP2A/D時(shí)鐘4A/D時(shí)鐘8A/D時(shí)鐘16A/D時(shí)鐘PPS[0:4]:5分頻系數(shù)從2到A/D時(shí)鐘計(jì)算:ATDClock=BusClock/(PRS+1)×A/D【注意】對(duì)于AD轉(zhuǎn)換來(lái)說(shuō),它的轉(zhuǎn)換周期包括采樣時(shí)間和運(yùn)算時(shí)間。如果AD4、ATD04---ATD0CTL5/多通道轉(zhuǎn)換和單次/連續(xù)轉(zhuǎn)換模式以及對(duì)齊方式。寄存器ATD0CTL5205、ATD05---ATD0START0、ATD0START0A/D轉(zhuǎn)換是否結(jié)束、是否有外部觸發(fā)等;ATD0START1ATD0START0、ATD0START121SCF(SCAN=(SCAN1),當(dāng)AFFC0,寫1。ETORF如果在轉(zhuǎn)換過(guò)程中高/低電平出現(xiàn),置位當(dāng)結(jié)果寄存器在讀出之前已經(jīng)被寫入時(shí),置位(CCF沒(méi)有)CC[2:0]轉(zhuǎn)換計(jì)數(shù)器---3CCF7CCF0---獨(dú)立通道轉(zhuǎn)換完成標(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í)例要讓ATD開(kāi)始轉(zhuǎn)換工作,必須經(jīng)過(guò)以下三個(gè)步驟:ADPU1ATDADPU1,然后通過(guò)控2程序描述:由通道ATD0進(jìn)行單通道A/D轉(zhuǎn)換,轉(zhuǎn)換值在B口顯示#include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dg128.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dg128b"/******定義變量wordAD_wValue;//AD/*時(shí)鐘初始化void }/*AD初始化*/voidAD_Init(void){ //啟動(dòng)A/D,快速,無(wú)等待模式,外部觸發(fā),中斷 //轉(zhuǎn)換序列長(zhǎng)度為4,No ze模式下繼續(xù)轉(zhuǎn)ATD0CTL4=0x85;8位精度2個(gè)時(shí)鐘 //右對(duì)齊無(wú)符號(hào),單通道采樣,通道0 //數(shù)字輸入}/*AD轉(zhuǎn)換結(jié)果voidAD_GetValue(word{ //結(jié)果寄存器的}voidmain(void){{ //等待轉(zhuǎn)換結(jié) //轉(zhuǎn)換結(jié)PORTB //在B}}手把你寫S12XS128程序(17)--Timer模塊介11MC9S12XS128定時(shí)器模塊與MC9S12DG128ECT部分功能完全類似,以下均以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í)鐘源來(lái)自一個(gè)預(yù)分頻器。該計(jì)時(shí)器可以被應(yīng)用于多個(gè)方面,包括在對(duì)輸入波形進(jìn)量的同時(shí)增強(qiáng)型定時(shí)器模塊(ECT)的結(jié)構(gòu)框圖如下,ECT功能相當(dāng)于高速的I/O口,由一個(gè)4位預(yù)分頻器、一個(gè)16位自由運(yùn)行計(jì)數(shù)器,816位IC/OC通道,21616位模數(shù)遞減計(jì)數(shù)器組成。ECT16位的可編程計(jì)數(shù)器,它的基本時(shí)鐘頻率可以通過(guò)預(yù)分頻2、運(yùn)行模凍結(jié):計(jì)時(shí)器和計(jì)數(shù)器均保持運(yùn)行,直到TSCR($06)的TSFRZ位被置1把你寫S12XS128程序(18)--Timer模塊介紹ICIC通道組由四個(gè)標(biāo)準(zhǔn)的緩沖通道IC0-IC3和四個(gè)非緩沖通道IC4-IC7組成,兩部分的基本功能都是捕捉外部發(fā)生的時(shí)刻,但是緩沖通道除了/OC寄存器TCn外,還設(shè)有保持寄存器TCnH,此外還在設(shè)置了延遲計(jì)數(shù)器,用來(lái)提高能力。非緩沖通道沒(méi)有保持寄存器,也沒(méi)有延遲計(jì)數(shù)器,但每個(gè)通道設(shè)置了一個(gè)2輸入端的多路器,觸發(fā)信號(hào)可以是來(lái)自本通道的輸入引腳PORTn,也可以是來(lái)自其關(guān)道PORT(n-4)的延遲邊沿后,延遲計(jì)數(shù)器開(kāi)始對(duì)P時(shí)鐘(模塊時(shí)鐘)進(jìn)行計(jì)數(shù),當(dāng)?shù)竭_(dá)設(shè)定的計(jì)數(shù)ECTICICOVW對(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)入,然后隨著下一個(gè)捕捉結(jié)果的到來(lái)移入TCnH,程序可以從TCnH取得結(jié)果,然而這個(gè)隊(duì)列是開(kāi)放的,即程序也可以直接從TCn取得捕捉結(jié)果。隊(duì)列方式為CPU提供了充分的響應(yīng)時(shí)間。由于PAC0-3與IC0-3共享相同的引腳,而且共享的邏輯,因此在兩種方式下,PAI與IC都可以同時(shí)工作,對(duì)同一引腳進(jìn)行記錄,前者記錄脈沖或者邊沿的數(shù)量,后者記錄具體的時(shí)刻。模數(shù)16位遞減模數(shù)計(jì)數(shù)器(MDC)可以用作時(shí)鐘基準(zhǔn),產(chǎn)生周期性的中斷請(qǐng)求,也可用于將IC寄存器和脈沖累加器的值鎖存到各自的保持寄存器中。鎖存動(dòng)作可以通過(guò)程序設(shè)定為周期性的或的。MDC的時(shí)鐘頻率可通過(guò)獨(dú)立的定標(biāo)器設(shè)定,內(nèi)部設(shè)有定時(shí)常數(shù)寄存器,可以實(shí)現(xiàn)自動(dòng)重裝載,但MDC的常數(shù)寄存器與MDC計(jì)數(shù)器使用相同的地址,加載時(shí)通過(guò)特殊的時(shí)序?qū)崿F(xiàn)。MDC0PAI寄存器的內(nèi)容向各自的緩沖寄存器傳輸。反映了MDC在IC、PAI系統(tǒng)中的作用。脈沖48PAC0-PAC316PACA、PACB可以統(tǒng)計(jì)有效電平出現(xiàn)的累計(jì)時(shí)間。各個(gè)通道的8位保持寄存器是與4個(gè)緩ICIC工作在兩種不同PAC保持寄存器也處于不同的工作狀態(tài),在鎖存方式下,PCnH的加載依靠MDC計(jì)數(shù)器或者強(qiáng)制命令實(shí)現(xiàn),而在隊(duì)列方式下,則依靠ICTCnHECTICPAI的工作聯(lián)系更加緊此外,脈沖累加器還有飽和功能,當(dāng)8位的脈沖累加器計(jì)數(shù)超過(guò)$FF后保持,而不回滾到0,這時(shí),計(jì)數(shù)值$FF意味著計(jì)數(shù)已經(jīng)達(dá)到或超過(guò)255經(jīng)達(dá)到預(yù)定的目標(biāo)值。值得注意的是,PACl、PAC0級(jí)聯(lián)后,輸入引腳為PT0,而PAC3、PAC2PT2PT7ECTMCU保持一致性。手把你寫S12XS128程序(19)--Timer寄存器說(shuō)10000TSCR1寄存器是定時(shí)器模塊的總開(kāi)關(guān),它決定模塊是否啟動(dòng)以及在中斷等待、BDM方式下的行為,還包括標(biāo)志的管理方式。其各位的意義如下:的IC/OC功能,必須將TEN置位。如果因?yàn)槟撤N原因定時(shí)器沒(méi)有使能,脈ECLK/64ECLK/64是由定時(shí)器的分頻器MCU0MCU1:當(dāng)MCU進(jìn)入中斷等待模式時(shí),計(jì)時(shí)器01:在凍結(jié)模式下計(jì)時(shí)器和計(jì)數(shù)器,用于仿真調(diào)試【注意】TSFRZ不能停止脈沖累加。1:對(duì)于Tl($0E)中的各位,讀輸入捕捉寄存器或者寫輸出比較寄存器會(huì)自動(dòng)清除相應(yīng)的標(biāo)志位CnF。對(duì)于T2($0F)中的各位,任何對(duì)TCNT寄存器 均會(huì)清除TOF標(biāo)志;任何對(duì) 3和 2寄存器 都會(huì)清除PA寄存器($21)中的PAOVF和PAIF位。 1和 0寄存器($24,$25)的都會(huì)清除PB寄存器($21)中的PBOVF位。2、計(jì)時(shí)器系統(tǒng)控制寄存器0001TOF【注意】TOF標(biāo)志位在T7成功輸出比較之后允許時(shí)鐘計(jì)數(shù)器復(fù)位。該操作模式類似于遞增0:計(jì)數(shù)器復(fù)位,計(jì)數(shù)器自由計(jì)數(shù)1:通道7【說(shuō)明】如果TC7=$0000并 T將繼續(xù)保持$0000如果TC7=$FFFF并且 T從$FFFF到$0000之間被復(fù)位后TOF將不被置位。PR2,PR1,PR0:計(jì)數(shù)器預(yù)分頻選擇000100120104011810010手把你寫S12XS128程序(20)--Timer寄存器說(shuō)2TCTLl-TCTL4分為兩組,分別對(duì)IC和OC電路進(jìn)行設(shè)定,每組16個(gè)二進(jìn)TCTLl、TCTL2OC通道匹配時(shí)的動(dòng)作,包括切斷OC與輸出引腳的聯(lián)系,而TCTL3、TCTL4設(shè)定IC響應(yīng)引腳的何種動(dòng)作,包括IC的響應(yīng)。TCTL1TCTL2 分別設(shè)定輸出方式和輸出電平,這8對(duì)控制位(OM7、OL7---OMO、OL0)編碼后用于指定通道比較成功后的輸出動(dòng)作。如果每對(duì)當(dāng)中至少有一個(gè)為1,對(duì)應(yīng)引腳就固定為相應(yīng)通道的輸出,而與DDRT中的對(duì)應(yīng)位無(wú)關(guān)。當(dāng)二者同時(shí)為0時(shí),OC與輸出引腳斷開(kāi)。0001OCn10OCn11OCnTCTL3Bit7Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0EDG7BEDG7AEDG6BEDG6AEDG5BEDG5AEDG4BTCTL4EDGnB、EDGnA輸入捕捉邊沿控制位,這8對(duì)控制位(EDG7B、EDG7A—EDG0B、EDG0A)0時(shí),IC與輸入引腳斷開(kāi)。00011011OMn、OLn指定的引腳動(dòng)作有效,OC7M中的對(duì)應(yīng)位必須清0。若要使用16位脈沖累加器A和B,并使它們分別獨(dú)立于IC/OC7和IC/OC0,必須設(shè)置對(duì)應(yīng)的IOSn:1、OMn=0、OLn=0,同時(shí)寄存器OC7M中的OC7M7、OC7M0位必須清0。手把你寫S12XS128程序(21)--Timer寄存器說(shuō)34、主定時(shí)器中斷標(biāo)志寄存器(T1、TT1寄存器偏移量T2寄存器偏移量0000000所示的T1、T2為中斷標(biāo)志寄存器,其中T1對(duì)應(yīng)8個(gè)IC/OC通道,當(dāng)某CnF=1時(shí)說(shuō)明對(duì)應(yīng)的IC/OC通道有動(dòng)作,表明該通道有中斷事 2只有一個(gè)標(biāo)志位TOF,作為計(jì)數(shù)器的中斷請(qǐng)求標(biāo)志。當(dāng)TOF=1時(shí)說(shuō)明 計(jì)數(shù)器溢出。要清除某個(gè)標(biāo)志位,只需向該位寫1,向某位寫0不影響該位的狀態(tài)。當(dāng)TSCR中的TFFCA位置位時(shí),讀IC通道或?qū)慜C通道($10-$1F)將自動(dòng)清除該通道標(biāo)志CnF,對(duì)TCNT的任何將自動(dòng)清除T2。CnF:IC/OC0:上次清除標(biāo)志以來(lái),IC/OC 通道已經(jīng)出現(xiàn)動(dòng)作。將寄存器ICSYS($2B)中的TFMOD ICOVW寄存器($2A)聯(lián)合使用,可以使定時(shí)器在兩次捕捉后才產(chǎn)生中斷,而不TOF16位自由定時(shí)器從$FFFF回滾到$0000時(shí),該位置位。將$80寫入到T2將自動(dòng)清除該位(寫1)。詳見(jiàn)前面關(guān)于TMSK2中TCRE控制位的解釋。TIE寄存器中的位與狀態(tài)寄存器T1中的標(biāo)志位相對(duì)應(yīng)。如果將TIE中01,相應(yīng)的標(biāo)志位手把你寫S12XS128程序(22)--Timer寄存器說(shuō)46、IC/OC選擇寄存器TIOSICOC方式。當(dāng)某位IOSn=0n為輸入捕捉(1C)IOSn=1n【說(shuō)明】上電后該寄存器默認(rèn)為$00,TSCRTEN0,這時(shí)所有通道處于通用I/O方式,將TEN置位后各個(gè)通道進(jìn)入IC方式,要將某些OCTIOS1OC的通道其引腳具有降功率驅(qū)動(dòng)功能,設(shè)置成IC的通有內(nèi)部上拉功能,但7、IC/OC寄存器(TC0-ICOC16IC(輸入捕捉)通道,EDGnA、EDGnB指定的條件時(shí),將自由定時(shí)器的值捕捉到寄存器TCn,隨后程序可以和處理;對(duì)于OC(輸出比較)通道,程序?qū)㈩A(yù)定的時(shí)刻寫入到TCn,當(dāng)自由定時(shí)器的值與其相等時(shí),觸發(fā)由OMn、OLnTC7-TC0816/OC手把你寫S12XS128程序(23)--Timer寄存器說(shuō)5TCNT是遞增計(jì)數(shù)器,它不停地對(duì)內(nèi)部時(shí)鐘信號(hào)計(jì)數(shù)、程序可隨時(shí),但在普通模式下寫入。TCNT應(yīng)按字,分別高、低字節(jié)可能得到錯(cuò)誤【說(shuō)明】在特殊模式下,TCNTTCNT9、輸出比較通道7寄存器(OC7M)前面已經(jīng)說(shuō)明,OC7具有特殊地位,它匹配時(shí)可以直接改變其他7個(gè)輸出引腳的狀態(tài),并覆蓋各個(gè)引腳原來(lái)的匹配動(dòng)作結(jié)果,寄存器OC7M決定哪些通OC7的管理之下。OC7MPORTT口寄存器的各位一一對(duì)應(yīng)。當(dāng)通過(guò)TIOS將某個(gè)通道設(shè)定為輸出比較時(shí),將OC7M中的相應(yīng)位置1,對(duì)應(yīng)的引腳就是輸出狀態(tài),與DDR中的對(duì)應(yīng)位的狀態(tài)無(wú)關(guān)。但OC7Mn并不改變DDR相應(yīng)位的狀態(tài)。OC7MTCTL1TCTL2OMn和OLn設(shè)定的引腳動(dòng)作,若OC7M中某個(gè)位置1,就會(huì)相應(yīng)引腳上由OM和OL設(shè)定的動(dòng)作。10、輸出比較通道7數(shù)據(jù)寄存器(OC7D)OC7MOC輸出引腳的管理限于將某個(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的OC7M17匹配成功的動(dòng)作如果與通道6-0OC7D把你寫S12XS128程序(24)--Timer模塊應(yīng)用實(shí)1輸入捕捉(IC)編程步TIOS---選擇工作方式為TCTLx---設(shè)置對(duì)應(yīng)位輸入捕捉的方式(x=3、4,是3,低位是4)許、預(yù)分清除標(biāo)志位---T3 //功能說(shuō)明:利用PP340Hz50%的 利用PT0的個(gè)數(shù),并在PB口顯//// #include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dg128.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dg128b"unsigned 時(shí)鐘初始 void } 通道0輸入捕捉初始 void{ //溢出中斷,分頻系數(shù) //0 // //0 //}void{
通道3初始化程 //PWWisdisabled //0b00110011A=B=24M/8=3M ////SB=B/2/15//no //Duty=High//left-// //Dutycycle= E_ // 使}void{
主函 {}/*waitforever/*pleasemakesurethatyouneverleavethisfunction} 轉(zhuǎn)速計(jì)算 // #pragmaCODE_SEG //0voidinterrupt8{ {}}手把你寫S12XS128程序(25)--Timer模塊應(yīng)用實(shí)例2輸出比較(OC)編程步驟TIOS---選擇工作方式為TCx---x的OC寄存器賦初值,經(jīng)過(guò)NTCTLx---設(shè)置對(duì)應(yīng)位輸入捕捉的方式(x=1、212)TSCRx---控制寄存器設(shè)置,包括工作使能、確定工作方式(x=1)、許、預(yù)分 重新賦初值4 //功能說(shuō)明:利用PT0 利用PORTB//// #include<hidef.h> /*commondefinesandmacros*/#include<mc9s12dg128.h> /*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12dg128b"http:// 變量定 staticunsignedintwaittime= 時(shí)鐘初始 void } 定時(shí)器初始 void{ //0 //賦初值,當(dāng)TCNT從0計(jì)數(shù)到此值時(shí)第一次進(jìn)入中斷 執(zhí)行的動(dòng)作時(shí):0通道輸出 //溢出中斷24M/64=2.67微秒,計(jì)一個(gè)數(shù)用2.67微秒 //0}void{
主函 {}} 中斷函數(shù)處 #pragmaCODE_SEGvoidinterrupt8Timer0_ISR(void)//80{unsignedintm; //37500*2.67us=10ms{}}手把你寫S12XS128程序(26)--SCI寄存器說(shuō)11、波特率控制寄存器(SCIBDH、1使能0WhenIREN=0SCIbaudrate=SCIbusclock/(16xSBR[12:0])WhenIREN=1then,SCIbaudrate=SCIbusclock/(32x【說(shuō)明】波特率發(fā)生器在復(fù)位后是的,在設(shè)置TE、RE(在SCICR2寄存器中)后才會(huì)工作。當(dāng)(SBR[12:0]=0andIREN=0)或者(SBR[12:1]=0andIREN=1),波特率發(fā)生器不【注意】在未寫入SCIBDL,寫SCIBDHIREN=0,SR=52(總線8MHz)9600。2、數(shù)據(jù)寄存器(SCIDRH、SCI內(nèi)部分別設(shè)有發(fā)送和接收兩個(gè)數(shù)據(jù)寄存器,其低位都通過(guò)SCIDRL訪問(wèn),讀操作返回接收數(shù)據(jù)寄存器RDR的內(nèi)容,寫操作數(shù)據(jù)置入發(fā)送數(shù)據(jù)寄存器。TDR。當(dāng)M=1即運(yùn)行在9位數(shù)據(jù)模式時(shí),SCIDRL和SCIDRH形成9位的SCI數(shù)據(jù)字,這時(shí)必須先SCIDRH,以便與低位字節(jié)(SCIDRL)M=0SCI只用于7位或8位的數(shù)據(jù)傳送,可以只SCIDRL。當(dāng)PE=1即奇偶校驗(yàn)允許時(shí),奇偶R88SCI9位數(shù)據(jù)運(yùn)行模式時(shí),該位是從串行數(shù)據(jù)流中接收到的第9位。T8:發(fā)送位8,任何時(shí)候可寫。當(dāng)SCI設(shè)置成9位數(shù)據(jù)模式時(shí),該位是送到串行數(shù)據(jù)流的第9 R[0..7]T[0..77-0RDR入只寫寄存器TDR。手把你寫S12XS128程序(27)--SCI寄存器說(shuō)23、控制寄存器LOOPS:LOOP模式下,RXDSCI接收部分?jǐn)嚅_(kāi),發(fā)射部分輸出在內(nèi)部和接收部RXDIO口,TXD輸出SCI信號(hào)。1LOOP0正常模式SCISWAISCI01:在等待模式下RSRC:信號(hào)源選擇位,當(dāng)LOOPS=1時(shí),RSRC決定的內(nèi)部反饋信號(hào)路0:的輸入在內(nèi)部連接到發(fā)送器輸出(并非TxD引腳)1:的輸入連接到TxD引腳0:1個(gè)起始位,8個(gè)數(shù)據(jù)位,11:1個(gè)起始位,89個(gè)數(shù)據(jù)位,11:地址標(biāo)志(1)ILT:空閑檢測(cè)方式選擇位,該位在SCI可以使用的兩種空閑檢測(cè)方式中選擇一0:快速檢測(cè),SCI在一個(gè)幀的開(kāi)始位后立即開(kāi)始對(duì)“1”計(jì)數(shù),因此停止位以及停止1:保守檢測(cè),SCI在停止位后才開(kāi)始對(duì)“1”計(jì)數(shù),因此最后一個(gè)字節(jié)的停止位以及0:奇偶校驗(yàn)4、控制寄存器TIE:發(fā)送中斷允許位,清0時(shí)TDRE產(chǎn)生中斷,若置1則允許TDRE位置時(shí)SCITCIE:發(fā)送結(jié)束中斷允許位,清0時(shí)TC產(chǎn)生中斷,若置1則允許TC位置1時(shí)SCI中斷請(qǐng)求。RIE:接收中斷允許位,清0時(shí)RDRF和OR產(chǎn)生中斷,若置1則允許RDRFOR1SCIILIE:空閑中斷允許位,清0時(shí)IDLE產(chǎn)生中斷,若置1則允許IDLE位置1時(shí)產(chǎn)生SCI中斷請(qǐng)求。TE010:發(fā)送器1SCI發(fā)送部分工作,TxD引腳(PSl/PS3)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)人才2024年薪金聘用協(xié)議書(shū)版
- 二零二五版冷鏈物流車輛貨物運(yùn)輸安全協(xié)議2篇
- 二零二五年藝術(shù)品搬運(yùn)運(yùn)輸服務(wù)合同3篇
- 二零二五版數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展合同范本2篇
- 2024施工合同匯集
- 二零二五年度鋼板租賃與節(jié)能減排服務(wù)協(xié)議3篇
- 個(gè)性化旅游顧問(wèn)服務(wù)協(xié)議2024版版A版
- 2024版產(chǎn)品銷售協(xié)議6篇
- 二零二五年度高科技產(chǎn)業(yè)合伙人分家協(xié)議書(shū)3篇
- 二零二五年度智能工廠安全生產(chǎn)服務(wù)外包合同2篇
- 醫(yī)療廢物污水培訓(xùn)
- 2024年山東省高考政治試卷真題(含答案逐題解析)
- 《用銳角三角函數(shù)解決問(wèn)題(3)》參考課件
- 房地產(chǎn)營(yíng)銷策劃 -佛山龍灣壹號(hào)學(xué)區(qū)房項(xiàng)目推廣策略提案方案
- 產(chǎn)品共同研發(fā)合作協(xié)議范本5篇
- 風(fēng)水學(xué)的基礎(chǔ)知識(shí)培訓(xùn)
- 吸入療法在呼吸康復(fù)應(yīng)用中的中國(guó)專家共識(shí)2022版
- 1-35kV電纜技術(shù)參數(shù)表
- 信息科技課程標(biāo)準(zhǔn)測(cè)(2022版)考試題庫(kù)及答案
- 施工組織設(shè)計(jì)方案針對(duì)性、完整性
評(píng)論
0/150
提交評(píng)論