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

正文內(nèi)容

基于labview的溫度檢測系統(tǒng)設(shè)計畢業(yè)論文-預(yù)覽頁

2025-07-13 12:33 上一頁面

下一頁面
 

【正文】 環(huán)境下對溫度的精確度和穩(wěn)定性要求更高, 這樣才能充分保證產(chǎn)品的質(zhì)量, 提高企業(yè)的生產(chǎn)效率, 進(jìn)而獲得更高的效益。上位機(jī)使用的是虛擬儀器 LabVIEW,主要功能是實時溫度的顯示,溫度曲線時間軸的顯示,歷史溫度曲線的顯示以及超限溫度報警。合理的溫度范圍和精確地溫度的測量隊提高產(chǎn)品的質(zhì)量、產(chǎn)量,降低消耗,實現(xiàn)工業(yè)生產(chǎn)自動化,均有積極作用,因此溫度檢測技術(shù)的研究具有重大意義。隨著工業(yè)的不斷發(fā)展,對溫度測量的要求也越來越高,而且測量范圍也越來越廣。上位機(jī)和下位機(jī)的通訊方式是串口通訊。但是,測溫時經(jīng)常會受到各種干擾而影響檢測精度,因而需要對檢測量進(jìn)行濾波等處理。溫度的控制失誤可能引起產(chǎn)品質(zhì)量、生產(chǎn)安全、產(chǎn)品產(chǎn)量等的一系列問題,因此對溫度檢測的意義就越來越大。在實際生產(chǎn)、生活等的各個領(lǐng)域中,溫度是環(huán)境因素不可或缺的一部分,對溫度及時精確的控制和檢測顯得尤為重要。此系統(tǒng)能夠滿足現(xiàn)代生產(chǎn)生活的要求,效率高,具有較強的穩(wěn)定性和靈活性。隨著工業(yè)檢測技術(shù)和自動化程度的不斷提高,對溫度檢測的要求也越來越高。 國內(nèi)外研究現(xiàn)狀 溫度傳感器電阻溫度傳感器,這種傳感器以電阻作為溫度敏感元件。輻射式溫度傳感器,眾所周知, 自然界的所有物體對輻射都具有吸收和反射的能力1輻射式溫度傳感器就是利用物體的熱輻射特性制成的。 比色式傳感器是基于物體溫度不同其輻射能的光譜分布不同。記錄溫度的頻率由用戶定義。對于存儲器和控制功能的訪問可加以口令保護(hù)。堅固的不銹鋼封裝對于各種惡劣環(huán)境具有很高的耐受力,例如玷污、潮濕和沖擊等。DS18B20 數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有 LTM8877,LTM8874 等等。 上位機(jī)主要考慮兩種上位機(jī)軟件第一種是 VB,VB 是由美國微軟公司于 1991 年開發(fā)的一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動方式的結(jié)構(gòu)化高級程序設(shè)計語言,可用于開發(fā) Windows 環(huán)境下的各類應(yīng)用程序。 上位機(jī)與下位機(jī)通訊方式第一種為傳感器和上位機(jī)使用串口通信。第二種為傳感器和上位機(jī)通訊使用數(shù)據(jù)采集卡。當(dāng)溫度過高或過低時,能夠在界面上給出提示。部分功能電路的集成,使總體電路更簡潔,搭建電路和焊接電路時更快。這里我們用到溫度芯片 DS18B20。CPU 只需一根端口線就能與諸多 DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。 上位機(jī)和下位機(jī)的通訊方式設(shè)計考慮到這次為溫度檢測系統(tǒng),并且不完成復(fù)雜的功能,串口完全可能勝任。內(nèi)部 RAM 為 128B,ROM為 4K(也可以選擇其他型號獲得較大空間) ,簡單易操作。LabVIEW是一種虛擬儀器開發(fā)平臺軟件,能夠以其直觀簡便的編程方式、眾多的源代碼級的設(shè)備驅(qū)動程序、多種多樣的分析和表達(dá)功能支持,為用戶快捷地構(gòu)筑自己在實際工程中所需要的儀器系統(tǒng)創(chuàng)造了基礎(chǔ)條件。像C 和C++等其它計算機(jī)高級語言一樣,LabVIEW也是一種通用編程語言,具有各種各樣、功能強大的函數(shù)庫,包括數(shù)據(jù)采集、GPIB、串行儀器控制、數(shù)據(jù)分析、數(shù)據(jù)顯示及數(shù)據(jù)存儲,甚至還有網(wǎng)絡(luò)功能。一個VI由交互式用戶接口、數(shù)據(jù)流框圖和圖標(biāo)連接端口組成。進(jìn)一步而一言,許多低級子VI可以完成一些常用功能,因此,用戶可以開發(fā)特定的子VI庫,以適用一般的應(yīng)用程序。數(shù)據(jù)流程序設(shè)計規(guī)定,一個函數(shù)只有當(dāng)它的所有輸入有效時才能執(zhí)行;而目標(biāo)的輸出,只有當(dāng)它的功能完成時才是有效的。LabVIEW的核心是VI。當(dāng)把一個輸入控件或顯示放置到前面板上時,LabVIEW在程序圖中相應(yīng)地放置了一個端口(Terminals),這個從屬于輸入控件或顯示控件的端口不能隨意刪除,只有刪除它對應(yīng)的輸入控件或顯示控件時它才隨之一起被刪除。用LabVIEW編制出的圖形化VI 是分層次和模塊化的。經(jīng)過各個部分的選擇,最后確定基本的框架圖如下Labview 界面顯示AT89C51 單片機(jī)DS18B20 DS18B20 DS18B20圖 22 系統(tǒng)設(shè)計后圖第 3 章 下位機(jī)的軟硬件實現(xiàn)下位機(jī)包括硬件電路和單片機(jī)軟件編程。C,在10~+85176?,F(xiàn)場溫度直接以 “一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。64 位激光 ROM 從高位到低位依次為 8 位 CRC、48 位序列號和 8 位家族代碼(28H)組成。④ 配置寄存器。表 32 配置寄存器與分辨率關(guān)系表R0 R1 溫度計分辨率/bit 最大轉(zhuǎn)換時間/us0 0 9 0 1 10 1 0 11 3751 1 12 750DS18B20 最大的特點是單總線數(shù)據(jù)傳輸方式,DS18B20 的數(shù)據(jù) I/O 均由同一條線來完成。圖 33 硬件電路 下位機(jī)軟件設(shè)計以下是下位機(jī)的程序流程圖:首先發(fā)送命令通知到溫度轉(zhuǎn)換,轉(zhuǎn)換獲取的數(shù)據(jù),由二進(jìn)制轉(zhuǎn)換到十進(jìn)制,再保存到寄存器 SBUF,由串口從寄存器獲取數(shù)據(jù),傳輸給上位機(jī)進(jìn)行顯示和處理。 tmp1change1()。wendushuju2(tmp1())。send_packet(amp。while(1)。圖 43 VISA 配置串口該程序的功能是將 VISA 資源指定名稱的串口按特定設(shè)置初始化。本次程序設(shè)置為一次讀取九個字節(jié)進(jìn)行轉(zhuǎn)換。將從數(shù)組轉(zhuǎn)化器讀入的數(shù)組通過索引逐個讀出。第七位為丙地的標(biāo)示位,第八位為丙地的整數(shù)部分,第九位為丙地的小數(shù)部分。圖 411 數(shù)據(jù)處理模塊總體圖將讀入的數(shù)組通過索引,讀出元素,九維數(shù)組分別為甲地標(biāo)志位,甲地整數(shù)部分,甲地小數(shù)部分,乙地標(biāo)志位,乙地整數(shù)部分,乙地小數(shù)部分,丙地標(biāo)志位,丙地整數(shù)部分,丙地小數(shù)部分。圖 412 轉(zhuǎn)化程序?qū)⒂嬎愫玫臏囟葦?shù)據(jù)進(jìn)行小數(shù)精度設(shè)置,精度為 ,轉(zhuǎn)化為浮點字符串。圖 415 數(shù)組插入本程序的作用是在 n 維數(shù)組索引的位置中差入元素或者子數(shù)組。圖 418 數(shù)組轉(zhuǎn)置重新排列二維數(shù)組的順序,把[i,j]轉(zhuǎn)制成[j,i]。作為溫度曲線的不過多介紹,由溫度數(shù)值直接作溫度的時間軸曲線。第 5 章 調(diào)試 硬件調(diào)試單片機(jī)上接上 5V 電源,通過串口連接至上位機(jī)。圖 55 三點報警圖。圖 58 采集次數(shù)顯示第 6 章 結(jié)束語經(jīng)過半年的準(zhǔn)備和設(shè)計,我終于完成了本次的畢業(yè)設(shè)計。在這次畢業(yè)設(shè)計中讓我深深體會到LavVIEW 這個軟件的強大,直觀易懂,功能豐富。不過,我會繼續(xù)學(xué)習(xí)相關(guān)知識,繼續(xù)完善本系統(tǒng)的功能。還要感謝我的爸爸媽媽,你們的悉心的問候是天下最大的慰藉。void Bcd(uint bcd_value)。uchar readbyte(void)。uint tmp()。//09,最后一個元素是負(fù)號uchar data num[4]。 sbit DS2=P1^2。uchar uart_s_data[8]。uchar receive_data_s[8]。define START_FLAG 0xefuchar send_data_s1[3]。 _nop_()。 _nop_()。_nop_()。 //數(shù)據(jù)線置高電平DS2=0。 //*需要等待 15~60us,這里延時 75us 后可以保證接受到的是存在脈沖 */ dat=DS2。 //初始化成功返回 1,反之返回 0} /////////////讀一位 ////////////////////////////////////// bit readbit2(void) //read a bit 讀一位 { bit dat。 _nop_()。_nop_()。把總線的讀取動作放在 15us時間限制的后面是為了保證數(shù)據(jù)讀取的有效性 Delay(3)。 //延時周期恢復(fù)時間 return dat。i++) { dat=1。 //將一個字節(jié)數(shù)據(jù)返回 } ///////////////////////////////////////////////////////// /////////////寫一位 //////////////////////////////////////////void writebit2(bit i) { DS2=1。 //寫 0 或 1 Delay(3)。 //延時周期恢復(fù)時間} /////////////寫一個字節(jié) ///////////////////////////////////////////void writebyte2(uchar dat) //write a byte to DS218b20 { //寫一個字節(jié)到 DS218B20 里 uint i。0x01)。 // 跳過序列號命令 writebyte2(0x44)。 writebyte2(0xbe)。 tt=temp2*。//返回溫度值 }}//////////DS118B20 初始化函數(shù) //////////////////////////////bit DS1reset() { bit dat。 //*為保險起見,延時 495us */DS1=1。 //*數(shù)據(jù)線置高電平 1*/ Delay(32)。 //數(shù)據(jù)線置高電平 DS1=0。//數(shù)據(jù)線置高電平,釋放總線 _nop_()。 dat=DS1。//數(shù)據(jù)線置高電平,釋放總線 _nop_()。 for(i=0。 else {dat|=0x00。 //*數(shù)據(jù)線拉低置 0*/ Delay(0)。//釋放總線 _nop_()。i8。 } } ///////////////////////////////////////////////////////// ///////////溫度轉(zhuǎn)換 //////////////////////// void tmp1change1(void) //DS118B20 begin change 發(fā)送溫度轉(zhuǎn)換命令 { DS1=1。 DS1=1。 //連續(xù)讀兩個字節(jié)數(shù)據(jù) b1=readbyte1()。//*10+。 //數(shù)據(jù)線置高電平DS=0。 //*需要等待 15~60us,這里延時 75us 后可以保證接受到的是存在脈沖 */ dat=DS。 //初始化成功返回 1,反之返回 0} /////////////讀一位 ////////////////////////////////////// bit readbit(void) //read a bit 讀一位 { bit dat。 _nop_()。_nop_()。把總線的讀取動作放在 15us 時間限制的后面是為了保證數(shù)據(jù)讀取的有效性 Delay(3)。 //延時周期恢復(fù)時間 return dat。i++) { dat=1。 //將一個字節(jié)數(shù)據(jù)返回 } ///////////////////////////////////////////////////////// /////////////寫一位 //////////////////////////////////////////void writebit(bit i) { DS=1。 //寫 0 或 1 Delay(3)。 //延時周期恢復(fù)時間} /////////////寫一個字節(jié) ///////////////////////////////////////////void writebyte(uchar dat) //write a byte to ds18b20 { //寫一個字節(jié)到 DS18B20 里 uint i。0x01)。 // 跳過序列號命令 writebyte(0x44)。 writebyte(0xbe)。 tt=temp*。//返回溫度值 }} /////////////////顯示函數(shù)///////////////////////////////////////////void Disp(uint disp_value){uchar i。i++){ P0=LED_Val[num[i]]。 Delay_ms(4)。num[1]=(bcd_value%1000)/100。//數(shù)據(jù)寄存器//TB8=0。//sm2 不用設(shè)只有方式 23 時才用得到SM1=1。//發(fā)送中斷標(biāo)志位RI=0。 //設(shè)置波特率為 4800TMOD=0X20。//還要啟動定時器 T1EA=1。 //禁止串口中斷// Send_SCI(START_FLAG)。send_data_tmp++。j0。send_data_s1[2]=bcd_value%100。}void wendushuju3(uint bcd_value){ send_data_s3[0]=3。SCI_Init()。 //溫度轉(zhuǎn)換// Disp(tmp())。 send_packet(amp。send_packet(amp。t100
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1