東南大學(xué)DSP第一次實驗報告_第1頁
東南大學(xué)DSP第一次實驗報告_第2頁
東南大學(xué)DSP第一次實驗報告_第3頁
東南大學(xué)DSP第一次實驗報告_第4頁
東南大學(xué)DSP第一次實驗報告_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、東南大學(xué)自動化學(xué)院實驗報告課程名稱:DSP原理及C程序開發(fā)評定成績:審閱教師:第一、二次實驗實驗名稱:定時器與基本I/O實驗(指示燈、撥碼開關(guān))院(系):自動化專 業(yè):自動化姓 名:學(xué) 號:同組人員:實驗時間:2017年3月23日DSP技術(shù)及課程設(shè)計 實驗報書學(xué)1;080141025第一部分實驗! Code Composer Studio入門及浮點運算一-實驗?zāi)康亩?實驗設(shè)備三-實驗原理四.實驗步驟第二部分實驗:基于DSP系統(tǒng)的實驗指示燈和撥碼開關(guān)一.實輪冃的13二-實驗設(shè)備13三-實驗原理13四-實驗步驟14五-實驗結(jié)果14六問題與思考16第三部分實驗:基于DSP系統(tǒng)的實驗一一定時器一-實驗

2、R的17二-實驗設(shè)備17三-實驗原理17四-實驗步驟18五-實驗結(jié)果20六實驗小結(jié)21第一部分實驗J Code Composer Studio入門及浮點運算一- 實驗?zāi)康?. 掌握Code Coiioser Studio 33的安裝和配S步驟過程。2. 了解DSP開發(fā)系統(tǒng)和計算機與冃標系統(tǒng)的連接方法3. 了解Code Conoser Studio 33軟件的操作環(huán)境和基本功能,了解TMS320C28xx軟件開發(fā)過程。學(xué)習(xí)創(chuàng)建匸程和管理工程的方法。(2) 了解基本的編譯和調(diào)試功能。(3) 學(xué)習(xí)使用觀察窗【I。(4) 了解圖形功能的使用。4. 學(xué)習(xí)用標準C語R編制程序:了解常用的C語育程序設(shè)計方法

3、和組成部分。5. 學(xué)習(xí)編制連接命令文件,并用來控制代碼的連接。6. 學(xué)會建立和改變map文件,以及利用它觀察DSP內(nèi)存使用情況的方法。7 了解F28335簡單的浮點運算8.熟悉F28335的浮點運算編程二. 實驗設(shè)備1. PC機一臺;操作系統(tǒng)為WindowsXP (或WindowsNTs Windows98、Windows2000)。2. ICETEK-F28335-A 實驗箱一臺。3. USB連接電纜一條。三- 實驗原理(1)開發(fā)TMS320C5XXX應(yīng)用系統(tǒng)一般需要以下幾個調(diào)試工具來完成:軟件集成開發(fā)壞境(Code Composer Snidio33):完成系統(tǒng)的軟件開發(fā),進行軟件和硬件仿

4、真調(diào)試.它也是硬件調(diào)試的輔助于段。開發(fā)系統(tǒng)aCETEK5100USB):實現(xiàn)硬件仿真調(diào)試時與破件系統(tǒng)的通信控制和 讀取硬件系統(tǒng)的狀態(tài)和數(shù)據(jù)。評估模塊(ICETEK F28335.A等):提供軟件運行和調(diào)試的平臺和用戶系統(tǒng)開發(fā)的參照。Code Coiiq)oser Studio 3.3主要完成系統(tǒng)的軟件開發(fā)和調(diào)試。它提供一整套的程序編制維護、編譯.調(diào)試環(huán)境,能將匯編語言和C語肓程序編譯連接生成COFF (公共0標文件)格 DSP技術(shù)及課程設(shè)計> 實驗報倂學(xué)1;08014102式的可執(zhí)行文件,并能將程序下載到目標DSP上運行調(diào)試。用戶系統(tǒng)的軟件部分可以由CCS建立的工程文件進行管理.工程一般

5、包含以卜兒種文ft:源程序文件:C語言或匯編語肓文件e ASM或*.C)頭文件CTH)標準C語言程序(2)標準C語言程序CCS支持使用標準C諾言開發(fā)DSP應(yīng)用程序.當使用標準C語言編制的程序時.其源程序文件名的后綴應(yīng)為.c(如:FPU.C)。CCS在編譯標準C語言程序時,首先將其編譯成 相應(yīng)匯編語言程序再進一步編譯成冃標0$卩的町執(zhí)行代碼。最后生成的是coff(公共目標文 件)格式的可下載到DSP中運行的文件,其文件名后綴為.oiit。由于使用C語言編制程序 其中調(diào)用的標準C的庫函數(shù)由專門的庫提供,在編譯連接時編譯系統(tǒng)還負資構(gòu)建C運行環(huán)境。所以用戶工程中需要注明使用C的支持庫。(3)命令文件的

6、作用命令文件(X件名后«為1】(1)為鏈接程序提供程序和數(shù)據(jù)在貝體DSP鎖件中的位S分 配信息。通過編制命令文件,我們町以將某些特定的數(shù)據(jù)或程序按照我們的意圖放置在DSP 所管理的內(nèi)存中。命令文件也為鏈接程序提供了 DSP外擴存儲器的描述在程序中使用CMD文件描述破H牛存儲區(qū),可以只說明使用部分,但只要是說明的,必須和鎖件匹配,也就是只 要說明的存儲區(qū)必須是存在的和叮用的。(4)內(nèi)存映射(map)文件的作用一般地,我們設(shè)計、開發(fā)的DSP程序在調(diào)試好后要固化到系統(tǒng)的ROM中。為了更精確地 使用ROM空間,我們就需要知道程序的興小和位置,通過建立目標程序的map文件可以了解DSP代碼的確

7、切信息。當需要更改程序和數(shù)據(jù)的小和位置時就要適當修改cmd文件和源程序,再重新生成map文件來觀察結(jié)果。另外,通過觀察map文件,町以掌握DSP存儲 器的使用和利用情況,以便進行存儲器方而的優(yōu)化工作。(5)浮點運算TMS320F28335是一款32位浮點通用數(shù)字信號處理芯片,它具冇存儲空間人、運算精度高等特點四- 實驗步驟1.實驗準備連接實臉箱,檢查電源線、JTAG仿真線、USB線等是否連接好,然后打開電源。2 i殳置Code Composer Studio 3.3雙擊心動 Setup CCStudio v33> 在 Available Factory Boards 欄里選擇 F283x

8、x 的 Emulator開發(fā)板型號(),然后點擊Save&Quit. C動CCS。3啟動CCS。4添加工程點擊菜單欄P rojectVOpen,打開工程文件Lab202-float 5.編譯源文件、下我町執(zhí)行程序 單擊菜單Project"、“Rebuild AU”。執(zhí)行File->Load Program.在隨后打開的對話框中選擇剛剛建立的out文件完成后系統(tǒng)自動打開一個反匯編窗H “Disassembly"。6浮點運算實驗打把yl和y2添加到觀察®h運行程序.觀察U和y2結(jié)果。然后選擇菜單欄的DEug 中的Real-time ModeO再在Watc

9、h Window中單擊右鍵.選擇Continuous Refresho然后按F5或者Debug菜單下的Rum運行程序觀察yl, y2的數(shù)值的變化。實驗結(jié)果如下:(1) n接運行初始時刻yl=y2 = 0一段時間后,yl. y2的值均發(fā)生變化。理論上來說,t>0時,y2的值陶始終保持不變Ily2 = 13.28,而yl每單位時間增加13.28。7DSP技術(shù)及課程設(shè)計 實驗報書 學(xué)匕08014102Hwe1ValueTyp«1 Radix 1Q RB0x00000000po.htx0 STP0x00000000po.,h«xQ ROH0x00000000pohexQ RI

10、H0x00000000pohex0 R2H0x00000000P6 .hex0 R3H0x00000000P6h«xQ MH0x00000000pohtxQ RSH0x00000000poh«xQ R6H0x00000000pohex$ R7H0x00000000pohex0 yl8. 268386e+07floatfloatQ y213 28floatfloatB yl8. 268386tt07floatfloat 1Q y213.28fLc«t flOfttnr1圖1 tl時刻yl和y2的值Name|Value1 Type |Radix 1Q R£0

11、x00000000po.hexe STF0x00000000P6hexQ ROH0x00000000pchftX0 RIH0x00000000po.hex0 R2HQ R3HQ R4H Q RSHQ R6HQ R7HOyl0x000000000x00000000QxQQQQQQQQ0x000000000x00000000OxOOQOQOOO2.684355 e> 0813.2813.28po poPOP6 P。POfloatI floathex hex hex hex hex hx float floatfloatWatch Loc&$ 處 Natch 1圖2 t2時刻yl和y2

12、的值從圖1和圖2町以看出,y2始終等于13.28不變 yl的值一直在堆加.與理論一致。(2) 單步運行添加如下圖所示斷點1 & Exup“ 2833FPILc匚忙Xcil » 10; ci2 = .6; xl = 7;22 = 7.3; bl = 4.2; b2 8.9;fyl = Bl/xl + bl;y2 =+ b2;while(1)fyl+-y2;,TWa 57處刃"2力 V " ; 1)int reod_3ignnls(1nt *input)1 f11在此取采黑栽擔徨號放繪入緩沖區(qū)丄沖",仃r*tum (1J; ,八 A57 aww.4圖

13、3添加斷點初始時刻yl=y2 = 0單步運行如卞:Vue1 丁 yp*Rftdix1Q XIOxCOOCOOCOhixQ ST?Orrnamorahr JtCHOxCOOCOOCOfoigrhtx« RIHOXCOOCOOCOpoiRUrhtxQ OOxCOOCOOCO(oinUrhtxg OtOxCOOCOOCOoiUrhexQ X4OkCOOCOOCOfOinttfthexQ HEMOXCOOCOOCOpeiMorhftK0 MMOxCOOCOOCOpoiLlerhexQ mOxCOOCOOCOpointerhexQ zl5 628E71flo&lHoatQ沱0 GHof

14、tlfloate ri5 628571£lD<tfloatQ蟲0 0£104.tfloAtP3金 UJg卜 Locob刪 Hitch 1圖4執(zhí)行到第一個斷點處yl和y2變化值I Typ. I E.iixQ KBOxOCOOOJOOpointerLex0 STFOxOCOOOJOOpo inlethexQ KOKOflXOOCOOOpointerLexQ RIHOxOCOOCOOOpointerhexQ £2HOxOCOOCOOOpointerLozQ ESK(bdXOOCOOOpointerhexQ MKOxOCOOCOOOpointerhexe tsK0x

15、00000000pointvUzQ K6rfOxOCOOCOOOpointertexQ mOxOCQOCOOOpointerktz«T15.628571flctt£L»tt3.28floatfl»atOyl5.628571£lc&t£l»at«y2】328Heat£lxt矗 IHabh Local; & Hatch 1圖5執(zhí)行到第二個斷點處yl和y2的變化值Kam«1 Value1 Typ<1 Radix10 JtE0x30030030pointerK«xQ ST

16、F0x30000000poinUrLexQ 3tCH00030030p«inl<rUxQ XIKOQOCDOCOOpointerhexQ Jt2H0x30000030pointerLex$ X3H0x30000030pointerhexQ S4H0x30030030pointerLex9 J£HQQfmxoopointerhex0 xeHoxjomoojopoinltrh«xQ X7H000000)0pointerLtxQ rlJ8 907Gott« y213,28Goat£l”tn 1Id. 90357Goatfbd« r21

17、3.28floatflxt13% kJSch Locas 余 Match 1圖6執(zhí)行到第三個斷點處yl和y2的變化值9DSP技術(shù)及課程設(shè)計實驗報書學(xué)1;08014102Ntire1 yg11 Xtdiz10ODzOOOOQOOOpintrMxOSTFOxOOOOGOODp interK<x0 KOHOxOODOGOODpintnK«x0 HHDxOODOGOODpintnK«xQ £2HOxCDOOOaiOpxnlnh«xQ 13H0,8000000p fintnhx0 R4HOxCOOOGOOOptinlir0 &SHO.COOOQ8DX

18、ocd I6HOtCOOOCOODORTHOxCOOOOCDDp winterXtx32.18857£lcat oatW13.2BfloatOofttQyl32,18857float oatVyzn.zBCIc&ttloatrs#Wach Uote & Matck 1 |圖7再一次執(zhí)行whileO從實驗結(jié)果町以看出,yl和y2的變化情況與理論結(jié)果一致。7. 文件輸入能出卜面介紹如何從PC機上加載數(shù)據(jù)到DSP上。用于利用已知的數(shù)據(jù)流測試算法。在完成卞面的操作以前,先介紹Code Composer Studio的Probe (探針)斷點,這種斷 點允許用戶在指定位置提取/

19、注入數(shù)據(jù)Probe斷點可以設(shè)置在程序的任何位置.當程序運 行到Probe斷點時.與Probe斷點相關(guān)的爭件將會被觸發(fā),當事件結(jié)束后,程序會繼續(xù)執(zhí)行。在這一節(jié)里Probe斷點觸發(fā)的爭件是:從PC機存儲的數(shù)據(jù)文件中的一段數(shù)據(jù)加載到DSP的 緩沖區(qū)中。注:在CCS3.3以上版本中Probe斷點被合并到防胡I斷點中斷幾在真實的系統(tǒng)中,read_signals函數(shù)用于讀取A/D模塊的數(shù)據(jù)并放到DSP緩沖區(qū)中。在這里代替A/D模塊完成這個工作的足Probe斷點。當執(zhí)行到曲數(shù)read_signals時.Probe 斷點完成這個工作。(1)將代碼段中被注解掉的read_signals(input);前的注釋符

20、號刪除 ffi新編譯卞載°(2)在程序彳 jread_signals(input);上單擊鼠標右鍵選擇"Toggle software breakpoint"設(shè)豐軟件斷點。(3)再在同一行上單擊鼠標右鍵選擇“softwarebreakpoint”,“edit”來設(shè)g斷點.此時打開了一個新的窗II。并修改相關(guān)內(nèi)容。11DSP技術(shù)及課程設(shè)計實驗報告學(xué)號 08014102I憶 IXF分 CiDSSSSd I 匚VS I匚匸I .|eHp7tQSm.x“ 二lDg?1帀fP(PTJrif r山”7 GCL ftiM2 "fl.2jdh(D«CWIa:j

21、ter/MGwar I ff «J Iwluf '-1 Lj Wb R5avet 訛g £ TSt 月城 X攻 勺Kf 禺I&I 月城J Bi a 因 BSF28ZFvattplr ?«5JxF?n. cy3 - ml/xl + bl ; y2 = ra2*x2 + b2;yl+=y2;»cid_«igDals input):1)lot raad_6i3na1(jat *ioput)K住Situ取釆It卷揮結(jié)導(dǎo)敦養(yǎng)g入0沖區(qū)汁般 rotorn(1);2 £ I 1&>CAF<t»8 % 曲

22、 nopenm loom auoQci'RocazesCc rd ft on” QSuUD Actbfk騒BAdzicssLsntbHrrea*LTitleReid 3U from 金 cvcawfo.ewETBKp S> True'irJbuffcr100OotalP Ooup $0 債 go'M? «7rF-Tk* 夕Oita hrvKkPin* bvlan Zaofliple 2833iFlW BofTW2xe.pjt - DebugLEgg "C:CCStttdio_v3.3sC2DOO'gtool3bincl2000- -&#

23、174;"De <LinkiagJFUrthi aZ Vr<曲伽TOUnTwmSHJk* MfctiUt*tme J 'DSnggQflw'lr畤15zru e圖8設(shè)置Pmbe斷點并修改相關(guān)設(shè)置此時,已經(jīng)配置好了Pinbe斷點和與之關(guān)聯(lián)的爭件進一步的結(jié)果在下面實驗中顯示。8圖形功能簡介使用CCS的圖形功能檢驗上一節(jié)的結(jié)果。首先進行卜面設(shè)置操作:/F»y3fr IPSblU KBQlaloF/CPU.l - TSy?2»S8 - Codo Cotpn<«c Studio13</P2S335 ZPS510 fiBula

24、toi/Crn I IlS320C28si Cod* Coapotfri StuditIfiBL 了g" tr |Exinpl*_S9I 7 ".jeet Tttlbar SgtZ2dll toZHr Lq»T«i* " r*rM Ji S«bN Tv»Xb«M _Todbun> 介 ?1 (P/l-KPITr耳 *- ;八 V %參± wTy 8 妙S1 bL; 2Z2 2)2;V«»w/l+-y2:rooflOd girt I TT( input):Jf 譽 2fRtifli

25、 VinimS3啟31 $ZEwpr<35i wi7 Dulpvi Vod pXl I* rhwt* broxctFu«ll«3 D*lu VaBKar ElUpiV33mFPU_aaf twore .pjt - Dob$Lmtinff. Y:yJCStwno-v3:3sC2IW0gt81、b5y 12000“<Lit)kLAg>m 0 SDirc»£dxrQ簡郎9 bxaticr9 LogluinivsrMEwnrte33(PU-C 166Corrttcn O 畑 CcirrDhOa A:xnPead Caxd from Ftente

26、c:gwdoM 3>:rracdP祐 apiAiMd0 TrueQ ?tift Adlgnp mnofLength100G'oupDetddC QcupNktSoNM9BMxEr*UBTEe b好 lb,JigVlonci 1»LMpUt)“u»raiN1 Vfelu1怙1 R上.e ECMnOOSOTOV .*n& I8B5Tff ,b眉p 15-U*3 -liCTfrufi r.,.'> rwFifl BrB Graph Property DialogI Di sply TypeSiTimAICrph TiUtInputN1 Star

27、t AddressirLp_I>uffer|PageDm1 Acquisiti on Buffer Size100 Index Tncrement1 Di splay Data Size100DSr Ddtft Type1 16"bit signed integer成Q-value0S«fhplin( R<t< (Hz)1Plot Date. FromLeft to RishtL«ft*shift«d D&tft DisplayY“.=/AutoscaleOitDC yjuG0Axes Displ$yOilTim Display

28、 Unit5VrS2KCancel 1Kelp 1圖9設(shè)S圖形功能在彈出的圖形窗11中單擊鼠標右鍵,選擇"ClearDisplay",然后按Alt+F5運行程序觀 察input甜H的內(nèi)容。DSP技術(shù)及課程設(shè)計 實驗報書學(xué)1;08014102圖10 input is11的正弦波形17第二部分實驗:基于DSP系統(tǒng)的實驗一一指示燈和撥碼開關(guān)一.實驗?zāi)康?. 了解ICETEK-F28335-A評估板在TMS32OF28335DSP外部擴展存儲空間上的擴展。2 了解ICETEK-F28335-A評估板上指示燈和撥碼開關(guān)擴展原理。3. 學(xué)習(xí)在C語言中便用擴展的控制寄存器的方法。二- 實

29、驗設(shè)備計算機,ICETEK-F28335.A實驗箱(或ICETEK仿真器+ICETEK - F28335-A評估板+相關(guān)連線及電源)。三. 實驗原理1. TMS320F28335DSP的存儲器擴展接I】存儲器擴展接1是DSP擴展片外資源的主要接【1它提供了一組控制信巧和地址、數(shù) 據(jù)線.町以擴展各類存儲器和存儲器、寄存器映射的外設(shè)。JCETEK-F28335.A評估板在擴展接門上除了擴展了片外SRAM夕卜,還擴展了指示燈、DIP開關(guān)和D/A設(shè)備。具體擴展地址如下:0x180004- 0x180005: D/A轉(zhuǎn)換控制寄存器0x180001:板上DIP開關(guān)控制寄存S0x180000:板上指示燈控制

30、寄存器與ICETEKF28335.A評估板連接的ICETEK-CTR顯示控制模塊也使用擴展空間控制主要設(shè)備,相關(guān)寄存器地址如下表:名稱地址功能屬性CTRGR0x208000企!甘如¥存養(yǎng)WCTRLCDCR0x208002液晶刃泯寄心益WCTRLCDCMDR0x208001液為命令寄心益WCTRLCDLCR0x208003液晶左、卜W拎:制當心器WCTRLCDRCR0x208004泱品右半Jjf擰制住佟器WCTRLR0x208007軸肋擰總寄心器WCTRLA0x208005發(fā)比一枚管控剳住存器WCTRKEY0x208001謎盈數(shù)丸冋汝奇心器RCTRCLKEY0x208002匯:除筑&#

31、163;奇存茶R2.指示燈與撥碼開關(guān)擴展原理丼制if*34譯碎VCC*33VSDOFK 口TW53205509 DSP圖323.2撥碼開關(guān)擴展原理四. 實驗步驟1.打開工程文件丁程文件為:Lab301-Led2. 添加代碼,編譯、卜載程序。完成LED工程中l(wèi)ed.c里的三個要求即TASK1、TASK2. TASK3。其中TASK3應(yīng)注總:DIP的端【】地址定義.并II可以通過修改LED4DIP兩者之間的對應(yīng)關(guān)系,來修改撥碼開關(guān)與LED燈的對應(yīng)關(guān)系,請自行嘗試。3. 運行程序觀察結(jié)果五- 實驗結(jié)果1.測試LED/LED = 1;/LED = 2;LED =6;/提示分別測試這些代碼點亮了哪些LE

32、D.令助丁理解LED = 1時第一個燈亮,LED = 2時第二個燈亮,LED = 6時中間兩個燈亮2. TSAKb LED燈以遞增的方式點亮LED程序:ffdefine LED ( (unsigned shortint *)0x180000)for(; ; )/遞增點亮LED = 0x01; Delay(lOOO);LED = 0x02: Delay(lOOO):LED = 0x04: Delay(lOOO):LED = 0x08; Delay(lOOO);/* for(;) 遞減點亮LED = 0x01: Delay(lOOO):LED = 0x02; Delay(lOOO);LED = 0

33、x04: Delay(lOOO):LED = 0x08: Delay(lOOO):開關(guān)程序:#define SW (* (unsigned short int *)0x100001)/添加丨的定義LED = SW:町知:映射在擴展存儲器空間地址上的指示燈寄存器在設(shè)置時是低4位有效的數(shù)據(jù)的 %殳低位對應(yīng)指示燈D1,次低位對應(yīng)D2, 依次類推。町知:映射在擴展存儲器空間地址上的撥碼開關(guān)控制寄存器在回讀時是低4位冇效的, 數(shù)據(jù)的址低位對應(yīng)撥碼開關(guān)1,次低位對應(yīng)2, 依次類推。DSP技術(shù)及課程設(shè)計實驗報書學(xué)號08014102irii/|UUUa rt9 C3eC34占 C" Q60UlOJ

34、Jeal 11 meCsp. co*. &水一F283354ft 叫PWI fffff iL 1 2 9 41wTpTSSri 圖5. 1實驗現(xiàn)象六問題與思考ICETEK-F28335-A評估板上的指示燈控制寄存器是町讀可寫的,請問用什么辦法M以回讀指示燈狀態(tài)?答:ftdefine LED (* (unsigned short int *)0x180000)unsigned int LIGHT; 定義變量LIGHT = LED:再將LIGHT添加到觀察窗,選擇菜單欄中Debug的Real-time Mode.在Watch Window中選If Continuous Refresh.并選

35、擇16進制觀察。運行程序,就町以觀蔡到指示燈的狀態(tài)。19DSP技術(shù)及課程設(shè)計 實驗報書學(xué)1;08014102第三部分實驗:基于DSP系統(tǒng)的實驗定時器一.實驗?zāi)康?.通過實驗熟悉F28335A的定時器:2.掌握F28335A定時器的控制方法:3.拿握F28335A的中斷結(jié)構(gòu)和對中斷的處理流程;234.學(xué)會C語言中斷程序設(shè)汁,以及運用中斷程序控制程序流程。二-實驗設(shè)備計算機,ICETEK-F28335-A實驗箱(或ICETEK仿真器+ICETEK - F28335-A系統(tǒng)板+相關(guān)連紅及電源)O三- 實驗原理1.通用定時器介紹及共控制方法TMS320F28335A內(nèi)部有三個32位通用定時器(TIME

36、RO 1/2),定時器1和2被保留給實時操作系統(tǒng)(DSPBIOS)用,只有定時器0町以提供給用戶使用。2中斷響應(yīng)過程a.接受中斷請求。必須由軟件中斷(從程序代碼)或鎖件中斷(從一個引腳或一個基丁芯片的設(shè)備)捉出請求去暫停當前主程序的執(zhí)行。b.響應(yīng)中斷。必須能夠響應(yīng)中斷請求。如果中斷是町屏蔽的,則必須滿足一定的條件,按照一定的順序去執(zhí)行。而對于非可屏蔽中斷和軟件中斷,會立即作出響應(yīng)。C.準備執(zhí)行中斷服務(wù)程序并保存寄存器的值0d執(zhí)行中斷服務(wù)子程序。調(diào)用相應(yīng)得中斷服務(wù)程序ISR,進入預(yù)先規(guī)定的向量地址,并且執(zhí)行已寫好的ISR。3中斷類別町屏蔽中斷:這些中斷可以用軟件加以屏蔽或解除屏蔽。不町屛蔽中斷:

37、這些中斷不能夠被屏蔽,將立即向應(yīng)該類屮斷并轉(zhuǎn)入相應(yīng)的子程序去執(zhí) 行。所有軟件調(diào)用的中斷都屬于該類中斷。4中斷的優(yōu)先級如果多個中斷被同時激發(fā),將按照他們的中斷優(yōu)先級來提供服務(wù)。中斷優(yōu)先級是芯片內(nèi) 部己定義好的不町修改。5中斷程序的一般設(shè)豐步驟:st epl 1初始化系統(tǒng)控制寄存器.PLL、看門狗等InitSysCtrl0;Step2:初始化GPIO(描述如何將GPIO設(shè)S為初始狀態(tài))InitGpioO ;Step3:清除所有中斷;初始化PIE向量農(nóng)DIXT:/禁止CPI;中斷InitPieCtrO ; /初始化PIE控制寄存器至默認狀態(tài)(禁止所有的中斷,清除所有中斷標志)lEROxOOOO:IF

38、ROxOOOO; 禁止所有CPU中斷并清除所有中斷標志位InitPieVectTable 0;/初始化PIE向呈表,使其指向默認中斷服務(wù)程呼EALLOff;PieVectTable=&cpu_timerO_isr;/S新映射中斷向量,使其指向中斷服務(wù)程序EDIS;Step4:初始化外設(shè)(可選)Step5:配置定時器Step6:使能中斷Step?:等待中斷產(chǎn)生四.實驗步驟打開工程文件Lab303-Timer目錄中的“Timer.pjt”。完成所缺部分代碼,讀懂程序,編譯卜載運行,觀察指示燈在定時器的定時中斷中按照設(shè)計定時閃爍(流水燈)° 定義端II及相關(guān)變量:define LE

39、D (* (unsigned short int *)0x180000)添加指示燈端【I定義#defineSW(* (unsigned shortint *)0x180001)/添加DIP 開關(guān)端【I定義define startCpuTimer0() CpuTimerORegs. TCK bit. TSS = 0int i = 0, ncount:unsigned int uLBD;unsigned int SWl;/TASK:中斷向量JE新映射,使其指向中斷服務(wù)程序入I 1EALLOW;PieVectTable.TINTO = &cpujimerQJsr;/.新映射中斷向量使其指向中斷服務(wù)程序EDIS;uLBD=OxOl:/初始化變最/Step6使能中斷/ TASK:使能PIE中斷,開中斷第1組,使能全局中斷PieCti'lRegs. PIEIERl.bit INTx7 =丄使能TINT0周期中斷IERI = MJNT1;/開中斷第一組EINT:/使能全局中斷/ Step 7.等待中斷產(chǎn)生interr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論