項(xiàng)目1點(diǎn)亮一個(gè)LED燈_第1頁(yè)
項(xiàng)目1點(diǎn)亮一個(gè)LED燈_第2頁(yè)
項(xiàng)目1點(diǎn)亮一個(gè)LED燈_第3頁(yè)
項(xiàng)目1點(diǎn)亮一個(gè)LED燈_第4頁(yè)
項(xiàng)目1點(diǎn)亮一個(gè)LED燈_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、項(xiàng)目1 點(diǎn)亮一個(gè)LED燈學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)n通過本項(xiàng)目的學(xué)習(xí),能夠熟練闡述飛思卡爾通過本項(xiàng)目的學(xué)習(xí),能夠熟練闡述飛思卡爾HCS08系列系列MC9S08GB60單片機(jī)的內(nèi)部資源單片機(jī)的內(nèi)部資源及特點(diǎn);能夠闡述及特點(diǎn);能夠闡述MC9S08GB60單片機(jī)的整單片機(jī)的整體結(jié)構(gòu);能夠理解與內(nèi)核相關(guān)體結(jié)構(gòu);能夠理解與內(nèi)核相關(guān)CPU控制寄存器控制寄存器的作用;熟悉并能識(shí)別的作用;熟悉并能識(shí)別MC9S08GB60單片機(jī)單片機(jī)的封裝及引腳;能夠根據(jù)應(yīng)用要求設(shè)計(jì)硬件電的封裝及引腳;能夠根據(jù)應(yīng)用要求設(shè)計(jì)硬件電路圖;能夠熟悉闡述路圖;能夠熟悉闡述MC9S08GB60單片機(jī)的單片機(jī)的存儲(chǔ)器結(jié)構(gòu);能夠理解中斷與復(fù)位的概念及

2、用存儲(chǔ)器結(jié)構(gòu);能夠理解中斷與復(fù)位的概念及用途。途。學(xué)習(xí)要求學(xué)習(xí)要求n能夠熟練闡述飛思卡爾HCS08 MC9S08GB60單片機(jī)的內(nèi)部資源及特點(diǎn)、整體結(jié)構(gòu),理解與內(nèi)核相關(guān)CPU控制寄存器的作用,n能識(shí)別MC9S08GB60單片機(jī)的封裝及引腳;n能夠根據(jù)應(yīng)用要求設(shè)計(jì)硬件電路圖能夠熟悉闡述MC9S08GB60單片機(jī)的存儲(chǔ)器結(jié)構(gòu);n理解中斷與復(fù)位的概念及用途。項(xiàng)目引入項(xiàng)目引入n一個(gè)最簡(jiǎn)單的單片機(jī)系統(tǒng)的開發(fā)也需要電路設(shè)計(jì)、單片機(jī)器件選擇和程序編寫3個(gè)步驟。對(duì)于單片機(jī)系統(tǒng),最簡(jiǎn)單的功能無(wú)非是控制輸出電平的高低,這也是數(shù)字電路最基本的功能,所以,第一個(gè)例子就是將單片機(jī)系統(tǒng)接上一個(gè)發(fā)光二極管,用二極管的亮滅表

3、示設(shè)計(jì)的單片機(jī)系統(tǒng)是否正常工作。項(xiàng)目分析n要想了解單片機(jī)的控制作用,必須先認(rèn)識(shí)單片機(jī),熟悉單片機(jī)的基本結(jié)構(gòu)及功能,而利用單片機(jī)集成開發(fā)環(huán)境(IDE)-CodeWarriorr軟件包,可以更加直觀地模擬仿真單片機(jī)的工作過程,現(xiàn)在就讓我們來認(rèn)識(shí)單片機(jī),學(xué)習(xí)單片機(jī)的特點(diǎn)、整體結(jié)構(gòu)、引腳及其存儲(chǔ)器結(jié)構(gòu)等。(注意,本書是以飛思卡爾單片機(jī)為學(xué)習(xí)對(duì)象。)圖圖1-1 單片機(jī)最小系統(tǒng)電路的單片機(jī)最小系統(tǒng)電路的構(gòu)成構(gòu)成相關(guān)知識(shí)n 1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n1.1.1累加器A(accumulator)n1.1.2變址寄存器(H:X)n1.1.3堆棧指針(SP)n1.1.4程序計(jì)數(shù)器(PC)n1.1

4、.5條件碼寄存器(CCR)n1. I中斷屏蔽標(biāo)志位n2. V溢出標(biāo)志位n3. H半進(jìn)位標(biāo)志位n4. N負(fù)標(biāo)志位n5. Z零標(biāo)志位n6. C進(jìn)位/借位標(biāo)志位相關(guān)知識(shí)n1.2MC9S08GB60的引腳及封裝n1.2.1 電源引腳n1.2.2 振蕩器引腳n1.2.3 復(fù)位引腳 【特別提示】n1.2.4 背景/模式選擇(BKGD/MS) 引腳n1.2.5 通用I/O及外設(shè)端口引腳n1.2.6 根據(jù)客戶的要求設(shè)計(jì)硬件電路圖相關(guān)知識(shí)n1.3 MC9S08GB60存儲(chǔ)器結(jié)構(gòu)圖n1.4 復(fù)位與中斷n1.4.1 MCU的復(fù)位n1.4.2 MCU的中斷n1.4.3 外部中斷請(qǐng)求(IRQ)n 1.5 低電壓檢測(cè)保護(hù)

5、系統(tǒng)(LVD)n1.5.1上電復(fù)位操作n1.5.2 LVD復(fù)位操作n1.5.3 LVD中斷操作n1.5.4低電壓警告(LVW)n1.5.5實(shí)時(shí)中斷(RTI)1.1 MC9S08GB60 框圖整體結(jié)構(gòu)nMC9S08GB60 單片機(jī)內(nèi)部組成包括HCS08內(nèi)核、FLASH存儲(chǔ)器、片上隨機(jī)存儲(chǔ)器(RAM)、8通道10位模數(shù)轉(zhuǎn)換器(ATD)、兩個(gè)串行通信接口模塊(SCI)、串行外設(shè)接口模塊(SPI)、定時(shí)器/脈寬調(diào)制器(TPM)模塊、100 kbps 的IIC 總線(IIC)、8個(gè)引腳鍵盤中斷模塊(KBI)等主要部件 1.1 MC9S08GB60 框圖整體結(jié)構(gòu)1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n

6、單片機(jī)內(nèi)部最核心的部分是HCS08內(nèi)核,它是單片機(jī)的大腦和心臟。它是主要功能是產(chǎn)生各種控制信號(hào),控制存儲(chǔ)器、輸入/輸出端口的數(shù)據(jù)傳送、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算、位操作以及各種保護(hù)功能。nFlash 存儲(chǔ)器主要用于保存程序和數(shù)據(jù)。一般存放程序代碼和不常改變的數(shù)據(jù)。可以通過單線后臺(tái)調(diào)試接口把需要的程序和數(shù)據(jù)上載到Flash存儲(chǔ)器中 。它一個(gè)突出的優(yōu)點(diǎn)是擦除和編程操作不需要特殊的電壓,所以也可以通過其他軟件控制的通信路徑來實(shí)現(xiàn)應(yīng)用編程。nRAM數(shù)據(jù)存儲(chǔ)器主要用于存放運(yùn)算中間結(jié)果、數(shù)據(jù)暫存和緩沖、標(biāo)志位、待調(diào)試的程序等。模數(shù)轉(zhuǎn)換器(ATD)可把芯片外部的模擬信號(hào)轉(zhuǎn)換為適合單片機(jī)內(nèi)核處理的數(shù)字信號(hào)。串行

7、通信接口模塊(SCI)、串行外設(shè)接口模塊(SPI)和IIC 總線模塊(IIC)主要用于與外界器件進(jìn)行信息交換。定時(shí)器/脈寬調(diào)制器(TPM)模塊實(shí)現(xiàn)定時(shí)、計(jì)數(shù)和PWM脈寬信號(hào)輸出等功能。調(diào)試模塊BDG與內(nèi)核中的背景調(diào)試控制器BDC一起進(jìn)行片上閃存和其他非易失性存儲(chǔ)器的編程。鍵盤中斷模塊(KBI)可以方便地把外部的按鍵信號(hào)傳送入單片機(jī)內(nèi)核。 1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n要實(shí)現(xiàn)內(nèi)核與各模塊的功能,需要單片機(jī)內(nèi)核CPU寄存器的支持。與內(nèi)核相關(guān)CPU控制寄存器簡(jiǎn)述如下,如圖1-3所示。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n累加器A(accumulator)是一個(gè)通用的8位暫存器,是

8、專門存放CPU的操作數(shù)與算術(shù)或邏輯運(yùn)算的計(jì)算結(jié)果。能進(jìn)行加、減、讀出、移位、循環(huán)移位和求補(bǔ)等操作。 n在中央處理器CPU中,累加器是用來儲(chǔ)存計(jì)算所產(chǎn)生的中間結(jié)果。如果沒有像累加器這樣的暫存器,那么在每次計(jì)算(加法,乘法,移位等等)后就必須要把結(jié)果寫回到內(nèi)存,然后再讀回來。然而存取內(nèi)存的速度與存取數(shù)學(xué)邏輯單元(ALU)的速度相比較,存取內(nèi)存的速度更慢,所以在編寫程序中,累加器A是一個(gè)最常用的寄存器。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n變址寄存器,為訪問64K的存儲(chǔ)器空間提供索引,事實(shí)上是兩個(gè)獨(dú)立的8 位寄存器(H 和X)的合并。H表示高8位,X表示低8位,H:X表示整個(gè)寄存器,在變址尋址

9、方式下,CPU根據(jù)變址寄存器的內(nèi)容確定操作數(shù)的有效地址,變址寄存器也可以作為臨時(shí)數(shù)據(jù)的存儲(chǔ)單元。在應(yīng)用變址尋址方式時(shí),使用H:X 作為16 位的基本參考點(diǎn),允許使用有16 位偏移量、8 位偏移量和無(wú)偏移量的指令。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n堆棧指針(Stack Pointer,SP)是一個(gè)16位的地址指針寄存器,這個(gè)寄存器用于自動(dòng)維護(hù)CPU 的一個(gè)后進(jìn)先出(LIFO)堆棧。當(dāng)CPU執(zhí)行絕對(duì)轉(zhuǎn)移調(diào)用(JSR)或相對(duì)轉(zhuǎn)移調(diào)用(BSR)指令時(shí),它會(huì)自動(dòng)保存返回地址到堆棧中。當(dāng)子程序最后執(zhí)行返回指令(RTS)時(shí),該返回地址會(huì)自動(dòng)從堆棧中恢復(fù),并由此繼續(xù)執(zhí)行先前暫停的指令。由于SP 是一

10、個(gè)滿16 位寄存器,所以堆??梢詫ぶ反鎯?chǔ)映射區(qū)的任何地方,堆棧指針總是指向堆棧中下一個(gè)可用位置。當(dāng)一個(gè)數(shù)值要進(jìn)棧時(shí),它會(huì)被寫到SP指向的地址中,隨后SP 會(huì)自動(dòng)減少而指向下一個(gè)可用位置。當(dāng)一個(gè)數(shù)值要出棧時(shí),SP首先會(huì)自增以指向堆棧中最近進(jìn)棧的數(shù)據(jù),然后從剛被SP 指向的地址中讀出數(shù)據(jù)。需要注意的是SP 指向的數(shù)據(jù),在出棧的過程中不會(huì)被改變。如果SP 指向當(dāng)前內(nèi)存的下一個(gè)位置,即指向之前最近存儲(chǔ)的數(shù)據(jù),當(dāng)新的數(shù)據(jù)進(jìn)棧時(shí),會(huì)覆蓋該位置的數(shù)據(jù)。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n堆棧實(shí)質(zhì)是隨機(jī)存儲(chǔ)器RAM的一部分,是從RAM空間中劃分出來的臨時(shí)空間,專門存放中斷或轉(zhuǎn)移調(diào)用的地址,但它不能超過

11、芯片可用RAM 空間的大小。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n當(dāng)請(qǐng)求中斷時(shí),CPU 將寄存器的當(dāng)前內(nèi)容保存在堆棧中,在完成中斷服務(wù)子程序后處理器將它們恢復(fù)以繼續(xù)執(zhí)行之前的程序。注意,在中斷前,SP 已指向堆棧中的下一個(gè)可用位置了。其步驟是:SP先將數(shù)據(jù)保存到堆棧中指定位置,然后會(huì)自減以指向堆棧中的下一個(gè)可用位置。結(jié)束中斷時(shí),中斷例程的RTI 指令以相反的順序出棧來恢復(fù)CPU 寄存器。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n程序計(jì)數(shù)器是一個(gè)16 位的寄存器,它保存著下一個(gè)待取指令或操作數(shù)的地址。通常情況下,每當(dāng)一個(gè)指令或操作數(shù)被提取后,程序計(jì)數(shù)器會(huì)自動(dòng)指向存儲(chǔ)器里的下一個(gè)連續(xù)地址。

12、但當(dāng)遇到跳轉(zhuǎn)、分支或中斷操作時(shí)情況就不同了,這時(shí)會(huì)將下一個(gè)地址壓入堆棧保存,而將新的轉(zhuǎn)移地址裝入程序計(jì)數(shù)器中。在復(fù)位時(shí),程序計(jì)數(shù)器PC會(huì)自動(dòng)裝入復(fù)位向量地址$FFFE :$FFFF 中的值作為程序的入口地址,開始執(zhí)行程序。要注意的是復(fù)位向量地址$FFFE :$FFFF中存放的是首條指令的地址,而不是要執(zhí)行的首條指令。$FFFE 單元存放16位地址的高8位,$FFFF單元存放16位地址的低8位。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n8 位條件碼寄存器包含一個(gè)中斷屏蔽位I 和五個(gè)狀態(tài)標(biāo)志位。標(biāo)志位表示剛執(zhí)行完的指令的結(jié)果,中斷屏蔽位是由用戶寫入的控制位,第6 位和第5 位永遠(yuǎn)為邏輯1。圖1-

13、5 標(biāo)出了CCR寄存器的各位及其位置。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)nI 位是中斷屏蔽控制位,與其他位不同的是它在CCR 中不是處理器狀況位。在CCR的六個(gè)可執(zhí)行位中,I 位也是復(fù)位后唯一可被初始化的位。I 位復(fù)位后置為1,這使得中斷被屏蔽直到堆棧指針被初始化。其他五個(gè)狀態(tài)位(V、H、N、Z 和C)在復(fù)位后是未知的,只有在執(zhí)行一個(gè)指令后才能知道。復(fù)位后無(wú)須強(qiáng)制這些位為特定的值,因?yàn)橹钡綀?zhí)行了一個(gè)影響它們的指令后,與這些位相關(guān)的條件轉(zhuǎn)移才有意義。1.1 MC9S08GB60 框圖整體結(jié)構(gòu)1.1 MC9S08GB60 框圖整體結(jié)構(gòu)nI中斷屏蔽標(biāo)志位中斷屏蔽標(biāo)志位n中斷屏蔽位控制全局中斷

14、屏蔽,該位有兩種狀態(tài):n 1全局中斷被屏蔽n 0全局中斷使能1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n V溢出標(biāo)志位溢出標(biāo)志位n當(dāng)二進(jìn)制補(bǔ)碼溢出時(shí)溢出標(biāo)志位置位。該位有兩種狀態(tài):n 1溢出n 0未溢出1.1 MC9S08GB60 框圖整體結(jié)構(gòu)n半進(jìn)位標(biāo)志位多用于BCD 碼的操作。該位有兩種狀態(tài):n 1位3 向位4進(jìn)位n 0位3 未向位4進(jìn)位1.1 MC9S08GB60 框圖整體結(jié)構(gòu)nN負(fù)標(biāo)志位負(fù)標(biāo)志位n該位有兩種狀態(tài):n 1為負(fù)結(jié)果n 0非負(fù)結(jié)果1.1 MC9S08GB60 框圖整體結(jié)構(gòu)nZ零標(biāo)志位零標(biāo)志位n零標(biāo)志位被置位時(shí)表明操作結(jié)果為$00(或是十六進(jìn)制的$0000)。該位有兩種狀態(tài):n

15、 1結(jié)果為零n 0結(jié)果為非零1.1 MC9S08GB60 框圖整體結(jié)構(gòu)nC進(jìn)位進(jìn)位/借位標(biāo)志位借位標(biāo)志位n該位有兩種狀態(tài):n 1有進(jìn)位n 0無(wú)進(jìn)位n其功能有兩種:一是存放算術(shù)運(yùn)算的進(jìn)位標(biāo)志,當(dāng)兩個(gè)8位二進(jìn)制數(shù)相加或相減時(shí),產(chǎn)生進(jìn)位或借位時(shí),由硬件自動(dòng)將該標(biāo)志位置1,否則該被清0。二是在位操作中(如左移或右移),作“位累加器”使用。1.2MC9S08GB60的引腳及封裝1.2MC9S08GB60的引腳及封裝1.2MC9S08GB60的引腳及封裝n1.2.1 電源引腳電源引腳nVDD 和VSS 分別是MC9S08GB60單片機(jī)的電源和電源地引腳。VDD是單片機(jī)的主電壓源,該電壓源為所有的輸入/輸出

16、緩沖電路和內(nèi)部電壓調(diào)節(jié)器供電。而芯片內(nèi)部的電壓調(diào)節(jié)器向CPU 和其他MCU 內(nèi)部電路提供2.5伏電壓。n通常應(yīng)用系統(tǒng)有兩個(gè)單獨(dú)的電容器和電源引腳相連。一個(gè)是大容量電解電容器,如10uF 的鉭電容,用來為全體系統(tǒng)提供大電量存儲(chǔ);另一個(gè)是0.1F 的陶瓷旁路電容,該電容要盡可能的靠近MCU 電源引腳,用以抑制高頻噪聲。nVDDAD and VSSAD也是單片機(jī)的電源管腳,但該管腳引入的電源是為ADC 模塊供電的。在硬件電路設(shè)計(jì)上,可在離單片機(jī)電源管腳盡可能近的地方安裝一個(gè)0.1F 的陶瓷旁路電容器,用來抑制高頻噪音。1.2MC9S08GB60的引腳及封裝n振蕩器引腳振蕩器引腳nMC9S08GB60

17、 單片機(jī)可以在沒有任何外部晶體振蕩器的情況下運(yùn)行。在這種情況下,MCU 使用內(nèi)部電路產(chǎn)生的頻率,相當(dāng)于大約8MHz 晶體頻率。這個(gè)頻率源在復(fù)位啟動(dòng)時(shí)使用,以避免長(zhǎng)時(shí)間的晶體啟動(dòng)延時(shí)。n除了使用內(nèi)部電路產(chǎn)生的時(shí)鐘外,也可以用頻率高達(dá)40MHz 的外部振蕩器作為輸入時(shí)鐘;或者使用其它外部時(shí)鐘,這時(shí)需要從EXTAL 引腳輸入,但XTAL 輸出引腳必須懸空。n最常用的方法是接一個(gè)皮爾斯振蕩器,它可容納一個(gè)晶體或陶瓷諧振器,其頻率范圍可通過ICGC1 寄存器中的RANGE 位進(jìn)行選擇。1.2MC9S08GB60的引腳及封裝n1.2.3 復(fù)位引腳復(fù)位引腳n注意,一些HCS08 系列的單片機(jī)是沒有復(fù)位引腳的

18、。如果沒有復(fù)位引腳,可以通過“下電上電”的過程來產(chǎn)生復(fù)位信號(hào),也可以通過使用背景命令向SBDFR 寄存器寫入BDFR位,或者用軟件的方法強(qiáng)制產(chǎn)生復(fù)位信號(hào),例如非法指令碼復(fù)位。n但在MC9S08GB60 中,復(fù)位引腳是一個(gè)帶有上拉電阻的專用引腳。它有輸入滯后功能,具有10mA輸出驅(qū)動(dòng)能力。因?yàn)镸C9S08GB60內(nèi)部有上電復(fù)位和低壓復(fù)位電路,所以不需要另加外部的復(fù)位電路。這個(gè)引腳通常連接到標(biāo)準(zhǔn)的背景調(diào)試連接器上,這樣開發(fā)系統(tǒng)能夠直接復(fù)位MCU 系統(tǒng)。如果需要,可以通過附加一個(gè)簡(jiǎn)單接地開關(guān)手動(dòng)復(fù)位(下拉復(fù)位引腳強(qiáng)制復(fù)位)。1.2MC9S08GB60的引腳及封裝n1.2.4 背景背景/模式選擇模式選

19、擇(BKGD/MS) 引腳引腳n背景/模式選擇(BKGD/MS)引腳包含一個(gè)內(nèi)部上拉電阻,并且?guī)в休斎霚蠊δ?,具?mA 的輸出驅(qū)動(dòng)能力。若這個(gè)引腳沒有連接,則MCU 在復(fù)位的上升沿時(shí)進(jìn)入正常的操作模式。如果調(diào)試系統(tǒng)被連接到第58 引腳的標(biāo)準(zhǔn)背景調(diào)試引腳,它可以在復(fù)位上升沿時(shí)保持BKGD/MS 為低,強(qiáng)制MCU 進(jìn)入背景模式。1.2MC9S08GB60的引腳及封裝n1.2.5 通用通用I/O及外設(shè)端口引腳及外設(shè)端口引腳nMC9S08GB60 單片機(jī)有56個(gè)通用輸入/輸出(I/O)引腳,這些引腳和外設(shè)功能模塊的引腳共用,如定時(shí)器模塊和串行I/O模塊。復(fù)位以后,56個(gè)引腳中除了PTG0/BKGD

20、/MS引腳,其他引腳全部配置為高阻通用輸入口,內(nèi)部上拉電阻無(wú)效。為了避免來自浮動(dòng)輸入引腳的額外電流,應(yīng)用程序中的復(fù)位初始化程序應(yīng)使能上拉電阻,或?qū)㈤e置引腳的方向改變?yōu)檩敵隹?,使引腳不浮動(dòng)。n當(dāng)一個(gè)片上外設(shè)模塊系統(tǒng)使用一個(gè)引腳時(shí),外設(shè)模塊通過控制引腳的輸出緩沖器,來控制引腳方向。n有些輸出引腳具有吸收和驅(qū)動(dòng)高電流能力,每個(gè)I/0 端口可達(dá)10mA,但所有I/O端口電流總和有一個(gè)共限值。1.3 MC9S08GB60存儲(chǔ)器結(jié)構(gòu)圖1.3 MC9S08GB60存儲(chǔ)器結(jié)構(gòu)圖 n存儲(chǔ)器用來存儲(chǔ)程序和數(shù)據(jù),是微控制器的重要組成部分。從存儲(chǔ)器的存取功能來看,存儲(chǔ)器有只讀存儲(chǔ)器(Read Only Memory,

21、ROM)和隨機(jī)存取存儲(chǔ)器(Random Access Memory ,ARM)兩大類。1.3 MC9S08GB60存儲(chǔ)器結(jié)構(gòu)圖n隨機(jī)存取存儲(chǔ)器在微控制器運(yùn)行時(shí)可以隨時(shí)讀出或?qū)懭胄畔ⅲ杂址Q為讀/寫存儲(chǔ)器。如果電源斷電,其內(nèi)部信息立即丟失。隨機(jī)存取存儲(chǔ)器用來存放緩沖數(shù)據(jù),如現(xiàn)場(chǎng)輸入數(shù)據(jù)、運(yùn)算結(jié)果和要輸出的數(shù)據(jù)等,故又稱為數(shù)據(jù)存儲(chǔ)器。另外,隨機(jī)存取存儲(chǔ)器還常用來調(diào)試程序。1.3 MC9S08GB60存儲(chǔ)器結(jié)構(gòu)圖n只讀存儲(chǔ)器的特點(diǎn)是把信息寫入存儲(chǔ)器后能夠長(zhǎng)期保存,不會(huì)因電源斷電而丟失信息??刂破髟谶\(yùn)行過程中,只能讀出只讀存儲(chǔ)器中的信息,不能再寫入信息。一般地,只讀存儲(chǔ)器用來存放固定的程序和數(shù)據(jù),所

22、以也被稱為程序存儲(chǔ)器,如微控制器的監(jiān)控程序、匯編程序、用戶程序、常數(shù)、數(shù)據(jù)表格等。根據(jù)寫入或擦除方式不同,ROM可分為掩模ROM、可編程ROM(PROM)、紫外線擦除可編程ROM(EPROM)、電擦除可編程ROM(EEPROM 或E2PROM)、閃速存儲(chǔ)器FLASH。1.3 MC9S08GB60存儲(chǔ)器結(jié)構(gòu)圖nMC9S08GB60 存儲(chǔ)器的結(jié)構(gòu),如圖1-9所示,MC9S08GB60 的片上存儲(chǔ)器由隨機(jī)存取存儲(chǔ)器RAM、閃速存儲(chǔ)器FLASH、輸入/輸出和控制/狀態(tài)寄存器組成。nMC9S08GB60 包含4096 字節(jié)的靜態(tài)RAM ,它位于$0080 到$107F 之間。前面的128字節(jié)RAM可以使

23、用更高效的直接尋址方式訪問,這一區(qū)域中的任何單獨(dú)一位都可以通過位操作指令(如BCLR、BSET、BRCLR 、BRSET等指令)訪問。一般將最常用的程序變量放在RAM 的這一區(qū)域。n輸入/輸出和控制/狀態(tài)寄存器可分成三組:直接頁(yè)寄存器($0000-$007F)、高地址頁(yè)寄存器($1800-$182B)、非易失性寄存器($FFB0-$FFBF)。1.4 復(fù)位與中斷nMC9S08GB60復(fù)位和中斷的特征:n 上電復(fù)位(POR)n 外部RESET引腳復(fù)位n 看門狗復(fù)位(COP)n 背景調(diào)試主機(jī)復(fù)位n 低電壓檢測(cè)復(fù)位1.4 復(fù)位與中斷n1.4.1 MCU的復(fù)位的復(fù)位n復(fù)位使微控制器迅速進(jìn)入起始狀態(tài),并

24、從狀態(tài)開始執(zhí)行程序,復(fù)位主要產(chǎn)生的效果:迅速停止當(dāng)前正在執(zhí)行的指令。n初始化有關(guān)寄存器。n從地址為0 xFFFE:0 xFFFF的存儲(chǔ)單元中將用戶自己定義的程序入口地址送到程序計(jì)數(shù)器。1.4 復(fù)位與中斷n1.4.2 MCU的中斷的中斷n當(dāng)CPU正在處理某個(gè)信息的時(shí)候,如果這時(shí)外界突然發(fā)生緊急事件且請(qǐng)求CPU暫時(shí)停止當(dāng)前工作,轉(zhuǎn)而去處理這個(gè)緊急事件。CPU處理完這個(gè)緊急事件這后,再回到原來被中斷的地方,繼續(xù)原來的工作。微控制器中的這個(gè)暫時(shí)停止處理信息的過程,就稱為中斷。實(shí)現(xiàn)中斷功能的所有程序軟件的組合稱為中斷系統(tǒng)。設(shè)置中斷系統(tǒng),可使微控制器具有對(duì)外界異步事件的處理能力,大大提高了它的工作效率和處

25、理問題的靈活性。1.4 復(fù)位與中斷n用來請(qǐng)求CPU產(chǎn)生中斷的請(qǐng)求源稱為中斷源。微控制器的中斷系統(tǒng)一般允許有多個(gè)中斷源,當(dāng)幾個(gè)中斷源同時(shí)向CPU提出請(qǐng)求時(shí),就存在CPU優(yōu)先響應(yīng)哪一個(gè)中斷源請(qǐng)求的問題。通常,CPU根據(jù)中斷源的輕重緩急排序,優(yōu)先處理最緊急的中斷請(qǐng)求源。也就是說,CPU規(guī)定每一個(gè)中斷源有一個(gè)優(yōu)先權(quán),而且總是先處理優(yōu)先權(quán)最高的中斷請(qǐng)求,暫時(shí)不被響應(yīng)的中斷請(qǐng)求則被掛起。1.4 復(fù)位與中斷n當(dāng)CPU正在處理一個(gè)中斷請(qǐng)求的時(shí)候,又發(fā)生了另一個(gè)優(yōu)先權(quán)更高的中斷源請(qǐng)求,則CPU能夠暫時(shí)中止執(zhí)行對(duì)原來中斷源的處理程序,而去處理優(yōu)先權(quán)更高的中斷請(qǐng)求,待處理完畢后,再回到原來的低優(yōu)先權(quán)中斷處理服務(wù)程序

26、,這個(gè)過程稱為中斷嵌套。這樣的中斷系統(tǒng)稱為多級(jí)中斷系統(tǒng)。沒有中斷嵌套功能的中斷系統(tǒng)稱為單級(jí)中斷系統(tǒng)。1.4 復(fù)位與中斷n則進(jìn)出中斷服務(wù)程序的具體步驟包括以下幾個(gè)部分:n1關(guān)中斷n在CPU響應(yīng)中斷后,硬件會(huì)自動(dòng)關(guān)閉CPU中斷,以免有新的中斷請(qǐng)求干擾本次中斷事件的處理過程。n2保護(hù)現(xiàn)場(chǎng)n將當(dāng)前CPU寄存器的值特別是程序計(jì)數(shù)器PC的值壓入堆棧保存,實(shí)現(xiàn)現(xiàn)場(chǎng)保護(hù),以備中斷服務(wù)程序處理完畢返回到被中斷的源程序時(shí),能夠繼續(xù)執(zhí)行。1.4 復(fù)位與中斷n3中斷入口n將用戶自己定義的中斷向量地址裝入程序計(jì)數(shù)器PC,轉(zhuǎn)到被響應(yīng)的中斷服務(wù)程序。n4執(zhí)行中斷服務(wù)程序n中斷服務(wù)程序是中斷處理的具體操作內(nèi)容。n5恢復(fù)現(xiàn)場(chǎng)n將壓入堆棧的CPU寄存器值彈出堆棧,恢復(fù)現(xiàn)場(chǎng),以便返回到被中斷的程序。n6開中斷n在返回到被中斷的程序之前,開中斷以便CPU能響應(yīng)新的中斷。n7中斷返回1.4 復(fù)位與中斷n1.4.3 外部中斷請(qǐng)求外部中斷請(qǐng)求(IRQ)n外部中斷是由狀態(tài)和控制寄存器(IRQSC)管理的。當(dāng)外部中斷請(qǐng)求(IRQ)功能被打開時(shí),內(nèi)部同步邏輯監(jiān)控電路會(huì)監(jiān)控觸發(fā)事件的發(fā)生,觸發(fā)事件的方式有兩種:邊沿觸發(fā)(即管腳只檢測(cè)到上升沿或下降沿)和邊沿加電平觸發(fā)(即同時(shí)檢測(cè)到邊沿和電

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論