合工大S12X單片機(jī)原理2_第1頁
合工大S12X單片機(jī)原理2_第2頁
合工大S12X單片機(jī)原理2_第3頁
合工大S12X單片機(jī)原理2_第4頁
合工大S12X單片機(jī)原理2_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單片機(jī)原理Microcontrollers

Principles

MC9S12單片機(jī)原理及嵌入式應(yīng)用開發(fā)技術(shù)12/11/2023

S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.4并行I/O口

MC9S12XS單片機(jī)有11個(gè)并行I/O端口,包括A、B、E、K、T、S、M、P、H、J和AD。其中.A、B和K作為通用I/O口,其他端口除了作為通用I/O口外,還具有復(fù)用功能。S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.4并行I/O口I/O口的一般特性:I/O是和外部接口的最基本的手段通常在微控制器中將8個(gè)I/O口合成一組I/O通常是雙向的(部分管腳是單向的)I/O引腳通常還和其他外設(shè)引腳復(fù)用I/O的相關(guān)寄存器端口方向寄存器(比如DDR)端口數(shù)據(jù)寄存器(比如PT)端口狀態(tài)寄存器(比如PTI)端口設(shè)定寄存器(如keywakeup,pull-up)S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.4并行I/O口I/O口的結(jié)構(gòu)示意圖配置成輸出配置成輸入S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.4并行I/O口I/O口寄存器配置的示意圖S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.4并行I/O口A、B、E和K口1.數(shù)據(jù)方向寄存器(以A端口為例)1=輸出0=輸入2.數(shù)據(jù)寄存器(以A端口為例)3.上拉控制寄存器(PUCR)1=上拉電阻使能0=上拉電阻未被使能4.低功耗驅(qū)動(dòng)寄存器(RDRIV)1=輸出引腳功耗為正常值的1/50=輸出引腳功耗為正常值S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.4并行I/O口A、B、E和K口A、B、E和K口寄存器的地址S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.4并行I/O口T、S、M、P、H和J口1.數(shù)據(jù)方向寄存器2.數(shù)據(jù)寄存器定義為輸入時(shí),讀該寄存器,讀出的是該寄存器的值,而不是對(duì)應(yīng)引腳的電平(注意,這點(diǎn)與A口不同。3.輸入寄存器只讀寄存器,當(dāng)數(shù)據(jù)方向寄存器定義為輸入時(shí),讀出的值為對(duì)應(yīng)引腳的電平;當(dāng)引腳作為輸出時(shí),該寄存器監(jiān)視對(duì)應(yīng)引腳是否負(fù)荷超載或電路短路,若是,則置1;否則為0.4.低功耗驅(qū)動(dòng)寄存器5.上拉或下拉使能寄存器6.上拉或下拉選擇寄存器1=選擇下拉電阻0=選擇上拉電阻S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.4并行I/O口AD口AD口除了作為AD轉(zhuǎn)換模塊的模擬量輸入口和外界觸發(fā)脈沖的輸人口外,也可作為普通輸入口。AD口中沒有數(shù)據(jù)方向寄存器,所以AD口只能作為輸入口,而不能作為輸出口。端口的復(fù)用功能T口還具有接收輸入捕捉功能,每個(gè)引腳作為一個(gè)輸入捕捉端口。在系統(tǒng)復(fù)位時(shí),引腳置位為高阻態(tài)。S口還與SCI模塊和SPI模塊關(guān)聯(lián)作為通信接口。在系統(tǒng)復(fù)位時(shí),引腳置位為帶上拉電阻的輸入狀態(tài)。M口還與ByteFlight模塊、BDLC(J1850)模塊、CAN模塊和SPI關(guān)聯(lián)作為通信接口。在系統(tǒng)復(fù)位時(shí),引腳置位為高阻態(tài)。P口還與PWM模塊和SPI模塊關(guān)聯(lián)作為通信接口。另外,當(dāng)P口作為輸入/輸出端口時(shí),還提供中斷功能。在系統(tǒng)復(fù)位時(shí),引腳置位為高阻態(tài)輸入。H口與SPI模塊關(guān)聯(lián)作為通信接口,即P。在系統(tǒng)復(fù)位時(shí),引腳置位為高阻態(tài)輸入。J口還與CAN模塊和I2C模塊關(guān)聯(lián)作為通信接口。另外,當(dāng)J口作為輸入/輸出端口時(shí),還提供中斷功能。在在系統(tǒng)復(fù)位時(shí),引腳置位為帶上拉電阻的輸入狀態(tài)。S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)時(shí)鐘模塊1.時(shí)鐘分頻寄存器(REFDV)用于設(shè)定內(nèi)部鎖相環(huán)電路時(shí)鐘分頻系數(shù)。鎖相環(huán)參考時(shí)鐘晶振時(shí)鐘具體參見芯片參考手冊(cè)MC9S12XS256RMV1.PDFS12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)時(shí)鐘模塊2.時(shí)鐘合成寄存器(SYNR)鎖相環(huán)時(shí)鐘頻率晶振時(shí)鐘頻率鎖相環(huán)中壓控振蕩器振蕩頻率單片機(jī)內(nèi)部總線時(shí)鐘頻率S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)時(shí)鐘模塊3.CRG時(shí)鐘后分頻寄存器(POSTDIV)S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)時(shí)鐘模塊4.CRG標(biāo)志寄存器(CRGFLG)1)RTIF:實(shí)時(shí)中斷標(biāo)志位。2)PORF:上電復(fù)位標(biāo)志位。3)LVRF:低電壓復(fù)位標(biāo)志位。4)LOCKIF:內(nèi)部鎖相環(huán)鎖定中斷標(biāo)志位。5)LOCK:鎖定狀態(tài)位。6)ILAF:非法地址復(fù)位標(biāo)志位。7)SCMIF:自時(shí)鐘模式中斷標(biāo)志位。8)SCM:自時(shí)鐘模式狀態(tài)位,只讀。S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)時(shí)鐘模塊5.CRG時(shí)鐘選擇寄存器(CLKSEL)1)PLLSEL:鎖相環(huán)選擇位。置1,PLLCLK為系統(tǒng)時(shí)鐘源;清O,選擇OSCCLK為系統(tǒng)時(shí)鐘源;2)PSTP:偽停止位。該位控制在停止模式下晶振源的功能。置l,表示在停止模式下晶振繼續(xù)運(yùn)行;3)XCLKS:振蕩器配置狀態(tài)位。4)PLLWAI:等待模式PLL停止位。置1,PLL在待機(jī)模式時(shí)繼續(xù)運(yùn)行;清0,PLL在待機(jī)時(shí)停止;5)RTIWAI:等待模式RTI停止位;置1,只要進(jìn)入等待模式.RTI就停止工作并將RTI的分頻器清零;6)COPWAI:等待模式COP停止位。S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)時(shí)鐘模塊6.PLL控制寄存器(PLLCTL)CME:時(shí)鐘監(jiān)控使能位。當(dāng)時(shí)鐘監(jiān)控器檢測到時(shí)鐘信號(hào)不穩(wěn)定時(shí),會(huì)復(fù)位MCU或者進(jìn)入自時(shí)鐘模式。置1,允許時(shí)鐘監(jiān)控器;清0,不允許時(shí)鐘監(jiān)控器。PLLON:IPLL啟動(dòng)位。當(dāng)PLLON=1時(shí),打開PLL電路;當(dāng)PLLON=0時(shí),關(guān)閉PLL電路。FM1和FM0:IPLL頻率調(diào)制使能位。FSTWKP:完全停止快速喚醒位。PRE:在不完全停止模式下使能實(shí)時(shí)中斷。PCE:在不完全停止模式下使能看門狗。SCME:自時(shí)鐘模式使能位。S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)時(shí)鐘模塊7.CRG實(shí)時(shí)中斷控制寄存器(RTICTL)RTDEC:十進(jìn)制或二進(jìn)制分頻系數(shù)選擇位。RTR[6:4]:實(shí)時(shí)中斷預(yù)分頻率選擇位。RTR[3:0]:實(shí)時(shí)中斷模數(shù)計(jì)數(shù)器選擇位。如果采用二進(jìn)制表示:溢出時(shí)鐘周期(實(shí)時(shí)中斷周期)=(RTR[3:0]+1)×2(RTR[6:4]+9)/OSCCLK(晶振時(shí)鐘頻率)S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)時(shí)鐘模塊8.CRG看門狗控制寄存器(COPCTL)COP(ComputerOperatingProperly)WCOP:窗口COP模式使能位。置1后,必須在看門狗周期的后25%時(shí)間向ARMCOP中依次寫人0x55和0xAA,在其他時(shí)間內(nèi)寫入或者寫入其他值無效,并且會(huì)讓MCU復(fù)位。WCOP=1,窗口COP模式;WCOP=0,正常COP模式。RSBCK:,BDM模式下的COP和RTI停止位。WRTMASK:WCOP和CR[2:0]寫屏蔽位。CR[2:0]:COP計(jì)時(shí)速率選擇位。COP溢出時(shí)鐘周期=CR[2:0]指示的分頻值

/OSCCLK(晶振時(shí)鐘頻率)S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)鎖相環(huán)功能及應(yīng)用注意事項(xiàng)CRG模塊的鎖相環(huán)電路由OSCCLK時(shí)鐘產(chǎn)生一個(gè)規(guī)定的頻率時(shí)鐘PLLCLK,為系統(tǒng)提供各種時(shí)鐘頻率源。它們之間的關(guān)系分別如下所述:壓控振蕩器輸出頻率:fVCOCLK=2fOSCCLK×(SYNR+1)/(REFDV+1)內(nèi)部鎖相環(huán)輸出頻率:fPLLCLK=fVCOCLK/(2×POSTDIV)選擇鎖相環(huán)時(shí),內(nèi)部時(shí)鐘總線頻率:fBUSCLK=fPLLCLK/2fVCOCLK和fPLLCLK之間的頻率比例一般為1,所以一般情況下,POSTDIV=0。為了使時(shí)鐘源穩(wěn)定,一般REFDIV盡可能取最大值。S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)鎖相環(huán)應(yīng)用范例1)禁止總中斷。

2)寄存器CLKSEL的第7位置0,即CLKSEL_PLLSEL=0。

3)禁止鎖相環(huán)(PLL),即PLLCTL—PLLON=0。

4)根據(jù)想要的時(shí)鐘頻率設(shè)置SYNR和REFDV以及POSTDIV(可以不管)3個(gè)寄存器。

5)打開PLL,即PLLCTL—PLLON=1。

6)CRGFLG—LOCK位確定PLL是否穩(wěn)定。

7)PLLCLK穩(wěn)定后,允許鎖相環(huán)時(shí)鐘源PLLCLK為系統(tǒng)提供時(shí)鐘,即CLKSEL—PLLSEL=1。S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)復(fù)位單片機(jī)產(chǎn)生復(fù)位的條件:引腳加低電平。電源電壓低于特定值。看門狗復(fù)位。時(shí)鐘監(jiān)控器復(fù)位。執(zhí)行復(fù)位指令引發(fā)的復(fù)位非法指令引起的復(fù)位單片機(jī)的啟動(dòng)過程:←上電復(fù)位后程序代碼變量、堆棧外設(shè)寄存器S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)復(fù)位中斷向量表:詳細(xì)的中斷向量表見芯片手冊(cè)“MC9S12XS256ReferenceManual”P54:Table1-10.“InterruptVectorLocations”S12XS單片機(jī)的內(nèi)部結(jié)構(gòu)分析2.5時(shí)鐘與復(fù)位模塊(ClocksandResetGenerator)復(fù)位——復(fù)位后單片機(jī)CPU要完成的任務(wù):從固定地址取得復(fù)位向量并開始執(zhí)行指令初始化微控制器內(nèi)部電路將所有寄存器恢復(fù)成默認(rèn)值確認(rèn)MCU的工作模式禁止全局中斷關(guān)閉外設(shè)將IO置為高阻輸入狀態(tài)等待時(shí)鐘振蕩趨于穩(wěn)定初始化堆棧指針;初始化內(nèi)存,復(fù)制初始化數(shù)據(jù),例如Init();調(diào)用主函數(shù),例如main();設(shè)置系統(tǒng)時(shí)鐘,是否啟動(dòng)PLL。自動(dòng)執(zhí)行單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)單片機(jī)最小系統(tǒng):所謂最小系統(tǒng)就是能夠在上電時(shí),單片機(jī)正常工作的基本保障。MCU正常工作所需的最基本外圍配置有:時(shí)鐘電路,復(fù)位電路,BDM接口電路,以及供電電源。S12XS128單片機(jī)BDM接口Reset按鈕Crystal(晶振)LED發(fā)光二極管RS232DB9(SCI0)異步串行通信接口MAX232異步串行通信驅(qū)動(dòng)芯片

PowersocketSignalconnector信號(hào)插排單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)實(shí)驗(yàn)擴(kuò)展板:為了學(xué)習(xí)、調(diào)試單片機(jī)各種功能而設(shè)計(jì)的。SignalconnectorSignalconnectorkeypadPulsegeneratorPWMD/AconvertAnalogvoltagegenerator8LEDswitchI2CSPIRS232driver7SegNumericLEDConnectpoints單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)單片機(jī)電源單片機(jī)最小系統(tǒng):所謂最小系統(tǒng)就是能夠在上電時(shí),單片機(jī)正常工作的基本保障。MCU正常工作所需的最基本外圍配置有:時(shí)鐘電路,復(fù)位電路,BDM接口電路,以及供電電源。單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)單片機(jī)電源單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)單片機(jī)電源單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)單片機(jī)電源單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)單片機(jī)電源電路設(shè)計(jì)圖3-1單片機(jī)系統(tǒng)電源濾波電路設(shè)計(jì)10uF的是濾波電容,起能量緩沖作用和濾波穩(wěn)壓作用,一般選電解電容。0.1uF、0.01uF的是去耦高頻電容,是用來濾除高頻信號(hào)干擾的。單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)單片機(jī)電源電路設(shè)計(jì)圖3-2單片機(jī)濾波電路內(nèi)部電壓調(diào)整模塊需要外部連接濾波電路才能正常工作。單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)單片機(jī)時(shí)鐘電路設(shè)計(jì)晶振和單片機(jī)引腳之間的連線盡可能短、線寬盡可能寬,這樣可以保證其工作的穩(wěn)定性和避免晶振體的高頻信號(hào)對(duì)周圍線路造成過多的干擾。晶振體的下方和周圍盡量不要走線,尤其不要接對(duì)信號(hào)質(zhì)量要求高的器件的線路。晶振體的周圍和下面盡量用地線包圍和覆蓋,將晶振體的噪聲阻擋起來,也防止其他干擾信號(hào)進(jìn)來。單片機(jī)時(shí)鐘電路XTAL,EXTAL間可以接入不同形式的振蕩電路,具體參數(shù)需要看器件文檔。單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)復(fù)位電路設(shè)計(jì)?Power-OnReset

?ExternalHardwareReset?Lowvoltagereset

?COPreset?clockmonitorreset不可屏蔽可屏蔽單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)BDM接口電路設(shè)計(jì)BDM(BackgroundDebugMode)接口電路是S12單片機(jī)用來連接BDM調(diào)試器的,主要用于將應(yīng)用程序從微機(jī)下載到單片機(jī),以及動(dòng)態(tài)調(diào)試使用。單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)BDM接口電路設(shè)計(jì)例子(電路原理圖)從內(nèi)部VREG輸出工作電壓輸入單片機(jī)最小系統(tǒng)與軟件運(yùn)行環(huán)境3.1硬件電路設(shè)計(jì)C6C7C5Goodisolat

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論