測量儀器課程設計_第1頁
測量儀器課程設計_第2頁
測量儀器課程設計_第3頁
測量儀器課程設計_第4頁
測量儀器課程設計_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、測量儀器課程設計任務書練習1:溫度報警程序,當溫度值大于37則報警,小于-5則退出運行狀態。前面板:程序功能及用途: 本程序功能為溫度報警,溫度值超過37就報警,小于-5就退出運行狀態。程序演示:(備注:以下的當前溫度值顯示格式設置為2位的浮點數,當然也可以設置為其他形式)(1)當溫度值大于37°時 ,紅燈亮表示報警。(備注:以下的溫度值)(2)當溫度值小于-5°時 ,程序退出運行狀態。練習2:建立一個實現計算器功能的 VI。前面板有數字控制件用來輸入兩個數值,有數值顯示件用來顯示運算結果。運算方式有加、減、乘、除,可用一個滑動條實現運算方式的設定。功能:實現加減乘除運算方

2、式的切換,k為滑動桿的值 當0<=k&&k<5時,運算方式為加法; 當5<=k&&k<10時,運算方式為減法; 當10<=k&&k<15時,運算方式為乘法; 當15<=k&&k<=20時,運算方式為除法;該題利用公式節點來進行設計前面板:練習三:設計 VI,將一個字符串和兩個數值聯結成為一個字符串(順序為兩頭為數值,中間為字符串)。兩字符串間不用空格隔開。數值形式分別為輸入時為四位、二位浮點型,顯示時為兩位、四位浮點型。并顯示中間字符串長度和組成后的字符串長度。程序功能及用途: 本題

3、要求將兩個數值和一個字符串組合成一個新的字符串,對于輸入的兩個數值有精度要求(數值1,數值2的顯示格式分別設置為四位,二位浮點型),對于輸出的字符串也有格式要求(顯示時為兩位,四位浮點型),這可以通過“格式化寫入字符串”函數來實現,對于計算中間字符串長度和組成字符串長度可以由“字符串長度”函數來說實現并最終用數值顯示控件顯示其長度,可以用字符串輸出控件輸出組合后的字符串。前面板:綜合設計題目一:信號產生、測量與傳輸系統設計設計內容:在LABVIEW開發平臺下,結合測試與信號處理理論設計下述虛擬儀器:函數發生器;頻譜分析儀;具體要求:函數發生器輸出正弦波、方波、三角波,波形可選擇;頻率、幅值和初

4、相位可以調節;前面板上顯示輸出波形。頻譜分析儀采樣頻率、采樣點數、信號頻率、幅值和初相位可調;分析正弦波、方波和三角波的頻譜特性。圖一、信號發生器設計一個VI,可以得到常見的正弦波、方波、鋸齒波三角波信號,并疊加一個均勻白噪聲,上面波形圖顯示基本信號,下面是基本信號和均勻白噪聲疊加信號,設計如圖所示,添加兩個按鈕,分別是波形生成和停止生成,來控制該信號發生器。要求:設計出程序框圖。圖二、虛擬濾波器設計在上一題基礎上,設計一個虛擬濾波器,可以對有噪聲信號的原始信號進行低通濾波處理,添加兩個按鈕,分別用來產生模擬信號和開始濾波功能。要求:設計出程序框圖圖三基于labview和單片機的溫度測量系統設

5、計設計一個基于串口的虛擬溫度測量系統,其中單片機部分在Proteus中設計,其代碼在設計中已經提供,主要設計一個上位機接收程序,將單片機發送的溫度值接收并保存起來,下圖一給出的是一個示意圖,可以按照這個界面來設計,也可以按照別的思路。主要思想:上位機作為一個接收端,實時接收數據, 單片機端的溫度用有三個字節的數組成,第一個是一個標志位,如果接收為0則表示接收成功。第二個是發送實際溫度值乘以10后的整型數據的高字節;第三個是發送實際溫度值乘以10后的整型數據的低字節;上位機主要利用VISA中的串口接收函數,同時由于單片機中的數據發送過來是以文本形式接收,要進行數據轉化。根據上面的簡單描述:設計出

6、該上下位機測量系統要求:(1)分別在Proteus和labview中完成兩個實例 (2)寫出程序設計過程和程序框圖 (3) 完成課程設計報告。 #include <reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit DQ =P36; /定義DS18B20通信端口uchar flag=0;code uchar table=0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90, /09的段碼 0x40,0x79,

7、0x24,0x30,0x19, 0x12,0x02,0x78,0x00,0x10, /帶小數點09的段碼 0xbf,0xff; /"-"和"全滅"的段碼/uchar pc_command;/只要PC有發過來0x0a過來就算是告訴單片機啟動發送指令uchar flag; /正負號標志void delay(unsigned int i)/延時函數while(i-);/顯示程序void display(uchar bit_count,uchar dat) P2=0x00; P0=tabledat; P2=(0x01)<<bit_count; del

8、ay(500);void dis_Temperature(uint t) uchar i;if(flag=1)i=20;else i=21;display(0,i); i=t/100; display(1,i); i=t%100/10; display(2,i+10); i=t%100%10; display(3,i); void Init_DS18B20(void)/初始化函數unsigned char x=0;DQ = 1; /DQ復位delay(8); /稍做延時DQ = 0; /單片機將DQ拉低delay(80); /精確延時 大于 480usDQ = 1; /拉高總線delay(14

9、);x=DQ; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗delay(20);uchar Read(void)/讀一個字節unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-)DQ = 0; / 給脈沖信號dat>>=1;DQ = 1; / 給脈沖信號if(DQ)dat|=0x80;delay(4);return(dat);void Write(unsigned char dat)/寫一個字節unsigned char i;for (i=8; i>0; i-)DQ = 0;DQ = dat&

10、0x01;delay(5);DQ = 1;dat>>=1;delay(4);uint ReadTemperature(void)/讀取溫度unsigned char a=0;unsigned char b=0;unsigned int t=0;float f_t=0;Init_DS18B20();Write(0xCC); / 跳過讀序號列號的操作Write(0x44); / 啟動溫度轉換Init_DS18B20();Write(0xCC); /跳過讀序號列號的操作Write(0xBE); /讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度a=Read();b=Read();if

11、(b<127)t=b;t<<=8;t=t|a;flag=0;elsea=a;b=b;t=b;t<<=8;t=t|a;t=t+1;flag=1;f_t=t*0.0625; /溫度值在寄存器中為11位,分辨率為0.0625t=f_t*10+0.5; /乘以10表示小數點后面只取1位,加0.5是四舍五入return(t);void serial_int() /設置定時器1的工作方式為方式2 TMOD=0x20; /設定定時器1的初值,使串口通訊的波特率為9600bps TH1=0xfd; TL1=0xfd; SCON=0x50; PCON=0x00; ES=1;EA=1

12、; TR1=1;main() uint Temperature;uchar Temp_highbyte,Temp_lowbyte;serial_int(); while(1)Temperature=ReadTemperature(); dis_Temperature(Temperature);Temp_highbyte=Temperature/256;Temp_lowbyte=Temperature%256; ES=0; SBUF=flag; /發送三個字節 while(TI=0); TI=0; SBUF=Temp_highbyte; /發送實際溫度值乘以10后的整型數據的高字節 while(

13、TI=0); TI=0; SBUF=Temp_lowbyte; /發送實際溫度值乘以10后的整型數據的低字節 while(TI=0); TI=0; ES=1; 補充:題目二 基于labview的攝像頭控制程序理論介紹:在labview中利用電腦配備的 USB 攝像頭進行視頻監控,要用到兩個 API 函數:capCreateCaptureWindow 和 SendMessage。capCreateCaptureWindow 的作用是創建一個視頻窗口,攝像頭捕捉到的視頻圖像在此窗口內顯示,函數返回值就是代表此窗口的句柄。函數表示式如下所示:HWND VFWAPI capCreateCaptureW

14、indow( LPCSTR lpszWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWnd, int nID );各參數意義如下: lpszWindowName 視頻窗口的窗口標題 dwStyle 窗口模式,設置值可用下面數值,也可組合使用: WS_Child:視頻窗口是子窗口,位于應用程序主窗口內。否則是獨立的窗口 WS_Visible:視頻窗口可見 WS_Caption:視頻窗口有標題欄 WS_ThickFrame:視頻窗口有邊框 X 視頻窗口位置x坐標 Y 視頻窗口位置y坐標 nWidth 視

15、頻窗口寬度 nHeight 視頻窗口高度 hwndParent 創建視頻窗口的主窗口,設置為:Me.hWnd nID 視頻ID視頻窗口創建后,剩下的事情就是用 SendMessage 向該窗口發送各種消息,實現對攝像頭的控制。函數表示式如下所示:LRESULT SendMessage( HWND hWnd, / handle to destination window UINT Msg, / message WPARAM wParam, / first message parameter LPARAM lParam / second message parameter);#define WM_

16、USER 0x0400 Const WM_CAP_Connect = WM_User + 10 '連接一個攝像頭Const WM_CAP_DisConnect = WM_User + 11 '斷開一個攝像頭的連接Const WM_CAP_Set_PreView = WM_User + 50 '使預覽模式有效或者失效Const WM_CAP_Set_Overlay = WM_User + 51 '使窗口處于疊加模式,也會自動地使預覽模式失效。Const WM_CAP_Set_PreViewRate = WM_User + 52 '設置在預覽模式下幀的顯示頻率Const WM_CAP_Edit_Copy = WM_Us

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論