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

正文內(nèi)容

畢業(yè)論文(集成運放參數(shù)測試儀)-閱讀頁

2025-02-02 15:44本頁面
  

【正文】 13 所示。流程圖如圖 14 所示,以及兩個判忙函數(shù) BUSYM(),BUSYR() ,兩個寫指令函數(shù) PR1(),PR4(),兩個寫數(shù)據(jù)函數(shù) PR2(),PR5(), 該模塊在設(shè)計時主要考慮單片機(jī)和液晶之間的管腳連接,以及液晶自身的地址分配。其地址控制說明如圖 15 所示,接口管腳電平說明如表 2 所示。 //開顯示define display_off 0x3e。 /*設(shè)置列地址*/define start_line0 0x0c0。而且只有當(dāng)液晶是處于空閑和開狀態(tài)的時候,才能進(jìn)行下一個操作,否則將在此進(jìn)入死循環(huán)中。以下給出了 xianshi()函數(shù)具體程序,其它的程序在附錄里給出,這里就不一一詳述。 int j。 for(i=64。i+=6) wcode(i,4,47)。 //求出每一位數(shù),便于在 LCD 上顯示 for(i=0。i++) {average[i]=(int)(average[i]*1000)。 for(j=6。j) //要顯示的數(shù)據(jù)共 5 位從最后一位開始顯示 { k=average[i](int)average[i]。 average[i]=(int)average[i]。 // 將獲得的最后一個小數(shù)轉(zhuǎn)換為整數(shù),便于顯示 lie=64+j*7。 if (j==5) //要顯示的數(shù)據(jù)共 5 位,有四位小數(shù)13 {wcode(lie,hang,46)。 j。 average[i]=average[i]/10。 為了使該系統(tǒng)更具人性化,在硬件上加入了三個按鍵,相應(yīng)地在軟件上也離不開這個模塊。當(dāng)有鍵按下,就會產(chǎn)生一個下降沿脈沖從而觸發(fā)中斷的發(fā)生。在該函數(shù)中具體實現(xiàn)不同按鍵要顯示的對應(yīng)界面,并進(jìn)行不同的操作。該模塊的流程圖如圖 16 所示。 if (P3^2==0) //消抖 keyv=keyaddr。 }/**************************************//* 按鍵處理函數(shù) *//**************************************/void keycl(void) { unsigned char i,j,k。 //清除按鍵標(biāo)志 if (keyv==0) //當(dāng)按下第一個鍵時 fw()。 //調(diào)用顯示參數(shù)測試界面 k=0x0c。i5。j8。 delay(0x30)。 //在要選部通道之間延時 //通過改變繼電器獲得所需的不同電壓 if(i==0) //獲得 vlO 當(dāng) i=0 時 jdq0=1。 jdq1=0。 } if (i==2) //i==3 時獲得 vlo 是用來計算 dcmr jdq1=1。 k=k+0x10。 //去掉一個最大值和一個最小值,并轉(zhuǎn)換為真實的電壓值 jisuan()。} //顯示獲得的結(jié)果 else if(keyv==2) highsource()。 //清除按鍵標(biāo)志 } } 其中jdq0,jdq1:繼電器通斷標(biāo)志變量;falg:按鍵標(biāo)志變量,有鍵按下則為 1,否則為 0;keyv:存放不同按鍵的鍵值;ad0[i][j]:存放來自通道的電壓信號的數(shù)據(jù),idata unsigned int ad0[5][8]存放參數(shù)測試所需要的 5 組數(shù)據(jù),又把每個所需要的數(shù)據(jù)采集的 8 次,因此每組數(shù)據(jù)中包括 8 個數(shù)據(jù),這樣真正采集的數(shù)據(jù)應(yīng)該是 40 個。以下是 AD9851 的部分管腳功能說明:4–1,28—25(D0—D7):是8位的數(shù)據(jù)輸入口,其中D0(4腳)是低位,D7(25腳)是高位;5(PGND):接地端;6(PVCC):電源端;這兩個管腳都是當(dāng)頻率取輸入數(shù)據(jù)的六倍時用的;7(W_CLK):數(shù)字載入端,上升沿有效,由單片機(jī)控制,; 8(FQ_UD):頻率刷新端,上升沿有效,由單片機(jī)控制,;9(REF_CLK ):系統(tǒng)時鐘,是外部輸入,直接用10M晶振產(chǎn)生;19(AGND):模擬信號接地端;118(AVDD):模擬信號電源端;21(IOUT):輸出口,產(chǎn)生的信號源輸出口,必須接負(fù)載后再接入示波器;22(RESET):復(fù)位端,高電平時復(fù)位,當(dāng)該管腳是低電平時處于正常工作,該管腳由單片機(jī)控制, 相連。該模塊的程序流程如圖17所示。idata unsigned long step。 //頻率的最大值約為4Midata unsigned char zanc[5]={0x00,0x22,0x22,0x22,0x22}。dacs。addr。step=0x01000000。w_clk=0。 j++。 reset=0。k0x0f78。dacs。addr。i5。 p1++。i5。 w_clk=1。 j++。 } fq_up=1。 fq_up=0。 if (addrstep) step=0x10000。 //改變頻率值 } }17開始頻率值為 0送時鐘脈沖和刷新脈沖結(jié)束NY送頻率字改變頻率值圖 17 高頻輸出模塊圖⒌ 轉(zhuǎn)換模塊該模塊主要包括 ad2543()函數(shù),主要實現(xiàn)采集通道中的數(shù)據(jù),并將模擬信號轉(zhuǎn)換為數(shù)字信號。轉(zhuǎn)換模塊的程序主要是負(fù)責(zé)讀取來自 TLC2543 的數(shù)據(jù),該芯片有 11 路模擬信號輸入通道(AN0~AN10),兩個參考電壓輸入端(REF+,REF)和 5 個控制管腳。它們的功能分別為:AN0~AN10:11 路模擬輸入通道REF+:正參考電壓,輸入端REF:負(fù)參考電壓,輸入端,一般直接接地IOCLK:輸入輸出脈沖,當(dāng)讀輸出數(shù)據(jù)時下降沿有效,當(dāng)輸入地址時,上升沿有效,輸入端DATA INPUT:地址選擇端,輸入當(dāng)前要轉(zhuǎn)換的模擬信號的通道號,四位串行輸入,輸入端DATA OUT:12 位數(shù)字串行信號輸出口,輸出端 EOC:輸出結(jié)束標(biāo)志,轉(zhuǎn)換結(jié)束后自動置 1,輸出端CS:片選信號,低電平有效,輸入口 18開始結(jié)束位操作方式送通道數(shù)位操作方式先讀高 8位,再讀后 4 位圖 18 轉(zhuǎn)換模塊的程序流程圖轉(zhuǎn)換模塊的程序流程如圖 18 所示,其工作原理為:轉(zhuǎn)換輸出電平的量程大小為正負(fù)參考電壓之差,輸入模擬信號的電壓范圍即為正負(fù)參考電壓的大小,一般 REF+大小要小于或等于V+;當(dāng)要開始 A/D 轉(zhuǎn)換時,先使該芯片有效,即使/CS 信號端為低電平,連續(xù)輸入四個IOCLK,在 IOCLK 的上升沿處在 DATA INPUT 端口輸入要轉(zhuǎn)換的通道地址,高位在前,低位在后,通道地址的范圍為 0 到 10,并且在 IOCLK 的第四個脈沖的下降沿到來時,讀入選擇的通道中的模擬信號并開始轉(zhuǎn)換;調(diào)用延時函數(shù)作為其轉(zhuǎn)換時間,然后單片機(jī)要給 A/D 芯片的 IOCLK 端口連續(xù) 16 個脈沖,在每個脈沖的下降沿到來時讀取 A/D 中的一位數(shù)據(jù),先讀入的數(shù)據(jù)為高位,在程序中利用左移功能,將前 12 位數(shù)據(jù)保存在變量 ad 中,后 4 位數(shù)據(jù)為無效數(shù)據(jù)舍去, 然后返回到上級函數(shù)。因此在主函數(shù)中預(yù)先調(diào)用一次 ad2543()函數(shù)作為預(yù)先送通道數(shù)的操作。 unsigned char i,j。 for(i=0。i++) {。 cjn=tin。i8。 din=cj7。 cj0=cj。 j++。 } ad=cjn*16。 //還是原來的通道 for(i=0。i++) { cj=dout。 cjn=cjn1。 sclk=1。 sclk=0。 //只需要后讀入數(shù)據(jù)中低 4 位 cs=1。 }⒍ 數(shù)據(jù)處理模塊該模塊主要包括 sort()函數(shù)和 jisuan()函數(shù)。jisuan() 函數(shù)是將去掉最大值和最小值后每組數(shù)據(jù)進(jìn)行平均,然后再參考公式進(jìn)行計算,求出參數(shù)值。 unsigned int temp。 //比出最大值 放在最后一位 for (i=0。i++) for(j=0。j++) if (ad0[i][j]ad0[i][j+1]) { temp=ad0[i][j]。 ad0[i][j+1]=temp。i5。j6。 ad0[i][j]=ad0[i][j+1]。 }//求和時只求出前 6 位 去掉一個最大值去掉一個最小值 for (i=0。i++) { sum=ad0[i][0]。j6。20 average[i]=sum/6。i5。 }/***************************************//** 計算結(jié)果 *//***************************************/void jisuan(void){float temp。 //vio average[1]=average[1]/21average[0]。 //avdtemp=average[4]/temp/21。average[2]=temp。 temp=temp/21。}四、 系統(tǒng)測試當(dāng)我們調(diào)試用 I/O 方式在液晶上顯示數(shù)據(jù)時,不小心燒壞了 LCD。顯示數(shù)據(jù)結(jié)果時每次顯示一個參數(shù)結(jié)果,通過按鍵顯示下一個參數(shù)結(jié)果。(一)程序調(diào)試方法修改語法上的錯誤:軟件仿真編譯程序,查改有錯誤的地方,直到編譯通過;按軟件模塊的劃分,用仿真器結(jié)合硬件進(jìn)行仿真各模塊程序,查找邏輯錯誤;通過單步運行和打斷點的方式調(diào)試程序,直到出現(xiàn)自己想要的結(jié)果。 調(diào)試過程和結(jié)果:①LCD 顯示的測試過程和結(jié)果:運行清屏程序,在屏幕任意位置顯示一個漢字和西文,發(fā)現(xiàn)無任何反應(yīng),參考其它的程序,發(fā)現(xiàn)所包含的頭文件與我的程序都是不同的,于是改變頭文件,結(jié)果顯示正確;然后在所要的位置顯示所需要的漢字和字母,顯示程序正確;②給 TCL2543 芯片的 0 通道輸入 2V 電壓,調(diào)用 ad2543()函數(shù)測試獲得數(shù)據(jù),并將獲得的數(shù)據(jù)在液晶上顯示,看得到的數(shù)據(jù)是否正確。(三)聯(lián)機(jī)調(diào)試 測試儀器:微機(jī)電源(WD999) 、萬用表(HONEYTEK A830L) 、仿真器(E6000/L) 調(diào)試過程和結(jié)果:將獲得的數(shù)據(jù)顯示在 LCD 上,和手動測試的結(jié)果進(jìn)行比較,結(jié)果有誤差。五、 結(jié)束語這次畢業(yè)設(shè)計,雖然是我們以前電子競賽中接觸過,但由于以前的軟件沒被保存下來,這次的編程相當(dāng)于是從頭開始。后來在何老師的指導(dǎo)下,我重新理清思路,結(jié)合電路原理圖編寫程序,能夠較快的找準(zhǔn)問題所在,能順利完成畢業(yè)設(shè)計。在數(shù)據(jù)處理的精度方面由于采用 C 語言編程,大大提高了精度,但遺憾的是,有些發(fā)揮部分(如單位帶寬增益)沒能完成,并且測試結(jié)果存在有較大的誤差。六、 感謝詞隨著畢業(yè)設(shè)計的結(jié)束,我也即將離開川師。我想,這些將伴我走過以后的人生。首先要感謝我的學(xué)?!拇◣煼洞髮W(xué),它為我提供了一個良好的學(xué)習(xí)氛圍。從您們身上,我不僅領(lǐng)略到了您們那淵博的知識,也看到了您們敬業(yè)的高尚品德。感謝您在畢業(yè)設(shè)計中對我們的指導(dǎo),您不僅教給我們該怎樣去設(shè)計,還教我們該如何去發(fā)現(xiàn)問題,自己思考解決問題。感謝吳均老師、毛老師、梁老師以及麥老師對我們畢業(yè)設(shè)計的大力支持和幫助。從他們身上,我也學(xué)到了團(tuán)隊精神和其它許多知識。實驗183
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1