位單片機(jī)原理及應(yīng)用基于pic32mx1xx2xx系列便攜式實(shí)驗(yàn)開發(fā)板配套光盤daad example_第1頁
位單片機(jī)原理及應(yīng)用基于pic32mx1xx2xx系列便攜式實(shí)驗(yàn)開發(fā)板配套光盤daad example_第2頁
位單片機(jī)原理及應(yīng)用基于pic32mx1xx2xx系列便攜式實(shí)驗(yàn)開發(fā)板配套光盤daad example_第3頁
位單片機(jī)原理及應(yīng)用基于pic32mx1xx2xx系列便攜式實(shí)驗(yàn)開發(fā)板配套光盤daad example_第4頁
位單片機(jī)原理及應(yīng)用基于pic32mx1xx2xx系列便攜式實(shí)驗(yàn)開發(fā)板配套光盤daad example_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

13.8由輸出構(gòu)成DA模擬量輸出和將其采樣的AD例本節(jié)描述了在微芯PIC32MX220F032B型上的DA-AD綜合示例。通過輸出占空比從0~100%漸8段數(shù)碼管顯示(0~1023適用范圍:本節(jié)所描述的代碼適用于PIC32MX220F032B型(28引腳SOIC封裝對于其他型號或封裝的,測試,不確定其可用性。13-2SPIA/D1由SPI模塊自動選擇(SCK2只能選這個引腳SPI2PPSOutput(2,RPB8,SPI34RPB7Rbits.RPB7R=52ANSELAbits.ANSA0=基于的D/A變換電路:采用PIC32MX220F032B型所具有的脈寬調(diào)制通道輸出可變占空比的波形,將波形通過RC濾波電路將其形成大小可調(diào)的模擬量,即可實(shí)現(xiàn)D/A13-6 13-6RC10D/AA/D轉(zhuǎn)換模塊將其電壓值轉(zhuǎn)換成數(shù)字量送到LED開 開 否是否緩沖區(qū)指否是否緩沖區(qū)指針將緩沖區(qū)數(shù)據(jù)求和取平int{intint{int{if(ADS_flag>{ADS_flag=adrst[adptr]= if(adptr>15){adptr=ads=ads+=adrst[i];ads=ads>>4;}}}return}開 開 聯(lián)開開啟動AD采返結(jié)返結(jié) init函數(shù)流程框圖圖13-9:定時器中斷函數(shù)流程框圖圖13-10 { RPB7Rbits.RPB7R= 1OC1CON=1//TurnoffOC1ng //InitializesecondaryCompareOC1CON=//2周期設(shè)定+//ConfigurePR2 //SetT2CONSET= //Enable 1init函數(shù)例程(13-8所示OC1CONSETOC1CONSET=//Enable}//ConfiguretheTimer//ConfiguretheTimer1interruptvoidISR(_TIMER_1_VECTOR,ipl2){//Cleartheinterruptflag{t> t=ADS_flag=}{t>t= 1_d=={1 1>DUTYMAX{1=1_d=}}{ 1=={1=1_d=}1--} }}4、AD采樣函數(shù)例程(13-10所示UINT16 {{//自動采樣:31Tadwhile //= //結(jié)束本次采樣/return }附件:代* #include//ConfigurationBit//SYSCLK=48MHz(8MHzCrystal/FPLLIDIV*FPLLMUL///PBCLK=48MHz(SYSCLK///PrimaryOscw/PLL//WDT#pragmaconfigFPLLMUL=MUL_24,FPLLIDIV=DIV_2,FPLLODIV=DIV_2,FWDTEN=OFF#pragmaconfigPOSCMOD=HS,FNOSC=FRCPLL,FPBDIV=DIV_1#pragmaconfigFUSBIDIO //FUSBIDIO#pragmaconfig = //Periodneededfortimer1totriggeraninterruptevery0.1//(48MHzPBCLK/1 KHzTimer1#definePERIOD =0.001s=0.2ms#defineBTN_DELAY //2*5=10ms#defineSYS_FREQ( #defineDUTYMAX0x0DFF unsignedint unsignedintadrst[16]={0},adptr=0;//0~9,0.~9.FSEt-unsignedcharLed_lib[]={0x42,0xf3,0x86,0xa2,0x33,0x2a,0x0a,0xf2,0x02,0x22,0x40,0xf1,0x84,0xa0,0x31,0x28,0x08,0xf0,0x00,0x20,0x1e,0x0e,0x0f,0xbf,0x23,0x9b,0x8b};//LED字庫voidSpiInitDevice()//8bits/char,inputdatasampledatendofdataoutputSpiOpenFlagsoFlags=SPI_OPEN_MSTEN|SPI_OPEN_CKP_HIGH|SPI_OPEN_MODE8|PPSOutput(2,RPB8,SDO2);//SetRB8pinasoutputfor//OpenSPImodule,useSPIchannel2,useflagssetabove,DivideFpbby6SpiChnOpen(2,oFlags,6);}voidSpiDoBurst(unsignedchar*pBuff,unsignedcharLen){if(pBuff){unsignedintfor(i=0;i<Len;i++){}}}void{= PORTA.0AN0AD1CON1 //AD1CHS CH0CH1AN0AD1CSSL=AD1CON3 //AD1CON2 //VREF+VREF-//2= //}UINT16{AD1CON1bits.ASAM=1; //自動采樣:31個Tad后自動轉(zhuǎn)換while(!AD1CON1bits.DONE); //等待轉(zhuǎn)換完成AD1CON1bits.ASAM=0; //結(jié)束本次采樣/轉(zhuǎn)換操作return }{spibuff[2]=Led_lib[rst%10]; spibuff[1]=Led_lib[(rst/10)%10]; spibuff[0]=Led_lib[(rst/100)%10]; spibuff[3]=Led_lib[rst/1000]; }void{//OpenTimer1(T1_ON|T1_SOURCE_INT|T1_PS_1_1,//Setupthetimerinterruptwithapriorityof2INTEnable(INT_T1,INT_ENABLED);}//ConfiguretheTimer1interruptvoidISR(_TIMER_1_VECTOR,ipl2){//Cleartheinterruptflag t> {t=ADS_flag=} t>{t= 1_d=={1 1>DUTYMAX{}}{

1=1_d= 1=={}}

1=1_d=1-- }} {RPB7Rbits.RPB7R=RPB7Rbits.RPB7R=1//1初始OC1CON=//offOC1ng //InitializesecondaryCompareOC1CON= //Configure //2周期設(shè)定+PR2 //SetT2CONS

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論