新聞中心

        DSP芯片TMS320f2812的外中斷

        作者: 時(shí)間:2011-06-06 來(lái)源:網(wǎng)絡(luò) 收藏

        一.實(shí)驗(yàn)?zāi)康?br />1.通過(guò)實(shí)驗(yàn)熟悉F2812A的響應(yīng)過(guò)程。
        2.學(xué)會(huì)C語(yǔ)言程序設(shè)計(jì),以及運(yùn)用程序控制程序流程。
        二.實(shí)驗(yàn)原理
        1.中斷及中斷處理過(guò)程
        (1)中斷簡(jiǎn)介
        中斷是一種由硬件或軟件驅(qū)動(dòng)的信號(hào),在接到此信號(hào)時(shí),將當(dāng)前程序懸掛起來(lái),
        轉(zhuǎn)向去執(zhí)行另外一個(gè)任務(wù),稱(chēng)為中斷服務(wù)程序(ISR)。TMS320f28x 可支持32 個(gè)ISR,
        可由硬件或軟件觸發(fā)。
        所有的C28x 中斷,可以分成可屏蔽中斷和不可屏蔽中斷兩種,軟件中斷是不可屏蔽的。
        (2)處理中斷的步驟
        ①接收中斷請(qǐng)求。請(qǐng)求由軟件或硬件發(fā)出。
        ②響應(yīng)中斷請(qǐng)求。對(duì)于可屏蔽中斷,需要滿(mǎn)足若干條件,才發(fā)生響應(yīng);而對(duì)于不可屏蔽中
        斷,則立即響應(yīng)。
        ③準(zhǔn)備執(zhí)行中斷服務(wù)程序。
        -完成當(dāng)前正在執(zhí)行的指令;將進(jìn)入流水線(xiàn)但還未解碼的指令清除。
        -自動(dòng)保存若干寄存器的值到數(shù)據(jù)堆棧和系統(tǒng)堆棧。
        -取得用戶(hù)定義的中斷向量表中當(dāng)前中斷向量,中斷向量指向中斷服務(wù)程序入口。
        ④執(zhí)行中斷服務(wù)程序。中斷服務(wù)程序包含中斷返回指令,這樣返回時(shí)可以出棧以前保存的
        關(guān)鍵寄存器數(shù)據(jù),從而恢復(fù)中斷服務(wù)程序執(zhí)行前的現(xiàn)場(chǎng)。
        (4)外中斷
        可以響應(yīng)兩個(gè)外中斷。
        2.ICETEK-CTR板的鍵盤(pán)接口
        顯示/控制模塊ICETEK-CTR通過(guò)接口P8連接小鍵盤(pán),接收小鍵盤(pán)傳送的掃描碼,并在
        每個(gè)掃描碼結(jié)束后保存,同時(shí)向DSP的XINT2 發(fā)送中斷信號(hào);當(dāng)DSP讀鍵盤(pán)時(shí)將掃描碼送到
        數(shù)據(jù)總線(xiàn)上。小鍵盤(pán)上每次按下一個(gè)鍵將產(chǎn)生2個(gè)掃描碼、2 次中斷。
        3.程序編制
        由一個(gè)不含中斷處理程序的工程通過(guò)改寫(xiě)加入中斷處理程序部分大致需要如下操作(假設(shè)
        使用INT2):
        (1)編制中斷服務(wù)程序:可以用C語(yǔ)言程序?qū)崿F(xiàn)(參見(jiàn)實(shí)驗(yàn)程序),編寫(xiě)單獨(dú)的一個(gè)函數(shù)XINT,
        此函數(shù)使用interrupt 修飾,沒(méi)有參數(shù)和返回值。
        (2)構(gòu)造中斷向量表:程序中“InitPieVectTable();”是初始化向量表,
        “PieVectTable.XINT2 = XINT2_isr;”把中斷服務(wù)程序和向量表該中斷對(duì)應(yīng)起來(lái)。
        (3)主程序中進(jìn)行初始化設(shè)置:使能中斷,清中斷等。
        4.實(shí)驗(yàn)程序流程圖(如下圖9-1所示):

        本文引用地址:http://www.104case.com/article/150624.htm

        圖9-1 程序流程圖
        三.實(shí)驗(yàn)設(shè)備
        計(jì)算機(jī),ICETEK-F2812-EDU實(shí)驗(yàn)箱(或ICETEK 仿真器+ICETEK-F2812-A系統(tǒng)板+相關(guān)連
        線(xiàn)及電源)。
        四.實(shí)驗(yàn)內(nèi)容與步驟
        1.實(shí)驗(yàn)準(zhǔn)備
        (1)連接實(shí)驗(yàn)設(shè)備:請(qǐng)參看本書(shū)第一部分、二。
        (2)連接實(shí)驗(yàn)箱附帶的鍵盤(pán)的PS2插頭到ICETEK-CTR的“鍵盤(pán)接口”P8。
        (3)將ICETEK-CTR板的供電電源開(kāi)關(guān)撥動(dòng)到“開(kāi)”的位置。
        2.設(shè)置Code Composer Studio 2.21在硬件仿真(Emulator)方式下運(yùn)行
        請(qǐng)參看本書(shū)第一部分、四、2。
        3.啟動(dòng)Code Composer Studio 2.21:請(qǐng)參看本書(shū)第一部分、五、2。
        選擇菜單Debug→Reset CPU。
        4.打開(kāi)工程文件
        工程目錄:C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0304-Xintxint.pjt
        瀏覽xint.c文件的內(nèi)容,理解各語(yǔ)句作用。
        5.編譯、下載程序。
        6.運(yùn)行程序,觀察結(jié)果。
        運(yùn)行程序,按一下小鍵盤(pán)上任意一個(gè)鍵,注意觀察ICETEK-CTR板上指示燈閃爍的情況。
        7.觀察中斷函數(shù)的執(zhí)行
        選擇“Debug”菜單中“Halt”暫停運(yùn)行程序,在XINT2 中斷程序中的語(yǔ)句上加軟件斷
        點(diǎn),重新運(yùn)行程序(選擇“Debug”菜單中“Run”),觀察何時(shí)程序停留在斷點(diǎn)上。
        8.退出CCS
        五.預(yù)習(xí)要求
        1.了解F2812A的中斷響應(yīng)過(guò)程。

        2.了解C語(yǔ)言中斷程序設(shè)計(jì)。
        六.注意事項(xiàng)
        本實(shí)驗(yàn)要注意連接實(shí)驗(yàn)箱的連接。
        七.思考題
        修改程序完成按鍵中斷控制的指示燈依次逐一點(diǎn)亮功能。
        八.實(shí)驗(yàn)報(bào)告要求
        1.說(shuō)明該實(shí)驗(yàn)中,每次按下鍵盤(pán)均會(huì)發(fā)生幾次中斷?
        2.說(shuō)明該實(shí)驗(yàn)中產(chǎn)生連續(xù)的中斷的條件。
        3.說(shuō)明xint2 中斷函數(shù)被執(zhí)行的條件。



        關(guān)鍵詞: 中斷 TMS320f2812 芯片 DSP

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 甘南县| 内江市| 景洪市| 伽师县| 祁东县| 永德县| 达州市| 梁河县| 康乐县| 武威市| 新化县| 宁远县| 郎溪县| 巴彦淖尔市| 施秉县| 诏安县| 塘沽区| 马山县| 肇州县| 天等县| 海门市| 汉阴县| 淮南市| 江津市| 格尔木市| 宁国市| 余干县| 安龙县| 彝良县| 吴桥县| 乌拉特中旗| 永靖县| 肥乡县| 建德市| 含山县| 玉环县| 河南省| 大庆市| 叶城县| 桂平市| 含山县|