第3章MC9S12單片機(jī)內(nèi)核與片上資源_第1頁
第3章MC9S12單片機(jī)內(nèi)核與片上資源_第2頁
第3章MC9S12單片機(jī)內(nèi)核與片上資源_第3頁
第3章MC9S12單片機(jī)內(nèi)核與片上資源_第4頁
第3章MC9S12單片機(jī)內(nèi)核與片上資源_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章MC9S12單片機(jī)內(nèi)核與片上資源第一頁,共54頁?!?-1內(nèi)核結(jié)構(gòu)及引腳第二頁,共54頁。Freescale單片機(jī)的命名規(guī)則

①產(chǎn)品狀態(tài)。MC—FullyQualified(合格);PC—ProductEngineering(測試品);XC表示部分合格品,有限質(zhì)量保證,用于性能評估的器件。②存儲器類型標(biāo)志?!盁o”表示片內(nèi)帶ROM或片內(nèi)沒有程序存儲器;7表示片內(nèi)帶EPROM或一次可編程ROM(onetimeprogrammableROM,OTPROM);8表示片內(nèi)帶EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory);9表示片內(nèi)帶閃存FlashEEPROM。③芯片內(nèi)核類型。如08表示HC08內(nèi)核、S08表示HCS08內(nèi)核、RS08表示RS08內(nèi)核等。第三頁,共54頁。④子系列型號標(biāo)志。如GP、GB、GZ等。⑤存儲器大小。如2表示2KB、32表示32KB、60表示60KB等。⑥Flash版本標(biāo)志,反映不同的擦寫電壓、時間等。⑦工作溫度范圍標(biāo)志?!盁o”表示商用溫度范圍0℃~70℃;C表示-40℃~85℃;V表示-40℃~105℃;M表示-40℃~125℃。⑧封裝形式。如:P為雙列直插DIP封裝。選用某款芯片制作電路板時要特別注意封裝形式。⑨E表示leadfreepackaging,即無鉛封裝。

在⑨之后有些還有一個可選項,例如MC68HC912B32ACFUE8,此處的“8”表示總線速度為8MHz。第四頁,共54頁。內(nèi)核結(jié)構(gòu)—存儲器以MC9S12DP256為例256KFLASH12KRAM4KEEPROMMC9S12DG128擁有128K的FLASH,8K的RAM,2K的EEPROM。第五頁,共54頁。電壓調(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供電,分別接電源和地,之間要接去耦電容第六頁,共54頁。時鐘和鎖相環(huán)及相關(guān)引腳EXTAL、XTAL:接外部振蕩器RESET:接外部復(fù)位,低電平有效XFC:接鎖相環(huán)濾波電容VDDPLL、VSSPLL:鎖相環(huán)供電引腳。使能電壓調(diào)整模塊(VREGEN上拉)時,該引腳直接去耦電容。第七頁,共54頁。模式選擇及相關(guān)引腳模式選擇和PORTE復(fù)用TEST:保留腳,接地XIRQ:非屏蔽中斷IRQ:可屏蔽中斷R/W:讀寫信號,指示總線上數(shù)據(jù)方向LSTRB:總線模式下低位字節(jié)(奇地址)選通ECLK:內(nèi)部總線時鐘輸出,一般在寬擴(kuò)展模式下地址鎖存用BKGD(MODC)、MODB、MODA:模式選擇NOACC/XCLKS:外部振蕩電路方式選擇(當(dāng)使用串行振蕩電路時,該引腳要拉高;當(dāng)使用并行振蕩電路時,該引腳要接地。)第八頁,共54頁。串聯(lián)方式(引腳要拉高)并聯(lián)方式(引腳要接地)第九頁,共54頁。模式選擇第十頁,共54頁。地址數(shù)據(jù)總線PORTA和PORTB作為擴(kuò)展模式下的數(shù)據(jù)和地址復(fù)用總線,尋址達(dá)到64K范圍窄模式下:PORTA為8位數(shù)據(jù)總線寬模式下:PORTA、PORTB為16位數(shù)據(jù)總線PTK為擴(kuò)展存儲器超過64K時用,不擴(kuò)展時作為普通I/O口。第十一頁,共54頁。擴(kuò)展窄模式地址線接法第十二頁,共54頁。擴(kuò)展寬模式地址線接法第十三頁,共54頁。ATD模塊及相關(guān)引腳VRH、VRL:參考高壓和參考低壓,一般接5V(隔離)和GND(單點共地)。VDDA、VSSA:A/D模塊電源引腳。AN0-AN7:模擬量輸入引腳,8個通道。作普通I/O時,只能輸入,不能輸出。第十四頁,共54頁。定時器及相關(guān)引腳IOC0-7:輸入捕獲:捕獲外部有效邊沿輸出比較:輸出一定寬度的脈沖作為普通I/O口時,為PORTT,輸入輸出。第十五頁,共54頁。SPI、PWM及相關(guān)引腳2個SPI口MISO:主機(jī)輸入/從機(jī)輸出MOSI:主機(jī)輸出/從機(jī)輸入SCK:同步時鐘(主機(jī)提供,從機(jī)接受)SS:從機(jī)選擇(1-主機(jī),0-從機(jī))PWM0-7:PWM模塊8個通道作為普通I/O:PORTP第十六頁,共54頁。異步串行口及相關(guān)引腳2個SCI:RXD:數(shù)據(jù)接收TXD:數(shù)據(jù)發(fā)送1個SPI1個BDLC4(5)個CAN:RXCAN接收、TXCAN發(fā)送作為普通I/O使用:PORTS,PORTM第十七頁,共54頁。中斷I/O口作為普通并行I/O口:PORTJ、PORTHPJ口和PH口可以作為中斷口:可選擇上升或者下降沿中斷;PJ6和PJ7與I2C和CAN4模塊復(fù)用引腳。(I2C:SDA數(shù)據(jù)引腳、SCL時鐘引腳)第十八頁,共54頁。電源引腳*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模塊供電電源引腳第十九頁,共54頁?!?-2內(nèi)部寄存器累加器A、B:保存操作數(shù)和操作結(jié)果,組成16位累加器D。變址寄存器X、Y:尋址操作、臨時數(shù)據(jù)、參與運算。堆棧指針SP:中斷、子程序調(diào)用,暫存數(shù)據(jù)。堆棧由高地址向低地址生成,棧頂為實棧頂。程序計數(shù)器PC:存放下一條要執(zhí)行的指令地址。第二十頁,共54頁。條件碼寄存器CCR:包括5個狀態(tài)指示器、兩個中斷屏蔽位、STOP指令控制位。1-CPU不可執(zhí)行STOP;0-反之1-屏蔽XIRQ中斷;0-反之1-產(chǎn)生了半進(jìn)位1-屏蔽所有可屏蔽中斷1-運算結(jié)果有負(fù)數(shù)1-運算結(jié)果有01-運算結(jié)果溢出1-運算產(chǎn)生進(jìn)/借位第二十一頁,共54頁。溢出標(biāo)志和進(jìn)位標(biāo)志是兩個意義不同的標(biāo)志。進(jìn)位標(biāo)志表示無符號數(shù)運算結(jié)果是否超出范圍,運算結(jié)果仍然正確;溢出標(biāo)志表示有符號數(shù)(以補(bǔ)碼形式表示)運算結(jié)果是否超出范圍,運算結(jié)果已經(jīng)不正確。正數(shù)和負(fù)數(shù)相加不會溢出

兩個正數(shù)相加,如果結(jié)果為負(fù)數(shù)(符號位為1),表明發(fā)生溢出;

兩個負(fù)數(shù)相加,如果結(jié)果為正數(shù)(符號位為0),表明發(fā)生溢出。處理器對兩個操作數(shù)進(jìn)行運算時,按照無符號數(shù)求得結(jié)果,并相應(yīng)設(shè)置進(jìn)位標(biāo)志;同時,根據(jù)是否超出有符號數(shù)的范圍設(shè)置溢出標(biāo)志。第二十二頁,共54頁。按無符號數(shù)對待按帶符號數(shù)對待000001004(+)4+

00001011

+

11

+

(+)110000111115(+)15按無符號數(shù)對待按帶符號數(shù)對待000001117(+)7+

11111011

+

251

+

(-)51C00000010258(+)2

C=1V=0按無符號數(shù)對待按帶符號數(shù)對待000010019(+)9+

01111100

+

124

+

(+)124

10000101133(+)133

C=0V=1按無符號數(shù)對待按帶符號數(shù)對待10000111135(-)121+

11110101

+

245

+

(-)11

1C01111100380(-)132C=1V=1第二十三頁,共54頁?!?-3堆棧堆棧由高地址向低地址生成,SP總是指向最后進(jìn)入堆棧的一個字節(jié)實棧頂

——壓棧時先調(diào)整堆棧指針(SP←(SP-1)),后保存數(shù)據(jù)。

——出棧時先彈出數(shù)據(jù),后修改棧頂(SP←(SP+1))子程序調(diào)用時,程序返回地址自動壓棧、中斷響應(yīng)后,除斷點地址自動壓棧外,CPU寄存器Y、X、A、B、CCR也依次自動壓棧;執(zhí)行中斷返回指令時,斷點地址和CPU寄存器按照和入棧時相反的順序依次自動出棧。第二十四頁,共54頁。棧區(qū)必須在程序開始部分在內(nèi)部RAM區(qū)指定,即SP的初始化。中斷進(jìn)棧舉例:執(zhí)行到$80F0處的程序時,CPU響應(yīng)中斷,且此時SP的內(nèi)容(棧頂)為$3F00,則SPSP自動壓棧的內(nèi)容和順序中斷返回時,自動出棧的內(nèi)容和順序第二十五頁,共54頁?!?-4內(nèi)部存儲器—基本內(nèi)存空間MC9S12系列單片機(jī)片內(nèi)有RAM、EEPROM和Flash,不同型號單片機(jī)有不同的存儲器配置。程序存儲器和數(shù)據(jù)存儲器統(tǒng)一編址,其地址空間可以通過設(shè)置相關(guān)寄存器重新定義。以MC9S12DT128為例:8KBRAM;2KBEEPROM;128KBFlash。第二十六頁,共54頁。第二十七頁,共54頁。存儲器容量寄存器1=寄存器空間為2KB0=寄存器空間為1KB存儲器容量寄存器0-MEMSIZ0只讀(默認(rèn)值由芯片的型號決定)詳見下頁表EEPROM空間分配00=0KB01=2KB10=4KB11=8KB例如:DG128復(fù)位時MEMSIZ0的值為$13,即表示有1KB的寄存器、2KB的EEPROM、8KB的RAM空間。第二十八頁,共54頁。存儲器容量寄存器RAM_SW2-RAM_SW0:分配系統(tǒng)RAM存儲空間第二十九頁,共54頁。寄存器區(qū)映射寄存器-INITRG指定內(nèi)部寄存器區(qū)基址的高5位。則最小基址是$0000,最大基址為$7FFF(D7=0決定)。

使用時,一般定位在$0000開始的1K中。 因為前256個字節(jié)可以用直接地址(8bit地址)訪問,如果定位在其它地方,應(yīng)用擴(kuò)展地址(16bit地址碼)訪問。第三十頁,共54頁。RAM映射寄存器-INITRM0=RAM和內(nèi)部地址空間最低端對齊1=RAM和內(nèi)部地址空間最高端對齊9S12DG128有8KRAM空間,默認(rèn)$0000~$1FFF,若定位在$2000~$3FFF,則INITRM值可為$39。例:第三十一頁,共54頁。EEPROM映射寄存器-INITEE0=禁用EEPROM1=使能EEPROM指定EEPROM基址的高5位。例:DG128有2K的EEPROM。若給INITEE賦值為$09,則EEPROM區(qū)域就是$0800~$0FFF。第三十二頁,共54頁。內(nèi)部寄存器EEPROMRAM16KB固定Flash$3E16KB分頁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)決定某一頁在$8000~$BFFF。DP256片內(nèi)有256KFlash,分16頁,每頁16K,一般定位:$4000~$7FFF16K($3E)$C000~$FFFF16K($3F)內(nèi)存以頁面方式擴(kuò)展第三十三頁,共54頁。存儲器優(yōu)先級上述三個寄存器INITRG、INITRM、INITEE負(fù)責(zé)將內(nèi)部資源重新映射若地址分配出現(xiàn)重疊,按優(yōu)先級自動屏蔽級別較低的資源存儲器分配優(yōu)先級:BDMROM寄存器區(qū)RAMEEPROMFlash/ROM外部擴(kuò)展存儲器高低第三十四頁,共54頁。說明:單片機(jī)內(nèi)部有不同的I/O接口模塊,對應(yīng)的寄存器有幾百個,這些存儲器占用1KB的地址空間,這一I/O寄存器空間可以由用戶任意定義到前32KB空間的任何一個2KB空間的前半部分。但是從$0000~$00FF這256個字節(jié)可以使用直接尋址方式。EEPROM默認(rèn)情況下也是從$0000開始的,因為優(yōu)先級沒有寄存器區(qū)高,所以復(fù)位以后有1KB的區(qū)域會被寄存器區(qū)覆蓋,如果要使用全部的EEPROM,可以將其重新定義到其它空間,或?qū)/O寄存器移到其它空間。第三十五頁,共54頁。說明:3.不同型號的單片機(jī)有不同容量的片內(nèi)RAM,有2KB、4KB、8KB、12KB等。例如MC9S12DP256有12KB的RAM,可配置INITRM寄存器使RAM占據(jù)$1000~$3FFF的全部空間。如果單片機(jī)有8KB的RAM,可以定義到$2000~$3FFF。4.$4000~$FFFF的48KB為Flash存儲器空間,分成3塊,每塊16KB。最后16KB空間的最后256B($FF00~$FFFF)是中斷向量表空間。

第三十六頁,共54頁。§3-5復(fù)位及時鐘—復(fù)位上電復(fù)位單片機(jī)自動檢測VDD端的正跳變,啟動自動工作。外部復(fù)位通過RESET引腳加一低電壓,拉低超過一定時間后可實現(xiàn)復(fù)位??撮T狗復(fù)位幫助系統(tǒng)在軟件跑飛后自動復(fù)位。時鐘監(jiān)視器復(fù)位利用內(nèi)部的RC電路來保證時鐘頻率滿足要求。第三十七頁,共54頁。振蕩器和時鐘電路EXTAL是外部時鐘輸入或石英振蕩放大器的輸入XTAL是石英振蕩放大器的輸出振蕩電路注:DG128可用串聯(lián)振蕩電路和并聯(lián)振蕩電路兩種連接方式。

9S12X系列單片機(jī)只可用并聯(lián)振蕩電路。使用串行振蕩電路時,PE7引腳要拉高,而使用并聯(lián)振蕩電路或外部有源振蕩器時,該引腳要接地。PE7懸空則為串聯(lián)方式。第三十八頁,共54頁。時鐘初始化寄存器-共5個(1)鎖相環(huán)控制寄存器(PLLCTL)鎖相環(huán)電路允許位1=允許0=禁止時鐘監(jiān)控允許位1=允許0=禁止注:其余各位的描述見教材49頁。第三十九頁,共54頁。(2)時鐘合成寄存器(SYNR)-低6位有效,有效值0~63。(3)時鐘分頻寄存器(REFDV)-低4位有效,有效值0~15。由鎖相環(huán)來產(chǎn)生時鐘頻率的公式:例如:選用16MHz的外部晶振,若將SYNR設(shè)為

2,REFDV設(shè)為1,通過公式計算可得

PLLCLK=48MHz。第四十頁,共54頁。鎖相環(huán)頻率鎖定標(biāo)志1=表示時鐘頻率已穩(wěn)定,且鎖定了鎖相環(huán)頻率。(4)時鐘產(chǎn)生模塊的標(biāo)志寄存器CRGFLG注:其余各位的描述見教材49頁和50頁。(5)時鐘選擇寄存器(CLKSEL)選定鎖相環(huán)1表示BusClock=PLLCLK/20表示BusClock=OSCCLK/2實時中斷標(biāo)志位1=RTI發(fā)生了超時中斷,向該位寫1清除該中斷標(biāo)志位。第四十一頁,共54頁。PLL例子CLKSEL=0x00;//禁止PLLPLLCTL=0xe1;//PLL電路允許

SYNR=2;REFDV=1;//設(shè)置倍頻參數(shù)

PLLCTL=0x60;//時鐘監(jiān)控禁止

while(0==(CRGFLG&0x08));//等待穩(wěn)定

CLKSEL=0x80;//選擇PLL作為時鐘//若晶振為16M,則PLLCLK=2*16*3/2=48MHz,則總線頻率是24MHz第四十二頁,共54頁。實時中斷使能位1=在RTIF置位時申請中斷0=不申請來自于RTI模塊的中斷實時中斷RTI相關(guān)寄存器(1)中斷使能寄存器(CRGINT)自給時鐘模式使能位1=在SCMIF置位時申請中斷0=不申請SCMLOC中斷鎖定中斷使能位1=在LOCKIF置位時申請中斷0=不申請LOCK中斷注:RTIF、LOCKIF、SCMIF見CRGFLG寄存器。第四十三頁,共54頁。RTR[6:4]——實時中斷預(yù)分頻選擇位RTR[3:0]——實時中斷分頻系數(shù)選擇位時鐘源是外部振蕩器RTI超時周期設(shè)置參照表:(具體見S12CRGV4.pdf的第23頁)(2)RTI控制寄存器(RTICTL)第四十四頁,共54頁。RTI程序舉例RTICTL=0x7e;//4M/15*2^16近似等于4HzCRGINT=0x80;//中斷使能得到大約每秒4次的中斷第四十五頁,共54頁。COP(看門狗)相關(guān)寄存器COP窗口模式位1=看門狗復(fù)位的寫操作必須在看門狗溢出周期的最后1/4時間內(nèi)0=看門狗復(fù)位的寫操作可以在整個溢出周期內(nèi)發(fā)生(1)COP控制寄存器(COPCTL)BDM模式下,1=COP和RTI停止運行0=COP和RTI繼續(xù)運行看門狗溢出周期選擇位(2)COP復(fù)位寄存器(ARMCTL)——向該寄存器先寫$55,然后寫$AA即可復(fù)位看門狗。第四十六頁,共54頁。軟件中斷(SWI)-內(nèi)部中斷源非法指令陷阱-內(nèi)部中斷源非屏蔽中斷()-外部中

溫馨提示

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

評論

0/150

提交評論