freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

54dsp十天速成-展示頁

2024-09-02 17:36本頁面
  

【正文】 。初始化為 F 因為實驗板的數(shù)碼管不顯示 F .text CodeStart: LD x,DP 。除數(shù) z: .word 0Fh,0Fh,0Fh,0Fh,0Fh。下面例子是把用除以 10 的辦法二進(jìn)制數(shù)轉(zhuǎn)成 BCD 碼例子: ********************************* *16 進(jìn)制轉(zhuǎn) BCD 碼 ********************************* .mmregs .global CodeStart .data x: .word 1234 。但是復(fù)雜的算法最好還是在線仿真,因為程序是流水線執(zhí)行,軟件仿真有時與實際硬件執(zhí)行結(jié)果有所不同。z=A END: B END 計算結(jié)果數(shù)據(jù)存儲器地址存儲內(nèi)容十進(jìn)制 x1010H000aH10 y1011H001aH26 w1012H0017H23 z1013H000dH13 技巧提示:試驗算術(shù)指令由于不需要外部資源,可以不需要仿真器和實驗箱。A=A+y SUB w,A 。裝載數(shù)據(jù)指針 DP STM STACK+10H,SP SUMB: LD x,A 。數(shù)據(jù)段指針 x: .word 10 。 實驗 加減法計算 ************************************************ *計算 z=x+yw。算術(shù)與邏輯指令也是數(shù)量繁多,無法一一舉例,這里簡單舉一個加法和除法的例子,乘法和乘加指令在 FIR 用得比較多,稍后一并介紹。 3.修改程序 中 AR1,AR2 的值,觀察 LED 閃爍頻率 實驗二 基本運(yùn)算 <本節(jié)選自為 HKDSP 實驗箱寫的實驗指導(dǎo)書,有待整理> DSP 指令數(shù)量 最多的是:算術(shù)指令、邏輯指令和數(shù)據(jù)加載與傳送指令。s Guide, Linker Command Files, The MEMORY Directive, The SECTIONS Directive 練習(xí): 試一下不按規(guī)定格式書寫代碼會產(chǎn)生什么樣的編譯錯誤。在未特別指明的情況下使用這個通用的鏈接配置文件: /* */ e CodeStart /*程序入口,必須在程序中定義相應(yīng)的標(biāo)號 */ m /*生成存儲器映射報告文件 */ MEMORY { PAGE 0: VECT: =0080h len=0080h /*中斷向量表 */ PARAM: =100h len=0F00h /*代碼區(qū) */ PAGE 1: DARAM: =1000h len=1000h /*數(shù)據(jù)區(qū) */ } SECTIONS { .text : PARAM PAGE 0 /*代碼段 */ .vectors : VECT PAGE 0 /*中斷向量表 */ STACK : DARAM PAGE 1 /*堆棧 */ .bss : DARAM PAGE 1 /*未命名段 */ .data : DARAM PAGE 1 /*數(shù)據(jù)段 */ } 更多參考: 1.關(guān)于代碼書寫格式: SPRU102: TMS320C54x Assembly Language Tools User39。以本次實驗為例,下面的簡單的鏈接配置文件就夠用了: /* */ e CodeStart /*程序 入口,必須在程序中定義相應(yīng)的標(biāo)號 */ MEMORY { page 0: PRAM: =0100h len=0F00h /*定義程序存貯區(qū),起始 0100H,長度 0F00H*/ } SECTIONS{ .text:PRAM page 0 /*將 .text 段映射到 page0 的 param 區(qū) */ } 由于每個程序都需要一個鏈接配置文件,可以編寫一個滿足通常需要的鏈接配置文件。這里介紹一下鏈接配置文件文件,對本次試驗影響不大的中斷向量表將在后文介紹。另外 代碼貼到 word 里后,格式有些錯位,無法一一糾正。如果項目組有規(guī)定,則按規(guī)定執(zhí)行。 3.每一行的尾注能對齊的盡量對齊 4.標(biāo)明一段程序功能的注釋以 *號打頭頂格寫,如果功能說明的注釋較多,用分格線框起來。 有些格式 CCS 并沒有做要求,但注意養(yǎng)成良好的代碼書寫風(fēng)格,增加代碼的可讀性。 書寫格式的要求在很多 DSP 書里都沒有提,初學(xué)者往往只把書上的代碼輸入進(jìn)去,編譯時得到錯誤的提示,而不知所措。 2.一般區(qū)分大小寫,除非加編譯參數(shù)忽略大小寫。注釋區(qū)前面可以沒有標(biāo)號區(qū)或程序區(qū)。如果沒有標(biāo)號,也必須 在指令前面加上空格或 TAB,不能頂格。標(biāo)號區(qū)必須頂格寫,主要是定義變量、常量、程序標(biāo)簽時的名稱。 *按此法延時的近似公式為: 4*(AR2+1)*(AR1+1)*時鐘周期 *當(dāng) DSP 工作在 50MHz(時鐘周期 20ns),AR1=999, AR2=4999 時 *延時約為 400ms,則 LED 閃爍的周期為 800ms,頻率 ************************************************************** 設(shè)計指導(dǎo): 1.源代碼書寫格式 源代碼的書寫有一定的格式,初學(xué)者往往容易忽視。如果 AR2 不等于 0, AR2 減 1,再判斷 BANZ LOOP1,*AR1 。循環(huán)次數(shù) 1000 LOOP1: STM 4999, AR2 。跳轉(zhuǎn)到程序開頭循環(huán)執(zhí)行 ************************************************************** *延時子程序: Delay *用兩級減一計數(shù)器來延時。XF 清 0 CALL Delay 。XF 置 1 CALL Delay 。程序區(qū) CodeStart: 。預(yù)定義的寄存器 .def CodeStart 。重復(fù)執(zhí)行 1000 次空指令產(chǎn)生延時 NOP B CodeStart 。重復(fù)執(zhí)行 1000 次空指令產(chǎn)生延時 NOP RSBX XF 。程序入口 SSBX XF 。定義程序入口標(biāo)記 .text 。 ************************************************************* .mmregs 。 實驗 最簡單的程序:控制 XF 引腳周期性變化 實驗?zāi)康模和ㄟ^簡單的程序了解 DSP 程序的結(jié)構(gòu),熟悉 CCS 開發(fā)環(huán)境。實驗一 新手上路 ] 初學(xué)者編寫的第一個程序通常是控制 XF 引腳的變化,然后用示波器測量 XF 腳波形或觀察與相接的 LED。這個程序也常常用來測度一下 DSP 能否正常工作。 ************************************************************* *最簡單的程序: *循環(huán)對 XF 位置 1 和清 0,用示波器可以在 XF 腳檢測到電平高低周期 性變化 *常用于檢測 DSP 是否工作。預(yù)定義的寄存器 .def CodeStart 。程序區(qū) CodeStart: 。XF 置 1 RPT 999 。XF 清 0 RPT 999 。跳 轉(zhuǎn)到程序開頭循環(huán)執(zhí)行 .end NOP 指令執(zhí)行時間為一個時鐘周期,設(shè) DSP 工作頻率是 50MHz,可以估算出 XF 引腳電平的變化頻率約為: 50M/2020=25kHz 在沒有示波器的情況下,就要將程序 稍作改進(jìn),增加延時,用一個延時子程序?qū)?XF 腳電平變化頻率降到肉眼可分辨的程度,就可以用 LED 來顯示電平的變化,程序如下: 實驗 子程序調(diào)用 實驗?zāi)康模簩W(xué)習(xí)子程序的調(diào)用 ************************************************************* * *對 稍作改進(jìn),用延時子程序設(shè)置較長的延時, *可以用試驗板上的 LED 看到 XF 引腳電平的變化 ************************************************************* .mmregs 。定義程序入口標(biāo)記 .text 。程序入口 SSBX XF 。調(diào)用延時程序 RSBX XF 。調(diào)用延時程序 B CodeStart 。調(diào)整 AR1 和 AR2 的大小 LED 閃爍的頻率不同 ************************************************************** Delay: STM 999,AR1 。循環(huán)次數(shù) 5000 LOOP2: BANZ LOOP2,*AR2 。如果 AR1 不等于 0, AR1減 1,跳轉(zhuǎn)到 LOOP1 RET .end ************************************************************** *注意這種延時方法并不精確,需要精確定時必須用定時器。簡單歸納如下: 1.每一行代碼分為三個區(qū):標(biāo)號區(qū)、指令區(qū)和注釋區(qū)。指令區(qū)位于標(biāo)號區(qū)之后,以空格或 TAB 格開。注釋區(qū)在標(biāo)號區(qū)、程序區(qū)之后,以分號開始。另外還有專門的注釋行,以 *打頭,必須頂格開始。 3.標(biāo)點(diǎn)符號有時不注意會打成中文全角字符導(dǎo)致錯誤。其中最容易犯的錯誤指令頂格寫,不過一般經(jīng)提示后不會犯第二次。以上兩 個例子的書寫風(fēng)格可作參考,但不是硬性規(guī)定: 1.標(biāo)號區(qū)占 3 個 TAB 的間隔,即 12 個字符 2.指令中的指令碼占兩個 TAB 間隔,然后是操作數(shù)。 此外其它編程語言的編程風(fēng)格也可以借用過來,比如標(biāo)示符命名規(guī)則、程序說明的要求等。 本書的代碼盡量保持一定的風(fēng)格,不過讀者可以發(fā)現(xiàn)前面的代碼注釋較多,后面隨著學(xué)習(xí)的深入,一般不會對每一條指令加注釋,只注明程序段的功能。 2.鏈接配置文件 一個完整的 DSP 程序至少包含三個部分:程序代碼、中斷向量表、鏈接配置文件 (*.cmd)。 連接配置文件的確定了程序鏈接成最終可執(zhí)行代碼時的選項,其中有很多條目,實現(xiàn)不同方面的選項,其中最常用的也是必須的有兩條: 。作為本手冊通用的鏈接配置文件如下,可以滿足本書大部分程序的需要。s Guide, Source Statement Format 2.關(guān)于鏈接配置文件: SPRU102: TMS320C54x Assembly Language Tools User39。 試一下將鏈接配置文件中的 MEMORY, SECTIONS 改成小寫會出現(xiàn)什么樣的編譯錯誤。數(shù)據(jù)加載與傳送指令由于處處要用,所以不單獨(dú)列為實驗。其它指令有興趣可以對照指令表的說明,試驗一下各指令運(yùn)行的結(jié)果。 ************************************************ .mmregs
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1