飛思卡爾MC9S12XS128單片機(jī)中斷優(yōu)先級(jí)設(shè)置簡(jiǎn)易教程_第1頁(yè)
飛思卡爾MC9S12XS128單片機(jī)中斷優(yōu)先級(jí)設(shè)置簡(jiǎn)易教程_第2頁(yè)
飛思卡爾MC9S12XS128單片機(jī)中斷優(yōu)先級(jí)設(shè)置簡(jiǎn)易教程_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、本教程試圖用最少的時(shí)間教你飛思卡爾XS128單片機(jī)的中斷優(yōu)先級(jí)設(shè)置方法和中斷嵌套的使用,如果是新手請(qǐng)先學(xué)習(xí)中斷的基本使用方法。先來(lái)看看XS128 DataSheet 中介紹的相關(guān)知識(shí),只翻譯有用的:七個(gè)中斷優(yōu)先級(jí)每一個(gè)中斷源都有一個(gè)可以設(shè)置的級(jí)別高優(yōu)先級(jí)中斷的可以嵌套低優(yōu)先級(jí)中斷復(fù)位后可屏蔽中斷默認(rèn)優(yōu)先級(jí)為1 同一優(yōu)先級(jí)的中斷同時(shí)觸發(fā)時(shí),高地址(中斷號(hào)較?。┑闹袛嘞软憫?yīng)注意:高地址中斷只能優(yōu)先響應(yīng),但不能嵌套同一優(yōu)先級(jí)低地址的中斷下面直接進(jìn)入正題,看看怎么設(shè)置中斷優(yōu)先級(jí):XS128中包括預(yù)留的中斷一共有128個(gè)中斷位,如果為每個(gè)中斷都分配一個(gè)優(yōu)先級(jí)寄存器的話會(huì)非常浪費(fèi)資源,因此飛思卡爾公司想出

2、了這樣一種辦法:把128個(gè)中斷分為16個(gè)組,每組8個(gè)中斷。每次設(shè)置中斷時(shí),先把需要的組別告訴某個(gè)寄存器,再設(shè)置8個(gè)中斷優(yōu)先寄存器的某一個(gè),這樣只需9個(gè)寄存器即可完成中斷的設(shè)置。分組的規(guī)則是這樣的:中斷地址位7到位4相同的中斷為一組,比如MC9SX128.h中這些中斷的位7到位3都為D,他們就被分成了一組。0F正好16個(gè)組。 INT_CFADDR就是上面說(shuō)到的用來(lái)設(shè)置組別的寄存器:我們需要設(shè)置某個(gè)組別的中斷時(shí),只要寫入最后8位地址就行了,比如設(shè)置SCI0的中斷優(yōu)先級(jí),就寫入0xD0。設(shè)置好組別之后,我們就要該組中相應(yīng)的中斷進(jìn)行設(shè)置,設(shè)置中斷的寄存器為這其實(shí)是一組寄存器,一共有8個(gè),每個(gè)都代表中斷

3、組中的一個(gè)中斷。對(duì)應(yīng)規(guī)則是這樣的:中斷地址的低四位除以2比如還是SCI0,低四位是6,除以二就是3,那么我們就需要設(shè)置INT_CFDATA3往INT_CFDATAx中寫入07就能設(shè)置相應(yīng)的中斷優(yōu)先級(jí)了拿我本次比賽的程序來(lái)舉個(gè)例子:我們的程序中需要3個(gè)中斷:PIT0,PORTH,SCI0。PIT0定時(shí)檢測(cè)傳感器數(shù)值,PORTH連接干簧管進(jìn)行起跑線檢測(cè),SCI0接收上位機(jī)指令實(shí)現(xiàn)急停等功能。因此中斷優(yōu)先級(jí)要SCI0>PORTH>PIT0。我們先要從頭文件中找出相應(yīng)中斷的地址:PIT0【7:4】位為7,選擇中斷組:INT_CFADDR=0x70;【3:0】為A,A/2=5,設(shè)置為第5優(yōu)先

4、級(jí)那么INT_CFDATA5=5;porth【7:4】位為C,選擇中斷組:INT_CFADDR=0xC0;【3:0】為C,C/2=6,設(shè)置為第6優(yōu)先級(jí)那么INT_CFDATA6=6;Sci0【7:4】位為D,選擇中斷組:INT_CFADDR=0xD0;【3:0】為6,6/2=3,設(shè)置為第7優(yōu)先級(jí)那么INT_CFDATA3=7;最終程序?yàn)椋簐oid Interrupt_Priority_Set(void) INT_CFADDR=0x70; INT_CFDATA5=0x05; INT_CFADDR=0xC0; INT_CFDATA6=0x06; INT_CFADDR=0xD0; INT_CFDATA3=0x07;還要注意一點(diǎn),如果要實(shí)現(xiàn)中斷嵌

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論