飛思卡爾9S12XS128單片機(jī)教程_第1頁(yè)
飛思卡爾9S12XS128單片機(jī)教程_第2頁(yè)
飛思卡爾9S12XS128單片機(jī)教程_第3頁(yè)
飛思卡爾9S12XS128單片機(jī)教程_第4頁(yè)
飛思卡爾9S12XS128單片機(jī)教程_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、9S12XS128單片機(jī)開(kāi)發(fā)工具包清華Freescale MCU/DSP應(yīng)用開(kāi)發(fā)研究中心9S12XS128單片機(jī)開(kāi)發(fā)工具包 1概述39S12XS128 單片機(jī)39S12XS128開(kāi)發(fā)工具包組件 39S12XS128開(kāi)發(fā)板及與 PC通信49S12XS128 開(kāi)發(fā)板4開(kāi)發(fā)板的硬件連接 5PC機(jī)的設(shè)置6監(jiān)控程序及監(jiān)控命令詳解 8命令詳解8復(fù)位、中斷向量表 12用戶可以使用的RAM空間12編譯器 CodeWarrior for HCS12 使用方法入門 13建立工程文件13編寫(xiě) main.c 程序15定義存儲(chǔ)空間分配 17應(yīng)用程序的編譯18向開(kāi)發(fā)板下載程序 20運(yùn)行應(yīng)用程序21概 述這里描述的是一套

2、9S12XS128系列單片機(jī)開(kāi)發(fā)系統(tǒng)套件。以后的更新的版本見(jiàn)清華Freescale單片機(jī)應(yīng)用開(kāi)發(fā)研究中心的網(wǎng)站:www.tsinghua- o開(kāi)發(fā)系統(tǒng)主要由兩個(gè)部分組成,分別是調(diào)試下載用的TBDML和開(kāi)發(fā)用目標(biāo)板。其中TBDML的使用請(qǐng)參見(jiàn)文檔 "BDM for S12 (TTBDM )用戶手冊(cè) V 34.pdf?!?目標(biāo)板是有異步串行口的驅(qū)動(dòng)的基本系統(tǒng)。針對(duì)9S12XS128芯片我們編寫(xiě)了9S12XS128目標(biāo)板監(jiān)控程序,可以方便地完成應(yīng)用系統(tǒng)的開(kāi)發(fā)。用戶可以在此基礎(chǔ)上設(shè)計(jì) 自己所需的目標(biāo)母板,完成項(xiàng)目的初期開(kāi)發(fā)。應(yīng)用軟件完成后,用開(kāi)發(fā)工具板擦除監(jiān)控程 序,下載最終的應(yīng)用程序。9S

3、12XS128單片機(jī)S12XS 16位微控制器系列針對(duì)一系列成本敏感型汽車車身電子應(yīng)用進(jìn)行了優(yōu)化。S12X產(chǎn)品滿足了用戶對(duì)設(shè)計(jì)靈活性和平臺(tái)兼容性的需求,并在一系列汽車電子平臺(tái)上實(shí) 現(xiàn)了可升級(jí)性、硬件和軟件可重用性、以及兼容性。S12XS系列可以經(jīng)濟(jì)而又兼容地?cái)U(kuò)展至帶 XGate協(xié)處理器的 S12XE系列單片機(jī),從 而為用戶削減了成本,并縮小了封裝尺寸。S12XS系列幫助設(shè)計(jì)者迅速抓住市場(chǎng)機(jī)遇,同時(shí)還能降低移植成本。主要特性:,最高總線速度 40MHz、128KB和256KB閃存選項(xiàng),均帶有錯(cuò)誤校正功能(ECC)帶有ECC的、4KB至8KB DataFlash ,用于實(shí)現(xiàn)數(shù)據(jù)或程序存儲(chǔ)可配置8-

4、、10-或12-位模數(shù)轉(zhuǎn)換器(ADC ),轉(zhuǎn)換時(shí)間3 s支持控制區(qū)域網(wǎng)(CAN )、本地互聯(lián)網(wǎng)(LIN )和串行外設(shè)接口( SPI)協(xié)議模塊 帶有16-位計(jì)數(shù)器的、8-通道定時(shí)器 出色的EMC,及運(yùn)行和停止省電模式9S12XS128開(kāi)發(fā)工具包組件9S12XS128開(kāi)發(fā)工具包硬件系統(tǒng)包括以下組件:(1)駐留監(jiān)控程序的 9S12XS128開(kāi)發(fā)板一塊; 帶USB接口的TBDML調(diào)試器一個(gè),簡(jiǎn)稱 BDM頭;(3) BDM 6芯扁帶電纜一根;(4) USB電纜一根;(5) RS-232串口通信線一根;220V ACDC + 5V電源一個(gè);(7) CD光盤(pán)一張,含 CodeWarrior V4.7,可下載

5、的 S12X監(jiān)控程序.S19。9S12XS128開(kāi)發(fā)板及與PC通信9S12XS128開(kāi)發(fā)板9S12XS128開(kāi)發(fā)板如圖1所示: 圖1 PC9S12XS128開(kāi)發(fā)板板上有構(gòu)成最小系統(tǒng)必要的復(fù)位電路、晶體振蕩器及時(shí)鐘電路,串行接口的RS-232驅(qū)動(dòng)電路,+5V電源插座。單片機(jī)中已經(jīng)寫(xiě)入了開(kāi)發(fā)的監(jiān)控程序。單片機(jī)的大部分I/O端口都通過(guò)兩個(gè)64芯的歐式插頭引出。 這兩個(gè)插頭在 PCB上的距離為190mil,如圖2所示。表1、 表2給出了開(kāi)發(fā)板上 P1與P2插座的引腳定義。用戶可以根據(jù)圖2和表1的定義設(shè)計(jì)自己 的應(yīng)用系統(tǒng),即目標(biāo)母板,然后將開(kāi)發(fā)板插在目標(biāo)母板上調(diào)試。圖2 9S12XS128開(kāi)發(fā)板P1、P

6、2間的距離是 1900mil 1mil=25.4 10-5m。表1開(kāi)發(fā)板上P1插座的引腳定義P1 P2I VCC 2 VCC 1 GND 2 VCC3 NC 4 NC 3 NC 4 NC5 GND 6 GND 5 NC 6 NC7 NC 8 NC 7 NC 8 NC9 NC 10 NC 9 PT3 10 PT2II PM2 12PM1 11 PT1 12 PT013PM0 14PM3 13 PK0 14 PK115 PT4 16 PT5 15 PK2 16 PK317 PT6 18 PT7 17 PP0 18 PP119 PK5 20 PK4 19 PP2 20 PP321 PJ1 22 PJ

7、0 21 PP4 22 PP523 NC 24 PB0 23 PP6 24 PP725 PB1 26 PB2 25 PK7 26 NC27 PB3 28 PB4 27 NC 28 PM429 PB5 30 PB6 29 PM5 30 PJ631 PB7 32 PH7 31 PJ7 32 NC33 PH6 34 PH5 33 PS7 34 PS635 PH4 36 PE7 35 PS5 36 PS437 PE6 38 PE5 37 PS3 38 PS239 PE4/ECLK 40 NC 39 TXD0 40 RXD041 NC 42 NC 41 PM6 42 PM743 NC 44 NC 43

8、NC 44 VRL45 NC 46 NC 45 VRH 46 NC47 NC 48 NC 47 AN15 48 AN0749 PH3 50 PH2 49 AN14 50 AN0651 PH1 52 PH0 51 AN13 52 AN0553 PE3 54 PE2 53 AN12 54 AN0455 PE1 56 PE0 55 AN11 56 AN0357 PA0 58 PA1 57 AN10 58 AN0259 PA2 60 PA3 59 AN09 60 AN0161 PA4 62 PA5 61 AN08 62 AN0063 PA6 64 PA7 63 NC 64 NC開(kāi)發(fā)板的硬件連接對(duì)開(kāi)發(fā)板

9、無(wú)需任何設(shè)置,用一條普通串口線(在開(kāi)發(fā)套件中已經(jīng)提供)連接開(kāi)發(fā)板的9芯D型插頭到 PC的串口 1,即COM1 ,(或串口 2也可以,只要把后面的超級(jí)終端 設(shè)置成 直接連接到 COM2就可以了)。5V電源連接到串口旁邊的電源插口中,這樣開(kāi)發(fā)板就連接好了。 PC、開(kāi)發(fā)板、5V電源的連接關(guān)系如圖 3所示。開(kāi)發(fā)板有自己的電源,同時(shí)可以通過(guò)板上的歐式插頭、插座向用戶的應(yīng)用系統(tǒng)板供電;開(kāi)發(fā)板也可以通過(guò)歐式插頭、插座供電。但不要同時(shí)用兩個(gè)電源分別向開(kāi)發(fā)板和應(yīng)用系統(tǒng)板供電!用開(kāi)發(fā)板自帶的5V電源供電時(shí),整個(gè)系統(tǒng)的供電電流不得超過(guò)自帶電源的標(biāo)稱供電電流。PC PC+5V電源+5V電源串口線串口線XS128 XS

10、128圖3 系統(tǒng)的連接關(guān)系注意,在沒(méi)有熟悉和掌握整個(gè)開(kāi)發(fā)環(huán)境之前,不要將開(kāi)發(fā)板插到應(yīng)用系統(tǒng)板上。PC機(jī)的設(shè)置可以使用PC中自帶的超級(jí)終端軟件實(shí)現(xiàn)PC與開(kāi)發(fā)板的通信,雖然 PC自帶的超級(jí)終端軟件比較慢,且很多 PC實(shí)際上達(dá)不到標(biāo)稱波特率應(yīng)該達(dá)到的速率(即達(dá)不到字符間最小間隔1個(gè)、1.5個(gè)、2個(gè)停止位的速率),但使用PC自帶的超級(jí)終端軟件比較方便,不 必尋找專門的通信軟件。首先,執(zhí)行 開(kāi)始”程序” |附件”屈迅” |超級(jí)終端”命令打開(kāi)超級(jí)終端”對(duì)話框,如圖 4所示。在該對(duì)話框中選擇超級(jí)終端后,得到如圖5 所示的窗口。圖4 打開(kāi)超級(jí)終端填入名稱“9S12XS128或者“9600'; 一般使用

11、波特率作為名稱容易區(qū)分。選擇 確定”按鈕,如圖5所示。這是給與開(kāi)發(fā)板通信用的通信協(xié)議文件命名,以后再次使用超級(jí)終端時(shí)直接單擊選定的文件名或圖標(biāo)即可,不必再次重復(fù)下面的設(shè)置。圖5給通信協(xié)議文件命名點(diǎn)擊確定,PC會(huì)給出圖6所示的提示窗口。如果開(kāi)發(fā)板是連接到串口1,就選 直接連接到串口 1”,如果開(kāi)發(fā)板連接到串口3,就選 直接連接到串口 3”。確定后,圖 7所示的設(shè)置窗口會(huì)出現(xiàn)。使用的串行口通信協(xié)議:9600波特率,8位傳送,無(wú)奇偶校驗(yàn),一個(gè)停止位,無(wú)流量控制或使用 Xon/Xoff協(xié)議,并選擇 確定”。圖6 設(shè)置使用 COM1 或COM3圖7 設(shè)置串口通信協(xié)議接開(kāi)發(fā)板,按開(kāi)發(fā)板的 S1復(fù)位鍵,并在

12、3秒鐘內(nèi)按任意鍵,表示終端用PC已經(jīng)鏈接好,可以看到如圖 8所示的內(nèi)容,這樣開(kāi)發(fā)板的調(diào)試環(huán)境就建立起來(lái)了。若3秒內(nèi)無(wú)鍵入,將自動(dòng)運(yùn)行在$C000處的用戶程序。應(yīng)用示范程序起始地址在$4029,向量$4029在用戶向量區(qū)$EFFE和$EFFF處。用戶會(huì)看到示范應(yīng)用程序使小燈移位和閃爍、 監(jiān)控程序及監(jiān)控命令詳解監(jiān)控程序代碼小于 4KB,放在地址$F000處。它把$FF10的中斷向量表移到 EF10處,順序不變。用戶可以使用 $EF10處的中斷向量表,此中斷向量表和9S12XS128手冊(cè)上的中斷向量表順序相同,只是從 $FF10移到了 $EF10。監(jiān)控程序運(yùn)行起來(lái)時(shí),如果串口在 4s內(nèi) 沒(méi)有收到數(shù)據(jù)

13、,就會(huì)檢查 $EFFE$EFFF(用戶復(fù)位向量表)是否為FFFF,如果不是,說(shuō)明Flash 中有用戶程序。程序自動(dòng)跳轉(zhuǎn)到$EFFE$EFFF所指向的用戶程序。如果程序運(yùn)行起來(lái)4s內(nèi)串口接到數(shù)據(jù)或者$EFFE$EFFF為$FFFF,則進(jìn)入DEBUG監(jiān)控程序。進(jìn)入監(jiān)控程序后的 超級(jí)終端的顯示如圖 8。命令詳解1. H命令H(幫助)命令用來(lái)顯示各種命令信息。按“H按鈕看到如圖9所示的內(nèi)容如圖 9所示:圖9按復(fù)位按鍵,輸入 H命令,得到的用戶界面這里“S'指Ctrl鍵與A鍵同時(shí)按下。AA,AB,AX,AY ,AC,AP :分別為改變 A寄存器、B寄存器、X寄存器、Y寄存器、CC寄存器或者PC寄

14、存器的值。2. D命令D (Display)命令顯示一段內(nèi)存的內(nèi)容。按下 D鍵后要填入需要顯示的內(nèi)存的起始地 址和終止地址,然后回車就會(huì)顯示這一段地址的內(nèi)容。如圖10所示。圖10 D命令,顯示內(nèi)存中的內(nèi)容3. M命令M命令(Memory Modify )用來(lái)改變 RAM 內(nèi)存中的內(nèi)容。按 M鍵后填入要改變的 RAM內(nèi)存地址。然后會(huì)顯示此 RAM內(nèi)存地址的內(nèi)容, 接著用戶可以填入希望改成的內(nèi)容。 如果修改成功,用戶可以修改下一個(gè)地址的內(nèi)容;如果修改失敗,顯示? ”。如果需要停止修改,直接輸入回車就可以了。按“人鍵,回到上一個(gè)內(nèi)存地址,M命令的使用如圖11所示。圖11 用M命令顯示和修改 RAM

15、內(nèi)存4. L命令下載程序到 Flash中,可識(shí)別 S1或S2格式的S19文件。按L鍵后,開(kāi)發(fā)板上的單片機(jī)等待接收來(lái)自串行口的數(shù)據(jù)文件。然后執(zhí)行傳送”段送文本文件”命令,在彈出的對(duì)話框中找到要下載的*.s19文件,并按下 打開(kāi)”按鈕,文件就會(huì)被下載到Flash中去,如圖12所示。注意,文件類型應(yīng)選所有文件”,下載前可用 E命令擦除原來(lái)的程序。圖12 用L命令下載應(yīng)用程序到Flash中6. E命令E命令用來(lái)擦除內(nèi)部 64K尋址空間范圍內(nèi)(0x40000x7FFF )和(0xC0000xEFFF )。監(jiān)控程序占用的 Flash地址空間為 $F000$FFFF。7. G命令從PC寄存器的地址處,開(kāi)始運(yùn)

16、行程序??梢杂?Ctrl+P 命令修改PC指針到擬運(yùn)行程 序的起始地址。8. AA命令A(yù)A命令即Ctrl + A用于改變A寄存器的值。使用方法與M命令類似。aB、aX、人丫等命令與aa的使用方法相同。9. R命令R命令顯示所有 CPU寄存器的內(nèi)容。如圖 13所示。圖13用R命令查看CPU寄存器中的內(nèi)容10. Q命令 E命令用來(lái)擦除整頁(yè)的 Flash, 64K尋址空間地址為(0x80000xBFFF )。XS128有8 個(gè)16K的PPAGE,地址從 F8FF。如圖14復(fù)位、中斷向量表9S12XS128的中斷向量表在存儲(chǔ)空間的高地址,從復(fù)位向量地址$FFFE開(kāi)始向低地址延伸。中斷向量區(qū)$FF10$

17、FFFF共可存放 120個(gè)中斷向量。由于監(jiān)控程序是$F000$FDFF , 占用3.5KB。為防止在調(diào)試過(guò)程中反復(fù)地擦除、下載程序過(guò)程中誤將監(jiān)控程序擦除,對(duì) $F000$FFFF的4KB空間加了寫(xiě)保護(hù)。故中斷向量表就得移到?jīng)]有保護(hù)的區(qū)域。在監(jiān)控程序中,已經(jīng)將中斷向量表中120個(gè)中斷向量從$FF10$FFFE移到$EF10$EFFE。監(jiān)控在下載程序到 FLASH時(shí),對(duì)$FF10$FFFE的地址進(jìn)行了轉(zhuǎn)換,自動(dòng)將中斷向量寫(xiě)到 $EF10$EFFE。用戶程序無(wú)需更改中斷向量地址。用戶的復(fù)位向量寫(xiě)在$EFFE和$EFFF,但復(fù)位后要等 34秒才能運(yùn)行用戶程序。這是因?yàn)閺?fù)位后要先進(jìn)入監(jiān)控程序?qū)ο到y(tǒng)做初

18、始化,然后檢查 RS-232接口有沒(méi)有字符輸入,若34秒內(nèi)沒(méi)有輸入,則進(jìn)入用戶程序。用戶可以使用的 RAM空間9S12XS128有12KB 片內(nèi)RAM ,片內(nèi) RAM 的地址空間是 0x10000x3FFF。 RAM 地 址空間中 0x10000x1FFF , RAM 的頁(yè)寄存器 RPAGE 不用。監(jiān)控程序自身占用32B RAM,初始化堆棧指針 SP在RAM頂端讓出32B ,初始化為$3FD0。原則上$3FD0以下的RAM ,用戶都可以自由使用。由于對(duì)Flash的擦除和寫(xiě)入期間 Flash是禁止讀的,故對(duì)Flash下載的L命令和擦除的Q命令、E命令要將執(zhí)行這些命令的代碼復(fù)制到RAM中進(jìn)行,還要

19、留出下載數(shù)據(jù)緩沖區(qū)。以上共占用$3D00以上的768B。但這一部分 RAM只在下載、擦除程序時(shí)占用,并不影響 用戶程序在監(jiān)控程序控制下使用。編譯器CodeWarrior for HCS12使用方法入門以下以一個(gè)簡(jiǎn)單的例子說(shuō)明CodeWarrior如何使用。建立工程文件安裝好 CodeWarrior后,打開(kāi)如圖 17所示的CodeWarrior窗口;在其中執(zhí)行 File|New 命令,彈出如圖 18所示的New對(duì)話框;選擇 HC(S)12 New Project Wizard ,并輸入工程的 名字,例如 TEST,單擊OK按鈕,彈出 New Project向?qū)?圖19)。在選擇芯片型號(hào)(圖 20

20、)后,在Page5中選擇"minimal Startup code (圖21),在選擇內(nèi)存模式時(shí)選擇small模式,其他按默認(rèn)值一直點(diǎn)擊OK直到完成。圖17建立工程文件圖18 選擇 HC(S)12 New Project Wizard,并給工程文件命名圖19新工程向?qū)D20選擇芯片型號(hào)圖21 選擇Startup code 模式編寫(xiě)main.c程序工程文件生成以后,回到自動(dòng)生成的文件系統(tǒng),如圖 22所示。這個(gè)文件系統(tǒng)中最重要的是main.c文件和 TBDML_linker.prm 文件。main.c是用戶需要開(kāi)發(fā)的應(yīng)用程序,TBDML_linker.prm 文件定義程序的代碼區(qū)和數(shù)據(jù)區(qū)

21、,與系統(tǒng)硬件有 關(guān)。雙擊main.c文件,在main函數(shù)中鍵入以下代碼:void main(void) /* put your own code here */Enableinterrupts;Disableinterrupts;REFDV = 0x07;SYNR = 0xD8;while( CRGFLG_LOCK != 1);CLKSEL_PLLSEL = 0x01;SCI0CR2 = 0x0C;SCI0BD = 0x145;while(SCI0SR1_TC = 0);SCI0DRL = 'A'for(;)while(SCI0SR1_RDRF = 0);SCI0DRL = S

22、CI0DRL; /* wait forever */圖22 自動(dòng)生成的文件系統(tǒng)單擊Save按鈕,保存源程序,如圖23所示。這是一段串口回顯的簡(jiǎn)單程序。圖23保存源程序定義存儲(chǔ)空間分配雙擊TBDML_linker.prm文件會(huì)看到如圖 24所示的代碼。圖24 文件TBDML_linker.prm定義存儲(chǔ)空間分配圖24沒(méi)有顯示全部代碼,請(qǐng)參考編譯器生成的具體prm文件。Prm文件中各個(gè)部分的含義如下:RAM是程序的數(shù)據(jù)區(qū);ROM_C000是0xC0000xFEFF程序的代碼區(qū);ROM_XXXX 是分頁(yè)的 FLASH空間;RAM_XX 是分頁(yè)的 RAM 空間;EEPROM_XX 是 DFlash 空間;VECTOR 0 _Startup表示把單片機(jī)的0xFFFE處的復(fù)位向量設(shè)為這個(gè)程序的入口地址。注意,如果使用監(jiān)控程序調(diào)試,0xF0000xFFFF是受保護(hù)的,不能擦寫(xiě),因?yàn)檫@里是監(jiān)控程序所在的地方。監(jiān)控程序會(huì)自動(dòng)將終端向量轉(zhuǎn)移到0xEF100xEFFE應(yīng)用程序的編譯在圖25所示對(duì)話框中單擊 Make按鈕,編譯應(yīng)用程序。圖25 用Make命令編譯應(yīng)用程序單擊Debug按鈕(Make按鈕右邊第 2個(gè)按鈕,即一個(gè)綠色的三角

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論