DSPADC程序中文說(shuō)明.doc_第1頁(yè)
DSPADC程序中文說(shuō)明.doc_第2頁(yè)
DSPADC程序中文說(shuō)明.doc_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、* 例程功能:利用中斷定時(shí)器每隔一秒鐘,從DSP28335的 A0、A1口接收模擬信號(hào),并轉(zhuǎn)換 為 數(shù) 字 信 號(hào) 存 放 在 S a m p le T a b le 1 ,S a m p le T a b le 2 中 。*/#include#includeDSP2833x_Device.hDSP2833x_Examples.h/ DSP2833x頭文件/ DSP2833x Examples Include File/ ADC 啟動(dòng)參數(shù)#if (CPU_FRQ_150MHZ)/ Default - 150 MHz SYSCLKOUT#defineADC_MODCLK 0x3 / HSPCLK

2、 = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3)#endif= 25.0 MHz#if (CPU_FRQ_100MHZ)#defineADC_MODCLK 0x2 / HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2)#endif= 25.0 MHz#defineADC_CKPS 0x1/ ADC module clock = HSPCLK/2*ADC_CKPS=25.0MHz/(1*2) = 12.5MHz#defineADC_SHCLK 0xf/ S/H width in ADC module periods =16 ADC

3、 clocks#definePIEACK_GROUP1 0x0001interruptvoid ISRTimer0( void );intSampleTable1=0,SampleTable2=0;intcount,count1,count2;main ()/ 步驟 1. 初始化系統(tǒng)控制: PLL, WatchDog ,啟用外設(shè)時(shí)鐘該示例函數(shù)可在DSP2833x_SysCtrl.c文件中找到。InitSysCtrl();/ ADC 工作時(shí)鐘設(shè)置 :EALLOW;SysCtrlRegs.HISPCP. all= ADC_MODCLK;/ HSPCLK =SYSCLKOUT/ADC_MODCLK,

4、ADC工作的標(biāo)準(zhǔn)頻率EDIS;/ 步驟 2. 初始化 GPIO:該示例函數(shù)位于 DSP2833x_Gpio.c 文件中,并說(shuō)明如何將 GPIO設(shè)置為默認(rèn)狀態(tài)。/ InitGpio(); /在這個(gè)例子中被跳過(guò)/ 第 3步。清除所有中斷并初始化 PIE 矢量表:禁用 CPU中斷DINT;/初始化 PIE 控制寄存器為默認(rèn)狀態(tài)。默認(rèn)狀態(tài)是禁止所有的PIE 中斷并清除標(biāo)志。/ 這個(gè)函數(shù)可以在 DSP2833x_PieCtrl.c文件中找到。InitPieCtrl();/ 禁用 CPU中斷并清除所有 CPU中斷標(biāo)志:IER = 0x0000;IFR = 0x0000;/ Initialize the P

5、IE vector table with pointers to the shell Interrupt/ Service Routines (ISR)./這將填充整個(gè)表,即使在這個(gè)例子中沒(méi)有使用中斷。這對(duì)于調(diào)試目的很有用。/ The shell ISR routines are found in DSP2833x_DefaultIsr.c./ 該函數(shù)在 DSP2833x_PieVect.c 中找到。InitPieVectTable();EALLOW;PieVectTable.TINT0 =&ISRTimer0;/告訴定時(shí)器 0的中斷地址為中斷向量表的INT0EDIS;InitCpuTimer

6、s();ConfigCpuTimer(&CpuTimer0,150,1000000);StartCpuTimer0();/CPU 第一組中斷將會(huì)產(chǎn)生,并使能第一組中斷的第七個(gè)小中斷IER|=M_INT1;PieCtrlRegs.PIEIER1 . bit . INTx7 =1;/步驟 4.InitAdc初始化所有器件外設(shè):此功能可在();/ADC 初始化設(shè)置DSP2833x_InitPeripherals.c中找到/ ADC 工作方式設(shè)置 :AdcRegs.ADCTRL1. bit. ACQ_PS= ADC_SHCLK;/設(shè)置采集窗的大小。該控制位控制 SOC脈沖的寬度, SOC脈沖信號(hào)的寬度

7、等于ADCLK周期*( ADC_SHCLK+1)AdcRegs.ADCTRL3. bit. ADCCLKPS= ADC_CKPS;/核心時(shí)鐘分頻。 ADC模塊時(shí)鐘=HSPCLK/2*ADC_CKPS =25.0MHz/(1*2) = 12.5MHzAdcRegs.ADCTRL1. bit. SEQ_CASC= 1;/建立級(jí)聯(lián)序列方式AdcRegs.ADCTRL1. bit. CONT_RUN= 1;/讀取完轉(zhuǎn)換序列后停止AdcRegs.ADCTRL1. bit. SEQ_OVRD= 1;/使能排序覆蓋AdcRegs.ADCCHSELSEQ1.bit. CONV00= 0x0;/設(shè)置 ADCIN

8、A0作為第一個(gè)變換AdcRegs.ADCCHSELSEQ1.bit. CONV01= 0x1;/設(shè)置 ADCINA1作為第一個(gè)變換AdcRegs.ADCMAXCONV.bit . MAX_CONV1= 0x1;/最大采集通道/ 第 5步。用戶特定的代碼,啟用中斷:EINT;/啟用全局中斷 INTMERTM;/啟用全局實(shí)時(shí)中斷 DBGMAdcRegs.ADCTRL2. all = 0x2000;/ 啟動(dòng) SEQ1interruptvoidISRTimer0 ( void )whileAdcRegs.AdcRegs.(AdcRegs.ADCST. bit . INT_SEQ1=0) /等待中斷ADCTRL3. bit . SMODE_SEL= 1;/ 設(shè)置同步采樣模式ADCST. bit . INT_SEQ1_CLR = 1;/ 向該位寫(xiě) 1,清除 SEQ1中斷標(biāo)志位SampleTable1=(AdcRegs.ADCRESULT04);SampleTable2=(AdcRegs.ADCRESULT14);PieCtrlRegs.PIEACK. all=PIEACK_GROUP1;/ 取 A0數(shù)據(jù)并記錄在SampleTable1數(shù)組中/ 取 A1數(shù)據(jù)并記錄在SampleTable2數(shù)組中/0x0001

溫馨提示

  • 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)論