dsp實(shí)驗(yàn):定時(shí)器_第1頁(yè)
dsp實(shí)驗(yàn):定時(shí)器_第2頁(yè)
dsp實(shí)驗(yàn):定時(shí)器_第3頁(yè)
dsp實(shí)驗(yàn):定時(shí)器_第4頁(yè)
dsp實(shí)驗(yàn):定時(shí)器_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)三:定時(shí)器1、 實(shí)驗(yàn)原理1.定時(shí)器的結(jié)構(gòu)2. 定時(shí)器中斷周期3.實(shí)驗(yàn)功能:通過(guò)XF管腳控制LED閃動(dòng)以一定規(guī)律進(jìn)行閃爍。2、 硬件資源及在片外圍電路硬件資源: DSP芯片、CPU、LED、蜂鳴器、電阻、電容等在片外圍電路: 時(shí)鐘發(fā)生器、定時(shí)器、通用輸入/輸出口等3、 參數(shù)設(shè)置CPU工作時(shí)鐘: *clkmd =0x21b3; 0010000110110011 CLKOUT=18M中斷頻率: 9 /* PRSC 4bit*/ 18M/9000=2KHZ4、 實(shí)驗(yàn)流程圖5、 程序#include <stdio.h>#include <csl.h>#include <

2、csl_irq.h>#include <csl_timer.h>#include <csl_chiphal.h>extern void VECSTART(void);#define TIMER_CTRL TIMER_TCR_RMK( TIMER_TCR_IDLEEN_DEFAULT, /* IDLEEN = 0 */ TIMER_TCR_FUNC_OF(0), /* FUNC = 0 */ TIMER_TCR_TLB_RESET, /* TLB = 1 */ TIMER_TCR_SOFT_BRKPTNOW, /* SOFT = 0 */ TIMER_TCR_FRE

3、E_WITHSOFT, /* FREE = 0 */ TIMER_TCR_PWID_OF(0), /* PWID = 0 */ TIMER_TCR_ARB_RESET, /* ARB = 1 */ TIMER_TCR_TSS_START, /* TSS = 0 */ TIMER_TCR_CP_PULSE, /* CP = 0 */ TIMER_TCR_POLAR_LOW, /* POLAR = 0 */ TIMER_TCR_DATOUT_0 /* DATOUT = 0 */ ) /* Create a TIMER configuration structure that can be pass

4、ed */* to TIMER_config CSL function for initialization of Timer */* control registers. */TIMER_Config timCfg0 = TIMER_CTRL, /* TCR0 */ 0x3400u, /* PRD0 0x3400=13312*/ 14400, /* PRD0 16bit 0x3400=144000=14400*10*/ 9 /* PRSC 4bit*/;/中斷頻率=Fcpu/(9000*1)=144MHz/13312=1kHzUint16 eventId0; /* Create a TIME

5、R_Handle object for use with TIMER_open */TIMER_Handle mhTimer0;volatile Uint16 timer0_cnt = 0;/* Function/ISR prototypes */interrupt void timer0Isr(void);int old_intm;Uint16 tim_val;Uint16 xfchange = 0;Uint16 ms,f;void main(void) /* Initialize CSL library - This is REQUIRED ! */ /*CLS庫(kù)的初始化,這是必需的*/

6、CSL_init(); /* Set IVPH/IVPD to start of interrupt vector table */ /*修改寄存器IVPH,IVPD,重新定義中斷向量表*/ IRQ_setVecs(Uint32)(&VECSTART); /* Temporarily disable all maskable interrupts */*禁止所有可屏蔽的中斷源*/old_intm = IRQ_globalDisable(); /* Open Timer 0, set registers to power on defaults */*打開定時(shí)器0,設(shè)置其為上電的的默認(rèn)值

7、,并返回其句柄*/mhTimer0 = TIMER_open(TIMER_DEV0, TIMER_OPEN_RESET);/* Get Event Id associated with Timer 0, for use with */* CSL interrupt enable functions. */*獲取定時(shí)器0的中斷ID號(hào)*/ eventId0 = TIMER_getEventId(mhTimer0);/* Clear any pending Timer interrupts */*清除定時(shí)器0的中斷狀態(tài)位*/IRQ_clear(eventId0);/* Place interrupt

8、 service routine address at */* associated vector location */*為定時(shí)器0設(shè)置中斷服務(wù)程序*/IRQ_plug(eventId0,&timer0Isr);/* Write configuration structure values to Timer control regs */*設(shè)置定時(shí)器0的控制與周期寄存器*/ TIMER_config(mhTimer0, &timCfg0); /* Enable Timer interrupt */*使能定時(shí)器的中斷*/IRQ_enable(eventId0); /* Enab

9、le all maskable interrupts */*設(shè)置寄存器ST1的INTM位,使能所有的中斷*/IRQ_globalEnable(); /* Start Timer */*啟動(dòng)定時(shí)器0*/TIMER_start(mhTimer0);ms=0;for(;)/ Wait for at least 10 timer periods /等待10個(gè)定時(shí)周期if(xfchange = 0) /點(diǎn)亮XF的LED CHIP_FSET(ST1_55,XF,1); else/關(guān)掉XF的LED CHIP_FSET(ST1_55,XF,0); /* Restore old value of INTM */*恢復(fù)INTM舊的值*/IRQ_globalRestore(old_intm);/* We are through with timer, so close it */*關(guān)掉定時(shí)器0*/TIMER_close(mhTimer0); /

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論