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

正文內(nèi)容

dsp的機(jī)電設(shè)備故障診斷系統(tǒng)的研究與開發(fā)畢業(yè)論文-閱讀頁

2025-07-11 17:28本頁面
  

【正文】 程序首先完成DI1,DI2兩路數(shù)字輸入的采集,其中用到了“位與”取出GPFDAT中的113位。用選擇語句檢測(cè)“位與”后的值,若不為0則定義DI1或DI2為字符1,否則定義為字符0。數(shù)字輸出時(shí),按照D00、DODODO3的值(這些值已在主程序中從channelcontrl2中“位與”設(shè)置),從DO1開始,當(dāng)檢測(cè)到局部變量為0時(shí),設(shè)置GPFDAT中的相應(yīng)位為0,否則為1。 數(shù)字輸入輸出程序 CAP頻率采集程序CAP頻率采集程序的功能主要是設(shè)置CAPCAP2引腳功能,待CAP的兩級(jí)緩沖器放滿數(shù)據(jù)后引起中斷,從而進(jìn)入中斷服務(wù)程序,讀取兩路的頻率。故設(shè)置局部變量CAP1S、CAP2S來標(biāo)志兩通道的時(shí)能情況,根據(jù)CAP1S、CAP2S的狀態(tài),若為1,打開此頻率中斷的中斷屏蔽,使能該中斷。CAPCAP2各有一個(gè)中斷服務(wù)程序,中斷服務(wù)程序的功能是將兩級(jí)緩存中的數(shù)相減求取差值,乘以定時(shí)器一個(gè)周期的時(shí)間就得出了采樣的周期,求倒數(shù)就會(huì)得到頻率值。通過對(duì)GPTCONA的位T1TOADC設(shè)置周期中斷產(chǎn)生觸發(fā)信號(hào),定時(shí)器在每次定時(shí)器達(dá)到周期值時(shí)將產(chǎn)生觸發(fā)轉(zhuǎn)換信號(hào)。從而達(dá)到采樣頻率的可設(shè)置。在轉(zhuǎn)換中設(shè)置了一個(gè)轉(zhuǎn)換次數(shù)conversioncount當(dāng)檢測(cè)到其變化到1024時(shí)就會(huì)自動(dòng)進(jìn)行后續(xù)程序。在中斷服務(wù)程序中,每次轉(zhuǎn)換結(jié)束時(shí)進(jìn)入中斷服務(wù)程序,讀取數(shù)據(jù)并自加conversioncount,當(dāng)conversioncount未變化到1024時(shí)就清中斷標(biāo)志,復(fù)位排序器,這樣可以繼續(xù)使能中斷。 ADC采樣程序 ADC中斷服務(wù)程序 FFT變換程序FFT變換時(shí)采用了變量AAAA4來作為進(jìn)行個(gè)通道進(jìn)行FFT變換的使能標(biāo)志。變換后的數(shù)據(jù)放在指定的數(shù)據(jù)空間。通過對(duì)信號(hào)進(jìn)行傅立葉變換可把連續(xù)的模擬信號(hào)由時(shí)域轉(zhuǎn)化成頻域來表示。直接計(jì)算DFT的計(jì)算量與變換區(qū)間長度N的平方成正比,N較大時(shí),計(jì)算量太大,直接用D盯進(jìn)行實(shí)時(shí)譜分析不切實(shí)際。到現(xiàn)在人們已經(jīng)提出了很多種FFT變換,我們通稱之為FFT。本文引用的Tl公司的FFT庫函數(shù)即采用2FFT算法。以下為使用F2812的FFT庫的步驟:(1).下載C28x快速傅立葉變換程序庫文件SPRCO81。安裝完后在C:\tidcs\c28\dsp_tbox\fft目錄后可以看到所有的文件。對(duì)數(shù)字輸入量,由于在IO處理子程序中已將數(shù)字輸入DIDI2設(shè)置成了字符型0和1,故可采用直接發(fā)送。在發(fā)送完數(shù)據(jù)后再在后面加上MHz字符,該子程序設(shè)置為send1(Uint16 senddata1)。發(fā)送程序首先以字符形式發(fā)送通道號(hào),空兩個(gè)空格后再發(fā)送數(shù)據(jù),程序每次取出一個(gè)數(shù)據(jù)進(jìn)行按位字符變換,放在字符數(shù)組b[7]中,即保留1位符號(hào)數(shù),2位整數(shù),4位小數(shù)。如此依次循環(huán)1024次,將該通道數(shù)發(fā)送完畢。由于模擬信號(hào)數(shù)據(jù)量大,在發(fā)送模擬信號(hào)通道數(shù)據(jù)時(shí),采用檢查通道使能標(biāo)志,根據(jù)通道的使能情況來發(fā)送,若使能了ADC功能,順序檢查通道使能標(biāo)志AAAA4,若使能則發(fā)送相應(yīng)的通道數(shù)據(jù)。在發(fā)送時(shí)都采用send2數(shù)組數(shù)據(jù)發(fā)送方式在每發(fā)送完一個(gè)通道數(shù)據(jù)后,間隔發(fā)送5個(gè)空格。2)配置郵箱的傳送方式郵箱有兩種傳送方式,接收和發(fā)送。如果為接收郵箱的話,需要對(duì)相應(yīng)的接收屏蔽進(jìn)行編程并判斷接收到的數(shù)據(jù)是否需要被保護(hù)來進(jìn)行相應(yīng)的編程。它有高(IOEN),低(I1EN)兩個(gè)中斷級(jí)別,配置中斷需要配置相應(yīng)的中斷屏蔽以及中斷級(jí)別并且使能這兩條中斷線。這時(shí)為了下一次的傳送必須清除TA 位。5)中斷的處理中斷處理主要就是調(diào)度這些不同的郵箱完成各自的功能。: CAN發(fā)送控制程序流程圖6 測(cè)試結(jié)果 ADC程序測(cè)試結(jié)果,這里暫時(shí)將采樣點(diǎn)數(shù)設(shè)置為10個(gè),以便觀察,voltage3是0~10V通道,即,圖中前幾路信號(hào)是在沒有加信號(hào)時(shí)的模數(shù)轉(zhuǎn)換結(jié)果,可以看出它是隨機(jī)浮動(dòng)的,從voltage3[6]開始加入信號(hào)。、。、這里將采樣點(diǎn)數(shù)設(shè)置為10個(gè),以便觀察。同時(shí)也簡略介紹了CAN總線技術(shù)的一些知識(shí)。提出了基于TMS320F2812的遠(yuǎn)程故障診斷模塊的軟件設(shè)計(jì)方案,并對(duì)其中一些功能進(jìn)行了調(diào)試和仿真。經(jīng)過不斷的努力,根據(jù)課題及廠家的技術(shù)要求,結(jié)合自己所學(xué)的專業(yè)知識(shí),在老師和同學(xué)的指導(dǎo)幫助下,參考一些相關(guān)參考資料,順利地完成了此設(shè)計(jì)。此次畢業(yè)設(shè)計(jì)使我的自學(xué)能力得到了很大的提高,尤其是對(duì)軟件方面的學(xué)習(xí)。此次設(shè)計(jì)使我明白,越大的挑戰(zhàn)越容易使人進(jìn)步,只要自己不斷努力、不斷學(xué)習(xí),就一定能夠克服種種困難而到達(dá)勝利的彼岸通過學(xué)習(xí)增強(qiáng)了我的忍耐力,并且使我增強(qiáng)了與困難作斗爭的勇氣和信心,同時(shí)也令我飽嘗了通過自己的辛苦勞動(dòng)后學(xué)到知識(shí)的優(yōu)越感。附錄一 系統(tǒng)原理圖附錄二 系統(tǒng)程序include interrupt void capint1_isr(void)。//CAP中斷服務(wù)程序interrupt void adc_isr(void)。//控制命令緩存區(qū)域Uint16 functioncontrl。//通道控制字1Uint16 channelcontrl2。//采樣頻率高八位Uint16 frequencycontrlL。//全局變量float adclo=。//功能使能標(biāo)志Uint16 A1,A2,A3,A4,CAP1S,CAP2S。//設(shè)置4路數(shù)字輸出的局部變量Uint16 frequency。//5+5通道值float voltage2[1024]。//0+10通道值float voltage4[1024]。//5+5通道頻域值float FFTvoltage2[1024]。//0+10通道頻域值float FFTvoltage4[1024]。//1數(shù)字輸入值Uint16 DI2。//1頻率輸入值Uint16 CAP2。//轉(zhuǎn)換次數(shù)值//////初始化程序部分void IOinit(void)//IO初始化程序{ EALLOW。//設(shè)置GPIOF8~13為輸入輸出口并使能SCIA和CAN =0x0f00。}void CAPinit(void)//CAP初始化程序{ EALLOW。//設(shè)置CAP2的復(fù)用引腳為捕捉模式 =1。 =0x0000。 =0x0000。 =0x0000。 =0x0000。//禁止2捕獲單元,使能選擇通用定時(shí)器2捕獲, =0x300c。 =1。 =0。 =1。 =0。//級(jí)聯(lián)模式 =3。i10000。 =1。i5000。 =15。//順序采樣 =0x0003。//設(shè)置通道號(hào) =0x1。 =0x3。//清轉(zhuǎn)換結(jié)束標(biāo)志 =1。 =0。//使能轉(zhuǎn)換結(jié)束中斷標(biāo)志 =0。//使能事件管理器A啟動(dòng)AD轉(zhuǎn)換 =0。 =0。 =0。 =0。//1個(gè)停止位,禁止校驗(yàn),8位字符,禁止自測(cè)試,空閑線協(xié)議 = 0x00。//波特率=19200 = 0xF3。//脫離復(fù)位狀態(tài),使能接收和發(fā)送}void CANinit(void)//CAN初始化程序{}void init()//系統(tǒng)初始化程序{ InitSysCtrl()。//關(guān)所有中斷 IER=0X0000。 InitPieCtrl()。//初始化中斷向量表 EALLOW。adc_isr。capint1_isr。capint2_isr。 IOinit()。//CAP初始化 InitAdc()。//SCI初始化 CANinit()。0x1000。0x2000。039。139。039。139。 else =1。 else =1。 else =1。 else =1。//使能PIE中斷3 =1。//清CAP的中斷標(biāo)志位 } if(CAP2S!=0)//同上 { =1。 =1。//使能CPU中斷3 EINT。 =1。//使能定時(shí)器2工作}interrupt void capint1_isr(void)//CAP1中斷服務(wù)程序{ CAP1=。//關(guān)閉CAP1的中斷 =1。 } interrupt void capint2_isr(void)//CAP2中斷服務(wù)程序{ CAP2=。//關(guān)閉CAP2的中斷=1。 } ////ADC采樣程序部分void ADC(void)//ADC采樣程序{ EALLOW。 EDIS。//使能PIE中的ADCINT中斷 IER|=M_INT1。//使能全局中斷INTM ERTM。 =1。 =frequency。 // Setup period register =2。 //使能定時(shí)器1工作128分頻HSPCLK if(conversioncount!=1024){}}interrupt void adc_isr(void)//ADC采樣中斷服務(wù)程序 { voltage1[conversioncount]=((float))*+adclo。 voltage3[conversioncount]=((float))*+adclo。 conversioncount++。//復(fù)位排序器 =1。//清中斷應(yīng)答標(biāo)志 } else =0。 }////SCI發(fā)送程序部分void jiange(void){ for(i=0。i++) { while(!=1){} =39。 }}void send1(Uint16 senddata1)//CAP頻率的發(fā)送方式{ Uint16 d[10]。 f=(float)senddata1。//將f按位變換為字符數(shù)組 d[1]=(Uint16)f%10+0x30。.39。 d[4]=(Uint16)(f*100)%10+0x30。 d[6]=(Uint16)(f*10000)%10+0x30。 d[8]=(Uint16)(f*1000000)%10+0x30。 for(i=0。i++)//發(fā)送f { while(!=1){} =d[i]。M39。H39。z39。Uint16 j。while(!=1){}//發(fā)送通道號(hào)=number+0x30。i2。 39。i1024。39。 if(c) b[1]=39。 else b[1]=39。 b[2]=(Uint16)(c)%10+0x30。.39。 b[5]=(Uint16)(c*100)%10+0x30。 } else { b[0]=39。 if(senddata2[i]) b[1]=39。 else b[1]=39。 b[2]=(Uint16)(senddata2[i])%10+0x30。.39。 b[5]=(Uint16)(senddata2[i]*100)%10+0x30。 } for(j=0。j++)//發(fā)送數(shù)據(jù)senddata2[i] { while(!=1){} =b[j]。 39。jiange()。jiange()。//發(fā)送頻率輸入值jiange()。jiange()。 jiange()。 jiange()。 jiange()。 jiange()。 jiange()。 jiange()。 jiange()。 jiange()。//初始化程序 functioncontrl=0x0000。//通道選擇控制字清零 channelcontrl2=0x0000。//采樣頻率高八位清零 frequencycontrlL=0x0000。i5。 } functioncontrl=a[0]。//讀取通道控制字1 channelcontrl2=a[2]。//讀取采樣頻率高八位 frequencycontrlL=a[4]。0x0001。0x0002。0x0004。0x0008。0x0010。0x0020。0x10。0x20。0x0001。0x0002。0x0004。0x0008。0x0001。0x0002。0x0004。0x0008。//讀取采樣頻率 frequency=frequency+frequencycontrlL。 if(cap_enable!=0)//判斷CAP功能是否使能,若使能則執(zhí)行CAP程序,否則判下一功能位 CAP()。 if(fft_enable!=0)//判斷FFT功能是否使能,若使能則執(zhí)行FFT程序,否則判下一功能位 FFT()。 if(can_enable!=0)//判斷CAN功能是否使能,若使能則執(zhí)行CAN程序,否則判下一功能位 C
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1