




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章MC9S12單片機(jī)的內(nèi)核及片上資源
§3-1內(nèi)核結(jié)構(gòu)及引腳§3-2內(nèi)部寄存器§3-3堆?!?-4內(nèi)部存儲(chǔ)器§3-5復(fù)位及時(shí)鐘§3-6中斷§3-7最小系統(tǒng)設(shè)計(jì)內(nèi)容提要:第三章MC9S12單片機(jī)的內(nèi)核及片上資源§3-1內(nèi)核1內(nèi)核結(jié)構(gòu)—存儲(chǔ)器以MC9S12DP256為例256KFLASH12KRAM4KEEPROMMC9S12DG128擁有128K的FLASH,8K的RAM,2K的EEPROM。§3-1內(nèi)核結(jié)構(gòu)及引腳內(nèi)核結(jié)構(gòu)—存儲(chǔ)器以MC9S12DP256為例MC9S12DG2電壓調(diào)整模塊及相關(guān)引腳電壓調(diào)整模塊給內(nèi)核供電2.5VVDD1/2和VSS1/2:內(nèi)核供電引腳,之間要接去耦電容VREGEN引腳上拉使能電壓調(diào)整模塊,VDD1/2,VDDPLL使用內(nèi)部2.5V電源VREGEN引腳接地禁止模塊,VDD1/2,VDDPLL接外部2.5V電源VDDR、VSSR:電壓調(diào)整模塊及I/O供電,分別接電源和地,之間要接去耦電容電壓調(diào)整模塊及相關(guān)引腳電壓調(diào)整模塊VREGEN引腳上拉3時(shí)鐘和鎖相環(huán)及相關(guān)引腳EXTAL、XTAL:接外部振蕩器RESET:接外部復(fù)位,低電平有效XFC:接鎖相環(huán)濾波電容VDDPLL、VSSPLL:鎖相環(huán)供電引腳。使能電壓調(diào)整模塊(VREGEN上拉)時(shí),該引腳直接去耦電容。時(shí)鐘和鎖相環(huán)及相關(guān)引腳EXTAL、XTAL:接外部振蕩器4模式選擇及相關(guān)引腳模式選擇和PORTE復(fù)用TEST:保留腳,接地XIRQ:非屏蔽中斷IRQ:可屏蔽中斷R/W:讀寫(xiě)信號(hào),指示總線(xiàn)上數(shù)據(jù)方向LSTRB:總線(xiàn)模式下低位字節(jié)(奇地址)選通ECLK:內(nèi)部總線(xiàn)時(shí)鐘輸出,一般在寬擴(kuò)展模式下地址鎖存用BKGD(MODC)、MODB、MODA:模式選擇NOACC/XCLKS:當(dāng)前外部總線(xiàn)操作無(wú)效模式選擇及相關(guān)引腳模式選擇和PORTE復(fù)用R/W:讀寫(xiě)信號(hào),5模式選擇模式選擇6地址數(shù)據(jù)總線(xiàn)PORTA和PORTB作為擴(kuò)展模式下的數(shù)據(jù)和地址復(fù)用總線(xiàn),尋址達(dá)到64K范圍窄模式下:PORTA為8位數(shù)據(jù)總線(xiàn)寬模式下:PORTA、PORTB為16位數(shù)據(jù)總線(xiàn)PTK為擴(kuò)展存儲(chǔ)器超過(guò)64K時(shí)用,不擴(kuò)展時(shí)作為普通I/O口。地址數(shù)據(jù)總線(xiàn)PORTA和PORTB作為擴(kuò)展模式下的數(shù)據(jù)和地址7擴(kuò)展窄模式地址線(xiàn)接法擴(kuò)展窄模式地址線(xiàn)接法8擴(kuò)展寬模式地址線(xiàn)接法擴(kuò)展寬模式地址線(xiàn)接法9ATD模塊及相關(guān)引腳VRH、VRL:參考高壓和參考低壓,一般接5V(隔離)和GND(單點(diǎn)共地)。VDDA、VSSA:A/D模塊電源引腳。AN0-AN7:模擬量輸入引腳,8個(gè)通道。作普通I/O時(shí),只能輸入,不能輸出。ATD模塊及相關(guān)引腳VRH、VRL:參考高壓和參考低壓,一般10定時(shí)器及相關(guān)引腳IOC0-7:輸入捕獲:捕獲外部有效邊沿輸出比較:輸出一定寬度的脈沖作為普通I/O口時(shí),為PORTT,輸入輸出。定時(shí)器及相關(guān)引腳IOC0-7:作為普通I/O口時(shí),為PORT11SPI、PWM及相關(guān)引腳2個(gè)SPI口MISO:主機(jī)輸入/從機(jī)輸出MOSI:主機(jī)輸出/從機(jī)輸入SCK:同步時(shí)鐘(主機(jī)提供,從機(jī)接受)SS:從機(jī)選擇(1-主機(jī),0-從機(jī))PWM0-7:PWM模塊8個(gè)通道作為普通I/O:PORTPSPI、PWM及相關(guān)引腳2個(gè)SPI口PWM0-7:PWM模塊12異步串行口及相關(guān)引腳2個(gè)SCI:RXD:數(shù)據(jù)接收TXD:數(shù)據(jù)發(fā)送1個(gè)SPI1個(gè)BDLC4(5)個(gè)CAN:RXCAN接收、TXCAN發(fā)送作為普通I/O使用:PORTS,PORTM異步串行口及相關(guān)引腳2個(gè)SCI:4(5)個(gè)CAN:RXCAN13中斷I/O口作為普通并行I/O口:PORTJ、PORTHPJ口和PH口可以作為中斷口:可選擇上升或者下降沿中斷;PJ6和PJ7與I2C和CAN4模塊復(fù)用引腳。(I2C:SDA數(shù)據(jù)引腳、SCL時(shí)鐘引腳)中斷I/O口PJ口和PH口可以作為中斷口:可選擇上升或者下降14電源引腳*VDD1、2,VSS1、2:內(nèi)部邏輯供電*VDDPLL,VSSPLL:鎖相環(huán)供電*-使能電壓調(diào)整模塊(VREGEN上拉),該引腳直接去耦電容。VDDX,VSSX:I/O供電電源引腳VDDR,VSSR:電壓調(diào)整器及I/O供電電源引腳VDDA,VSSA:A/D模塊供電電源引腳電源引腳*VDD1、2,VSS1、2:內(nèi)部邏輯供電VDDX,15§3-2內(nèi)部寄存器累加器A、B:保存操作數(shù)和操作結(jié)果,組成16位累加器D。變址寄存器X、Y:尋址操作、臨時(shí)數(shù)據(jù)、參與運(yùn)算。堆棧指針SP:中斷、子程序調(diào)用,暫存數(shù)據(jù)。堆棧由高地址向低地址生成,棧頂為實(shí)棧頂。程序計(jì)數(shù)器PC:存放下一條要執(zhí)行的指令地址?!?-2內(nèi)部寄存器累加器A、B:保存操作數(shù)和操作結(jié)果,組成16條件碼寄存器CCR:包括5個(gè)狀態(tài)指示器、兩個(gè)中斷屏蔽位、STOP指令控制位。1-CPU不可執(zhí)行STOP;0-反之1-屏蔽XIRQ中斷;0-反之1-產(chǎn)生了半進(jìn)位1-屏蔽所有可屏蔽中斷1-運(yùn)算結(jié)果有負(fù)數(shù)1-運(yùn)算結(jié)果有01-運(yùn)算結(jié)果溢出1-運(yùn)算產(chǎn)生進(jìn)/借位條件碼寄存器CCR:包括5個(gè)狀態(tài)指示器、兩個(gè)中斷屏蔽位、ST17§3-3堆棧堆棧由高地址向低地址生成,SP總是指向最后進(jìn)入堆棧的一個(gè)字節(jié)實(shí)棧頂
——壓棧時(shí)先調(diào)整堆棧指針(SP←(SP-1)),后保存數(shù)據(jù)。
——出棧時(shí)先彈出數(shù)據(jù),后修改棧頂(SP←(SP+1))子程序調(diào)用時(shí),程序返回地址自動(dòng)壓棧、中斷響應(yīng)后,除斷點(diǎn)地址自動(dòng)壓棧外,CPU寄存器Y、X、A、B、CCR也依次自動(dòng)壓棧;執(zhí)行中斷返回指令時(shí),斷點(diǎn)地址和CPU寄存器按照和入棧時(shí)相反的順序依次自動(dòng)出棧?!?-3堆棧堆棧由高地址向低地址生成,SP總是指向最后進(jìn)入18棧區(qū)必須在程序開(kāi)始部分在內(nèi)部RAM區(qū)指定,即SP的初始化。中斷進(jìn)棧舉例:執(zhí)行到$80F0處的程序時(shí),CPU響應(yīng)中斷,且此時(shí)SP的內(nèi)容(棧頂)為$3F00,則SPSP自動(dòng)壓棧的內(nèi)容和順序中斷返回時(shí),自動(dòng)出棧的內(nèi)容和順序棧區(qū)必須在程序開(kāi)始部分在內(nèi)部RAM區(qū)指定,即SP的初始化。S19§3-4內(nèi)部存儲(chǔ)器—基本內(nèi)存空間§3-4內(nèi)部存儲(chǔ)器—基本內(nèi)存空間20內(nèi)部寄存器EEPROMRAM16KB固定Flash$3E16KB分頁(yè)Flash$3016KB固定Flash$3F中斷向量區(qū)$0000$0400$1000$4000$8000$C000$FF00$FFFF$30$31$32$33$34$35$36$37$38$39$3A$3B$3C$3D$3E$3FBlock3Block2Block1Block0
由PPAGE寄存器(地址$30)決定某一頁(yè)在$8000~$BFFF。DP256片內(nèi)有256KFlash,分16頁(yè),每頁(yè)16K,一般定位:$4000~$7FFF16K($3E)$C000~$FF0016K($3F)內(nèi)存以頁(yè)面方式擴(kuò)展內(nèi)部寄存器EEPROMRAM16KB固定Flash$3E1621存儲(chǔ)器容量寄存器1=寄存器空間為2KB0=寄存器空間為1KB存儲(chǔ)器容量寄存器0-MEMSIZ0只讀(默認(rèn)值由芯片的型號(hào)決定)詳見(jiàn)下頁(yè)表EEPROM空間分配00=0KB01=2KB10=4KB11=8KB例如:DG128復(fù)位時(shí)MEMSIZ0的值為$13,即表示有1KB的寄存器、2KB的EEPROM、8KB的RAM空間。存儲(chǔ)器容量寄存器1=寄存器空間為2KB存儲(chǔ)器容量寄存器0-M22存儲(chǔ)器容量寄存器RAM_SW2-RAM_SW0:分配系統(tǒng)RAM存儲(chǔ)空間存儲(chǔ)器容量寄存器RAM_SW2-RAM_SW0:分配系統(tǒng)RA23寄存器區(qū)映射寄存器-INITRG指定內(nèi)部寄存器區(qū)基址的高5位。則最小基址是$0000,最大基址為$7FFF(D7=0決定)。
使用時(shí),一般定位在$0000開(kāi)始的1K中。 因?yàn)榍?56個(gè)字節(jié)可以用直接地址(8bit地址)訪(fǎng)問(wèn),如果定位在其它地方,應(yīng)用擴(kuò)展地址(16bit地址碼)訪(fǎng)問(wèn)。寄存器區(qū)映射寄存器-INITRG指定內(nèi)部寄存器區(qū)基址的高5位24RAM映射寄存器-INITRM0=RAM和內(nèi)部地址空間最低端對(duì)齊1=RAM和內(nèi)部地址空間最高端對(duì)齊9S12DG128有8KRAM空間,默認(rèn)$0000~$1FFF,若定位在$2000~$3FFF,則INITRM值應(yīng)為$39。例:RAM映射寄存器-INITRM0=RAM和內(nèi)部地址空間最低端25EEPROM映射寄存器-INITEE0=禁用EEPROM1=使能EEPROM指定EEPROM基址的高5位。例:DG128有2K的EEPROM。若給INITEE賦值為$09,則EEPROM區(qū)域就是$0800~$0FFF。EEPROM映射寄存器-INITEE0=禁用EEPROM指定26存儲(chǔ)器優(yōu)先級(jí)上述三個(gè)寄存器INITRG、INITRM、INITEE負(fù)責(zé)將內(nèi)部資源重新映射若地址分配出現(xiàn)重疊,按優(yōu)先級(jí)自動(dòng)屏蔽級(jí)別較低的資源存儲(chǔ)器分配優(yōu)先級(jí):BDMROM寄存器區(qū)RAMEEPROMFlash/ROM外部擴(kuò)展存儲(chǔ)器高低存儲(chǔ)器優(yōu)先級(jí)上述三個(gè)寄存器INITRG、INITRM、INI27§3-5復(fù)位及時(shí)鐘—復(fù)位上電復(fù)位單片機(jī)自動(dòng)檢測(cè)VDD端的正跳變,啟動(dòng)自動(dòng)工作。外部復(fù)位通過(guò)RESET引腳加一低電壓,拉低超過(guò)一定時(shí)間后可實(shí)現(xiàn)復(fù)位??撮T(mén)狗復(fù)位幫助系統(tǒng)在軟件跑飛后自動(dòng)復(fù)位。時(shí)鐘監(jiān)視器復(fù)位利用內(nèi)部的RC電路來(lái)保證時(shí)鐘頻率滿(mǎn)足要求?!?-5復(fù)位及時(shí)鐘—復(fù)位上電復(fù)位28振蕩器和時(shí)鐘電路EXTAL是外部時(shí)鐘輸入或石英振蕩放大器的輸入XTAL是石英振蕩放大器的輸出振蕩電路注:DG128可用串聯(lián)振蕩電路和并聯(lián)振蕩電路兩種連接方式。
9S12X系列單片機(jī)只可用并聯(lián)振蕩電路。串聯(lián)方式(PE7引腳要拉低)并聯(lián)方式(PE7引腳要拉高)振蕩器和時(shí)鐘電路EXTAL是外部時(shí)鐘輸入或石英振蕩放大器的輸29時(shí)鐘初始化寄存器-共5個(gè)(1)鎖相環(huán)控制寄存器(PLLCTL)鎖相環(huán)電路允許位1=允許0=禁止時(shí)鐘監(jiān)控允許位1=允許0=禁止注:其余各位的描述見(jiàn)教材49頁(yè)。時(shí)鐘初始化寄存器-共5個(gè)(1)鎖相環(huán)控制寄存器(PLLCTL30(2)時(shí)鐘合成寄存器(SYNR)-低6位有效,有效值0~63。(3)時(shí)鐘分頻寄存器(REFDV)-低4位有效,有效值0~15。由鎖相環(huán)來(lái)產(chǎn)生時(shí)鐘頻率的公式:例如:選用16MHz的外部晶振,若將SYNR設(shè)為
2,REFDV設(shè)為1,通過(guò)公式計(jì)算可得
PLLCLK=48MHz。(2)時(shí)鐘合成寄存器(SYNR)-低6位有效,有效值0~6331鎖相環(huán)頻率鎖定標(biāo)志1=表示時(shí)鐘頻率已穩(wěn)定,且鎖定了鎖相環(huán)頻率。(4)時(shí)鐘產(chǎn)生模塊的標(biāo)志寄存器CRGFLG注:其余各位的描述見(jiàn)教材49頁(yè)和50頁(yè)。(5)時(shí)鐘選擇寄存器(CLKSEL)選定鎖相環(huán)1表示BusClock=PLLCLK/20表示BusClock=OSCCLK/2實(shí)時(shí)中斷標(biāo)志位1=RTI發(fā)生了超時(shí)中斷,向該位寫(xiě)1清除該中斷標(biāo)志位。鎖相環(huán)頻率鎖定標(biāo)志(4)時(shí)鐘產(chǎn)生模塊的標(biāo)志寄存器CRGFLG32PLL例子CLKSEL=0x00;//禁止PLLPLLCTL=0xe1;//PLL電路允許
SYNR=2;REFDV=1;//設(shè)置倍頻參數(shù)
PLLCTL=0x60;//時(shí)鐘監(jiān)控禁止
while(0==(CRGFLG&0x08));//等待穩(wěn)定
CLKSEL=0x80;//選擇PLL作為時(shí)鐘//若晶振為16M,則PLLCLK=2*16*3/2=48MHz,則總線(xiàn)頻率是24MHzPLL例子CLKSEL=0x00;//禁止PLL33實(shí)時(shí)中斷使能位1=在RTIF置位時(shí)申請(qǐng)中斷0=不申請(qǐng)來(lái)自于RTI模塊的中斷實(shí)時(shí)中斷RTI相關(guān)寄存器(1)中斷使能寄存器(CRGINT)自給時(shí)鐘模式使能位1=在SCMIF置位時(shí)申請(qǐng)中斷0=不申請(qǐng)SCMLOC中斷鎖定中斷使能位1=在LOCKIF置位時(shí)申請(qǐng)中斷0=不申請(qǐng)LOCK中斷注:RTIF、LOCKIF、SCMIF見(jiàn)CRGFLG寄存器。實(shí)時(shí)中斷使能位實(shí)時(shí)中斷RTI相關(guān)寄存器(1)中斷使能寄存器(34RTR[6:4]——實(shí)時(shí)中斷預(yù)分頻選擇位RTR[3:0]——實(shí)時(shí)中斷分頻系數(shù)選擇位時(shí)鐘源是外部振蕩器RTI超時(shí)周期設(shè)置參照表:(2)RTI控制寄存器(RTICTL)RTR[6:4]——實(shí)時(shí)中斷預(yù)分頻選擇位(2)RTI控制寄存35RTI程序舉例RTICTL=0x7e;//4M/15*2^16=4HzCRGINT=0x80;//中斷使能得到大約每秒4次的中斷RTI程序舉例RTICTL=0x7e;//4M/15*236COP(看門(mén)狗)相關(guān)寄存器COP窗口模式位1=看門(mén)狗復(fù)位的寫(xiě)操作必須在看門(mén)狗溢出周期的最后1/4時(shí)間內(nèi)0=看門(mén)狗復(fù)位的寫(xiě)操作可以在整個(gè)溢出周期內(nèi)發(fā)生(1)COP控制寄存器(COPCTL)BDM模式下,1=COP和RTI停止運(yùn)行0=COP和RTI繼續(xù)運(yùn)行看門(mén)狗溢出周期選擇位(2)COP復(fù)位寄存器(ARMCTL)——向該寄存器先寫(xiě)$55,然后寫(xiě)$AA即可復(fù)位看門(mén)狗。COP(看門(mén)狗)相關(guān)寄存器COP窗口模式位(1)COP控制寄37軟件中斷(SWI)-內(nèi)部中斷源非法指令陷阱-內(nèi)部中斷源非屏蔽中斷()-外部中斷源
一次操作機(jī)會(huì),打開(kāi)后不能關(guān)閉。可屏蔽中斷除上面三種類(lèi)型的,其余均為可屏蔽中斷。其中為外部中斷源,其余均為內(nèi)部中斷源。注:(1)每個(gè)可屏蔽中斷受兩層控制,一是全局中斷屏蔽位,即CCR中的I位;二是各個(gè)中斷源相關(guān)的本地控制位。(2)各個(gè)中斷源、中斷向量表以及優(yōu)先級(jí)見(jiàn)教材55頁(yè)表2-8。1、中斷源§3-6中斷系統(tǒng)軟件中斷(SWI)-內(nèi)部中斷源1、中斷源§3-6中斷系統(tǒng)38
邊沿觸發(fā)允許位0=引腳低電平觸發(fā)1=引腳下降沿觸發(fā)2、中斷控制相關(guān)寄存器(1)中斷使能及方式控制(INTCR)IRQ中斷允許位0=IRQ引腳與中斷邏輯斷開(kāi)1=IRQ引腳連接到中斷邏輯邊沿觸發(fā)允許位2、中斷控制相關(guān)寄存器(1)中斷39注:任何一個(gè)可屏蔽中斷源都可通過(guò)HPRIO設(shè)定為最高優(yōu)先級(jí),
其余中斷源的相對(duì)優(yōu)先級(jí)保持不變。(2)中斷優(yōu)先級(jí)控制寄存器(HPRIO)可屏蔽中斷優(yōu)先級(jí)選擇位用法:將中斷向量地址的低位字節(jié)寫(xiě)入該寄存器,則該中斷的優(yōu)先級(jí)就最高了。默認(rèn)為F2,表示IRQ中斷優(yōu)先級(jí)最高.注:任何一個(gè)可屏蔽中斷源都可通過(guò)HPRIO設(shè)定為最高優(yōu)先級(jí),40§3-7MC9S12單片機(jī)最小系統(tǒng)硬件設(shè)計(jì)
——以MC9S12DG128為例時(shí)鐘電路給單片機(jī)提供一個(gè)外接的16MHz的石英晶振串口的RS-232驅(qū)動(dòng)電路可實(shí)現(xiàn)TTL電平到RS-232電平的轉(zhuǎn)換BDM口讓用戶(hù)可以通過(guò)BDM調(diào)試工具向單片機(jī)下載和調(diào)試程序供電電路主要是由單片機(jī)提供+5V電源和電源濾波復(fù)位電路是通過(guò)一個(gè)復(fù)位按鍵給單片機(jī)一個(gè)復(fù)位信號(hào),調(diào)試過(guò)程中很有用?!?-7MC9S12單片機(jī)最小系統(tǒng)硬件設(shè)計(jì)
——以MC9S41第3章MC9S12單片機(jī)的內(nèi)核及片上資源課件42第3章MC9S12單片機(jī)的內(nèi)核及片上資源課件43謝謝!謝謝!44第三章MC9S12單片機(jī)的內(nèi)核及片上資源
§3-1內(nèi)核結(jié)構(gòu)及引腳§3-2內(nèi)部寄存器§3-3堆?!?-4內(nèi)部存儲(chǔ)器§3-5復(fù)位及時(shí)鐘§3-6中斷§3-7最小系統(tǒng)設(shè)計(jì)內(nèi)容提要:第三章MC9S12單片機(jī)的內(nèi)核及片上資源§3-1內(nèi)核45內(nèi)核結(jié)構(gòu)—存儲(chǔ)器以MC9S12DP256為例256KFLASH12KRAM4KEEPROMMC9S12DG128擁有128K的FLASH,8K的RAM,2K的EEPROM?!?-1內(nèi)核結(jié)構(gòu)及引腳內(nèi)核結(jié)構(gòu)—存儲(chǔ)器以MC9S12DP256為例MC9S12DG46電壓調(diào)整模塊及相關(guān)引腳電壓調(diào)整模塊給內(nèi)核供電2.5VVDD1/2和VSS1/2:內(nèi)核供電引腳,之間要接去耦電容VREGEN引腳上拉使能電壓調(diào)整模塊,VDD1/2,VDDPLL使用內(nèi)部2.5V電源VREGEN引腳接地禁止模塊,VDD1/2,VDDPLL接外部2.5V電源VDDR、VSSR:電壓調(diào)整模塊及I/O供電,分別接電源和地,之間要接去耦電容電壓調(diào)整模塊及相關(guān)引腳電壓調(diào)整模塊VREGEN引腳上拉47時(shí)鐘和鎖相環(huán)及相關(guān)引腳EXTAL、XTAL:接外部振蕩器RESET:接外部復(fù)位,低電平有效XFC:接鎖相環(huán)濾波電容VDDPLL、VSSPLL:鎖相環(huán)供電引腳。使能電壓調(diào)整模塊(VREGEN上拉)時(shí),該引腳直接去耦電容。時(shí)鐘和鎖相環(huán)及相關(guān)引腳EXTAL、XTAL:接外部振蕩器48模式選擇及相關(guān)引腳模式選擇和PORTE復(fù)用TEST:保留腳,接地XIRQ:非屏蔽中斷IRQ:可屏蔽中斷R/W:讀寫(xiě)信號(hào),指示總線(xiàn)上數(shù)據(jù)方向LSTRB:總線(xiàn)模式下低位字節(jié)(奇地址)選通ECLK:內(nèi)部總線(xiàn)時(shí)鐘輸出,一般在寬擴(kuò)展模式下地址鎖存用BKGD(MODC)、MODB、MODA:模式選擇NOACC/XCLKS:當(dāng)前外部總線(xiàn)操作無(wú)效模式選擇及相關(guān)引腳模式選擇和PORTE復(fù)用R/W:讀寫(xiě)信號(hào),49模式選擇模式選擇50地址數(shù)據(jù)總線(xiàn)PORTA和PORTB作為擴(kuò)展模式下的數(shù)據(jù)和地址復(fù)用總線(xiàn),尋址達(dá)到64K范圍窄模式下:PORTA為8位數(shù)據(jù)總線(xiàn)寬模式下:PORTA、PORTB為16位數(shù)據(jù)總線(xiàn)PTK為擴(kuò)展存儲(chǔ)器超過(guò)64K時(shí)用,不擴(kuò)展時(shí)作為普通I/O口。地址數(shù)據(jù)總線(xiàn)PORTA和PORTB作為擴(kuò)展模式下的數(shù)據(jù)和地址51擴(kuò)展窄模式地址線(xiàn)接法擴(kuò)展窄模式地址線(xiàn)接法52擴(kuò)展寬模式地址線(xiàn)接法擴(kuò)展寬模式地址線(xiàn)接法53ATD模塊及相關(guān)引腳VRH、VRL:參考高壓和參考低壓,一般接5V(隔離)和GND(單點(diǎn)共地)。VDDA、VSSA:A/D模塊電源引腳。AN0-AN7:模擬量輸入引腳,8個(gè)通道。作普通I/O時(shí),只能輸入,不能輸出。ATD模塊及相關(guān)引腳VRH、VRL:參考高壓和參考低壓,一般54定時(shí)器及相關(guān)引腳IOC0-7:輸入捕獲:捕獲外部有效邊沿輸出比較:輸出一定寬度的脈沖作為普通I/O口時(shí),為PORTT,輸入輸出。定時(shí)器及相關(guān)引腳IOC0-7:作為普通I/O口時(shí),為PORT55SPI、PWM及相關(guān)引腳2個(gè)SPI口MISO:主機(jī)輸入/從機(jī)輸出MOSI:主機(jī)輸出/從機(jī)輸入SCK:同步時(shí)鐘(主機(jī)提供,從機(jī)接受)SS:從機(jī)選擇(1-主機(jī),0-從機(jī))PWM0-7:PWM模塊8個(gè)通道作為普通I/O:PORTPSPI、PWM及相關(guān)引腳2個(gè)SPI口PWM0-7:PWM模塊56異步串行口及相關(guān)引腳2個(gè)SCI:RXD:數(shù)據(jù)接收TXD:數(shù)據(jù)發(fā)送1個(gè)SPI1個(gè)BDLC4(5)個(gè)CAN:RXCAN接收、TXCAN發(fā)送作為普通I/O使用:PORTS,PORTM異步串行口及相關(guān)引腳2個(gè)SCI:4(5)個(gè)CAN:RXCAN57中斷I/O口作為普通并行I/O口:PORTJ、PORTHPJ口和PH口可以作為中斷口:可選擇上升或者下降沿中斷;PJ6和PJ7與I2C和CAN4模塊復(fù)用引腳。(I2C:SDA數(shù)據(jù)引腳、SCL時(shí)鐘引腳)中斷I/O口PJ口和PH口可以作為中斷口:可選擇上升或者下降58電源引腳*VDD1、2,VSS1、2:內(nèi)部邏輯供電*VDDPLL,VSSPLL:鎖相環(huán)供電*-使能電壓調(diào)整模塊(VREGEN上拉),該引腳直接去耦電容。VDDX,VSSX:I/O供電電源引腳VDDR,VSSR:電壓調(diào)整器及I/O供電電源引腳VDDA,VSSA:A/D模塊供電電源引腳電源引腳*VDD1、2,VSS1、2:內(nèi)部邏輯供電VDDX,59§3-2內(nèi)部寄存器累加器A、B:保存操作數(shù)和操作結(jié)果,組成16位累加器D。變址寄存器X、Y:尋址操作、臨時(shí)數(shù)據(jù)、參與運(yùn)算。堆棧指針SP:中斷、子程序調(diào)用,暫存數(shù)據(jù)。堆棧由高地址向低地址生成,棧頂為實(shí)棧頂。程序計(jì)數(shù)器PC:存放下一條要執(zhí)行的指令地址?!?-2內(nèi)部寄存器累加器A、B:保存操作數(shù)和操作結(jié)果,組成60條件碼寄存器CCR:包括5個(gè)狀態(tài)指示器、兩個(gè)中斷屏蔽位、STOP指令控制位。1-CPU不可執(zhí)行STOP;0-反之1-屏蔽XIRQ中斷;0-反之1-產(chǎn)生了半進(jìn)位1-屏蔽所有可屏蔽中斷1-運(yùn)算結(jié)果有負(fù)數(shù)1-運(yùn)算結(jié)果有01-運(yùn)算結(jié)果溢出1-運(yùn)算產(chǎn)生進(jìn)/借位條件碼寄存器CCR:包括5個(gè)狀態(tài)指示器、兩個(gè)中斷屏蔽位、ST61§3-3堆棧堆棧由高地址向低地址生成,SP總是指向最后進(jìn)入堆棧的一個(gè)字節(jié)實(shí)棧頂
——壓棧時(shí)先調(diào)整堆棧指針(SP←(SP-1)),后保存數(shù)據(jù)。
——出棧時(shí)先彈出數(shù)據(jù),后修改棧頂(SP←(SP+1))子程序調(diào)用時(shí),程序返回地址自動(dòng)壓棧、中斷響應(yīng)后,除斷點(diǎn)地址自動(dòng)壓棧外,CPU寄存器Y、X、A、B、CCR也依次自動(dòng)壓棧;執(zhí)行中斷返回指令時(shí),斷點(diǎn)地址和CPU寄存器按照和入棧時(shí)相反的順序依次自動(dòng)出棧?!?-3堆棧堆棧由高地址向低地址生成,SP總是指向最后進(jìn)入62棧區(qū)必須在程序開(kāi)始部分在內(nèi)部RAM區(qū)指定,即SP的初始化。中斷進(jìn)棧舉例:執(zhí)行到$80F0處的程序時(shí),CPU響應(yīng)中斷,且此時(shí)SP的內(nèi)容(棧頂)為$3F00,則SPSP自動(dòng)壓棧的內(nèi)容和順序中斷返回時(shí),自動(dòng)出棧的內(nèi)容和順序棧區(qū)必須在程序開(kāi)始部分在內(nèi)部RAM區(qū)指定,即SP的初始化。S63§3-4內(nèi)部存儲(chǔ)器—基本內(nèi)存空間§3-4內(nèi)部存儲(chǔ)器—基本內(nèi)存空間64內(nèi)部寄存器EEPROMRAM16KB固定Flash$3E16KB分頁(yè)Flash$3016KB固定Flash$3F中斷向量區(qū)$0000$0400$1000$4000$8000$C000$FF00$FFFF$30$31$32$33$34$35$36$37$38$39$3A$3B$3C$3D$3E$3FBlock3Block2Block1Block0
由PPAGE寄存器(地址$30)決定某一頁(yè)在$8000~$BFFF。DP256片內(nèi)有256KFlash,分16頁(yè),每頁(yè)16K,一般定位:$4000~$7FFF16K($3E)$C000~$FF0016K($3F)內(nèi)存以頁(yè)面方式擴(kuò)展內(nèi)部寄存器EEPROMRAM16KB固定Flash$3E1665存儲(chǔ)器容量寄存器1=寄存器空間為2KB0=寄存器空間為1KB存儲(chǔ)器容量寄存器0-MEMSIZ0只讀(默認(rèn)值由芯片的型號(hào)決定)詳見(jiàn)下頁(yè)表EEPROM空間分配00=0KB01=2KB10=4KB11=8KB例如:DG128復(fù)位時(shí)MEMSIZ0的值為$13,即表示有1KB的寄存器、2KB的EEPROM、8KB的RAM空間。存儲(chǔ)器容量寄存器1=寄存器空間為2KB存儲(chǔ)器容量寄存器0-M66存儲(chǔ)器容量寄存器RAM_SW2-RAM_SW0:分配系統(tǒng)RAM存儲(chǔ)空間存儲(chǔ)器容量寄存器RAM_SW2-RAM_SW0:分配系統(tǒng)RA67寄存器區(qū)映射寄存器-INITRG指定內(nèi)部寄存器區(qū)基址的高5位。則最小基址是$0000,最大基址為$7FFF(D7=0決定)。
使用時(shí),一般定位在$0000開(kāi)始的1K中。 因?yàn)榍?56個(gè)字節(jié)可以用直接地址(8bit地址)訪(fǎng)問(wèn),如果定位在其它地方,應(yīng)用擴(kuò)展地址(16bit地址碼)訪(fǎng)問(wèn)。寄存器區(qū)映射寄存器-INITRG指定內(nèi)部寄存器區(qū)基址的高5位68RAM映射寄存器-INITRM0=RAM和內(nèi)部地址空間最低端對(duì)齊1=RAM和內(nèi)部地址空間最高端對(duì)齊9S12DG128有8KRAM空間,默認(rèn)$0000~$1FFF,若定位在$2000~$3FFF,則INITRM值應(yīng)為$39。例:RAM映射寄存器-INITRM0=RAM和內(nèi)部地址空間最低端69EEPROM映射寄存器-INITEE0=禁用EEPROM1=使能EEPROM指定EEPROM基址的高5位。例:DG128有2K的EEPROM。若給INITEE賦值為$09,則EEPROM區(qū)域就是$0800~$0FFF。EEPROM映射寄存器-INITEE0=禁用EEPROM指定70存儲(chǔ)器優(yōu)先級(jí)上述三個(gè)寄存器INITRG、INITRM、INITEE負(fù)責(zé)將內(nèi)部資源重新映射若地址分配出現(xiàn)重疊,按優(yōu)先級(jí)自動(dòng)屏蔽級(jí)別較低的資源存儲(chǔ)器分配優(yōu)先級(jí):BDMROM寄存器區(qū)RAMEEPROMFlash/ROM外部擴(kuò)展存儲(chǔ)器高低存儲(chǔ)器優(yōu)先級(jí)上述三個(gè)寄存器INITRG、INITRM、INI71§3-5復(fù)位及時(shí)鐘—復(fù)位上電復(fù)位單片機(jī)自動(dòng)檢測(cè)VDD端的正跳變,啟動(dòng)自動(dòng)工作。外部復(fù)位通過(guò)RESET引腳加一低電壓,拉低超過(guò)一定時(shí)間后可實(shí)現(xiàn)復(fù)位??撮T(mén)狗復(fù)位幫助系統(tǒng)在軟件跑飛后自動(dòng)復(fù)位。時(shí)鐘監(jiān)視器復(fù)位利用內(nèi)部的RC電路來(lái)保證時(shí)鐘頻率滿(mǎn)足要求。§3-5復(fù)位及時(shí)鐘—復(fù)位上電復(fù)位72振蕩器和時(shí)鐘電路EXTAL是外部時(shí)鐘輸入或石英振蕩放大器的輸入XTAL是石英振蕩放大器的輸出振蕩電路注:DG128可用串聯(lián)振蕩電路和并聯(lián)振蕩電路兩種連接方式。
9S12X系列單片機(jī)只可用并聯(lián)振蕩電路。串聯(lián)方式(PE7引腳要拉低)并聯(lián)方式(PE7引腳要拉高)振蕩器和時(shí)鐘電路EXTAL是外部時(shí)鐘輸入或石英振蕩放大器的輸73時(shí)鐘初始化寄存器-共5個(gè)(1)鎖相環(huán)控制寄存器(PLLCTL)鎖相環(huán)電路允許位1=允許0=禁止時(shí)鐘監(jiān)控允許位1=允許0=禁止注:其余各位的描述見(jiàn)教材49頁(yè)。時(shí)鐘初始化寄存器-共5個(gè)(1)鎖相環(huán)控制寄存器(PLLCTL74(2)時(shí)鐘合成寄存器(SYNR)-低6位有效,有效值0~63。(3)時(shí)鐘分頻寄存器(REFDV)-低4位有效,有效值0~15。由鎖相環(huán)來(lái)產(chǎn)生時(shí)鐘頻率的公式:例如:選用16MHz的外部晶振,若將SYNR設(shè)為
2,REFDV設(shè)為1,通過(guò)公式計(jì)算可得
PLLCLK=48MHz。(2)時(shí)鐘合成寄存器(SYNR)-低6位有效,有效值0~6375鎖相環(huán)頻率鎖定標(biāo)志1=表示時(shí)鐘頻率已穩(wěn)定,且鎖定了鎖相環(huán)頻率。(4)時(shí)鐘產(chǎn)生模塊的標(biāo)志寄存器CRGFLG注:其余各位的描述見(jiàn)教材49頁(yè)和50頁(yè)。(5)時(shí)鐘選擇寄存器(CLKSEL)選定鎖相環(huán)1表示BusClock=PLLCLK/20表示BusClock=OSCCLK/2實(shí)時(shí)中斷標(biāo)志位1=RTI發(fā)生了超時(shí)中斷,向該位寫(xiě)1清除該中斷標(biāo)志位。鎖相環(huán)頻率鎖定標(biāo)志(4)時(shí)鐘產(chǎn)生模塊的標(biāo)志寄存器CRGFLG76PLL例子CLKSEL=0x00;//禁止PLLPLLCTL=0xe1;//PLL電路允許
SYNR=2;REFDV=1;//設(shè)置倍頻參數(shù)
PLLCTL=0x60;//時(shí)鐘監(jiān)控禁止
while(0==(CRGFLG&0x08));//等待穩(wěn)定
CLKSEL=0x80;//選擇PLL作為時(shí)鐘//若晶振為16M,則PLLCLK=2*16*3/2=48MHz,則總線(xiàn)頻率是24MHzPLL例子CLKSEL=0x00;//禁止PLL77實(shí)時(shí)中斷使能位1=在RTIF置位時(shí)申請(qǐng)中斷0=不申請(qǐng)來(lái)自于RTI模塊的中斷實(shí)時(shí)中斷RTI相關(guān)寄存器(1)中斷使能寄存器(CRGINT)自給時(shí)鐘模式使能位1=在SCMIF置位時(shí)申請(qǐng)中斷0=不申請(qǐng)SCMLOC中斷鎖定中斷使能位1=在LOCKIF置位時(shí)申請(qǐng)中斷0=不申請(qǐng)LOCK中斷注:RTIF、LOCKIF、SCMIF見(jiàn)CRGFLG寄存器。實(shí)時(shí)中斷使能位實(shí)時(shí)中斷RTI相關(guān)寄存器(1)中斷使能寄存器(78RTR[6:4]——實(shí)時(shí)中斷預(yù)分頻選擇位RTR[3:0]——實(shí)時(shí)中斷
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 腫瘤的認(rèn)知和預(yù)防方法
- 未來(lái)廚房電動(dòng)料理站行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 智能烤箱遠(yuǎn)程監(jiān)控行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 工業(yè)塑料薄膜批發(fā)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 西瓜形掛件企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 水路運(yùn)輸代理服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 膠合板企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 出境游企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 塑料包裝箱及容器批發(fā)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 嘉興重涂雕塑施工方案
- 嚇數(shù)基礎(chǔ)知識(shí)共20
- 課內(nèi)古詩(shī)詞內(nèi)容精講蒹 葭
- 常暗之廂(7規(guī)則-簡(jiǎn)體修正)
- 10kV變電所設(shè)備檢修內(nèi)容與周期表
- 井控系統(tǒng)操作維護(hù)與保養(yǎng)規(guī)程
- 電子產(chǎn)品高可靠性裝聯(lián)工藝下
- 越南北部工業(yè)區(qū)資料(1060707)
- 教務(wù)處巡課記錄表
- 東亞文明的歷史進(jìn)程課件
- 三洋波輪洗衣機(jī)說(shuō)明書(shū)
- 10kV用戶(hù)變?cè)O(shè)備命名編號(hào)標(biāo)準(zhǔn)化規(guī)定
評(píng)論
0/150
提交評(píng)論