• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > DSP芯片TMS320f2812的外中斷

    DSP芯片TMS320f2812的外中斷

    作者: 時間:2011-06-06 來源:網絡 收藏

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

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

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

    2.了解C語言中斷程序設計。
    六.注意事項
    本實驗要注意連接實驗箱的連接。
    七.思考題
    修改程序完成按鍵中斷控制的指示燈依次逐一點亮功能。
    八.實驗報告要求
    1.說明該實驗中,每次按下鍵盤均會發生幾次中斷?
    2.說明該實驗中產生連續的中斷的條件。
    3.說明xint2 中斷函數被執行的條件。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 正镶白旗| 望都县| 铜鼓县| 石河子市| 兴隆县| 扶余县| 宕昌县| 开化县| 深水埗区| 大厂| 鄂托克前旗| 得荣县| 定西市| 黑龙江省| 平舆县| 常宁市| 寻乌县| 郎溪县| 五河县| 安国市| 炉霍县| 鹰潭市| 达孜县| 奇台县| 清河县| 浮山县| 洛扎县| 巫溪县| 达孜县| 正安县| 长武县| 大埔县| 涡阳县| 如皋市| 湘潭县| 宝兴县| 隆昌县| 江华| 邳州市| 高碑店市| 南陵县|