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

正文內(nèi)容

最新基于labview的溫度實(shí)時(shí)顯示與報(bào)警系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-07-16 13:32 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 序圖可知,當(dāng)RS為低電平,RW為高電平時(shí)為寫命令操作,控制命令主要是用設(shè)置LCD顯示模式、光標(biāo)的設(shè)置等,單片機(jī)將8位數(shù)據(jù)送到LCD并行數(shù)據(jù)總線上,單片機(jī)給E數(shù)據(jù)端一個(gè)正脈沖信號(hào),就可以將控制命令字寫入LCD。當(dāng)RS為高電平,RW為高電平時(shí)為寫數(shù)據(jù)操作,LCD就會(huì)將接收到的數(shù)據(jù)在液晶屏上顯示出來(lái)。在進(jìn)行數(shù)據(jù)顯示前需要先設(shè)置數(shù)據(jù)地址指針,這樣才能在想要的位置顯示出數(shù)據(jù)。LCD1602顯示驅(qū)動(dòng)程序流程圖如圖35所示。 圖35 LCD1602顯示驅(qū)動(dòng)程序流程圖 根據(jù)以上LCD寫操作時(shí)序和LCD顯示驅(qū)動(dòng)程序流程圖編寫出相應(yīng)的驅(qū)動(dòng)函數(shù),部分顯示函數(shù)如下:void Display_LCD_1602_dan_zi(uchar X,uchar Y,uchar Value) //在指定位置{ // 寫入一個(gè)字符,X為行,Y為列,Value為寫入的數(shù)據(jù) LocationXY( X, Y)。 //確定字符顯示的位置函數(shù) Write__or_dat(Value,1)。 //寫入數(shù)據(jù)函數(shù)}void Display_LCD_1602_duo_zi(uchar X,uchar Y,uchar *P) //顯示字符串函{ //數(shù),P指向字符串的首地址 LocationXY( X, Y)。 //設(shè)定初始地址 while(*P){ Write__or_dat(*P,1)。P++。} } 串口通信程序 串口通信程序主要包括串口的初始化、串口數(shù)據(jù)發(fā)送,其中串口的初始化主要是用于設(shè)置波特率。在通信中采用的串口通信波特率為9600,在程序設(shè)計(jì)中采用查詢法發(fā)送數(shù)據(jù),串口通信程序流程圖如圖36所示。 圖36 串口通信程序流程圖 在進(jìn)行串口通信程序編寫時(shí),編寫單字節(jié)發(fā)送函數(shù)和字符串發(fā)送函數(shù),其中部分程序代碼如下:void Sent_Byte(uchar dat) //發(fā)送單字節(jié)函數(shù){ SBUF=dat。 //將數(shù)據(jù)送到緩沖器 while(!TI)。 //判斷是否發(fā)送完 TI=0。 //發(fā)送完清標(biāo)志位}void Sent_Date(uchar *dat) //發(fā)送一個(gè)字符串函數(shù){ while((*dat)!= 39。\039。) //如果字符串未結(jié)束,指針++指向下一個(gè)字符 { Sent_Byte(*dat)。 //發(fā)送單字節(jié)函數(shù) dat++。 //指針++ } }4 上位機(jī)軟件設(shè)計(jì) 上位機(jī)人機(jī)交互界面設(shè)計(jì)此次設(shè)計(jì)的上位機(jī)人機(jī)交互界面主要分為兩個(gè)窗口,即實(shí)時(shí)數(shù)據(jù)窗口和歷史數(shù)據(jù)窗口,可以在使用過(guò)程中進(jìn)行切換。實(shí)時(shí)數(shù)據(jù)窗口主要是用于實(shí)現(xiàn)4路溫度數(shù)據(jù)的實(shí)時(shí)顯示、實(shí)時(shí)溫度變化曲線顯示及實(shí)時(shí)溫度強(qiáng)度圖顯示。并且可以在本界面設(shè)定串口的有關(guān)配置,如波特率、數(shù)據(jù)位、奇偶校驗(yàn)位等;另外可以設(shè)定設(shè)定溫度采集的速率、報(bào)警的溫度上限值、選擇數(shù)據(jù)的數(shù)據(jù)的存儲(chǔ)路徑等;同時(shí)可以開(kāi)始和停止溫度的采集。除此之外,還顯示出模擬的數(shù)控機(jī)床熱變形誤差,當(dāng)采集的溫度值超過(guò)設(shè)計(jì)的溫度上限時(shí),報(bào)警指示燈就會(huì)閃爍并發(fā)出報(bào)警聲。因?yàn)閷?shí)時(shí)窗口顯示的數(shù)據(jù)是變動(dòng)的,鑒于此歷史數(shù)據(jù)窗口主要是用于歷史數(shù)據(jù)的讀取方便數(shù)據(jù)的分析。在進(jìn)行數(shù)據(jù)顯示時(shí),除了顯示溫度值外,還顯示出采集到溫度所對(duì)應(yīng)的時(shí)間。圖41 實(shí)時(shí)數(shù)據(jù)顯示界面人機(jī)交互界面的實(shí)時(shí)數(shù)據(jù)顯示窗口設(shè)計(jì)如圖41所示。實(shí)時(shí)數(shù)據(jù)顯示窗口不僅可以顯示溫度隨時(shí)的變化曲線,以及用強(qiáng)度圖表中用顏色淺深來(lái)表示溫度大小。除了用數(shù)值來(lái)顯示溫度值外,還用4個(gè)類似于溫度計(jì)的柱體來(lái)直觀顯示溫度的大小。圖中開(kāi)始按鈕可以用來(lái)控制數(shù)據(jù)的采集和暫停。 上位機(jī)程序框圖設(shè)計(jì) 主程序框圖設(shè)計(jì) 主程序通過(guò)串口接收下位機(jī)發(fā)送的4路A/D轉(zhuǎn)換采集到的8位數(shù)字量,通過(guò)數(shù)據(jù)處理,計(jì)算出溫度值、熱變形誤差,同時(shí)能在前面板顯示出來(lái)。另外還要實(shí)現(xiàn)報(bào)警、數(shù)據(jù)存儲(chǔ)和相關(guān)數(shù)據(jù)采集參數(shù)設(shè)定等功能。上位機(jī)的整體程序設(shè)計(jì)流程圖如圖42所示。 圖42 上位主程序流程圖 LABVIEW串口程序設(shè)計(jì)在LABVIEW程序串程序設(shè)計(jì)中,主要用到VISA配置串口、屬性節(jié)點(diǎn)、VISA讀取和簡(jiǎn)單錯(cuò)誤處理等幾部分組成,下面分別簡(jiǎn)單介紹這幾個(gè)節(jié)點(diǎn)的使用。圖43 VISA配置串口如圖43所示為VISA配置串口節(jié)點(diǎn),通過(guò)該節(jié)點(diǎn)可以很方便的對(duì)串口的參數(shù)進(jìn)行配置,如波特率、奇偶校驗(yàn)、停止位等,通過(guò)配置好相關(guān)參數(shù),即對(duì)串口進(jìn)行初始化,上位機(jī)才能與下位機(jī)通過(guò)串口通信。 圖44 VISA串口數(shù)據(jù)讀取如圖44所示為串口緩沖區(qū)讀取節(jié)點(diǎn),通過(guò)該節(jié)點(diǎn)可以讀取下位機(jī)發(fā)送到串口數(shù)據(jù)緩沖區(qū)里的數(shù)據(jù)。其中有一個(gè)比較重要的設(shè)置,就是VISA READ的“字節(jié)總數(shù)”這個(gè)輸入,由于在串口通信中,如果指定讀取100個(gè)串口緩沖區(qū)的字節(jié)數(shù),如果當(dāng)前緩沖區(qū)的數(shù)據(jù)量不足100個(gè)時(shí),程序會(huì)一直停在VISA READ這個(gè)節(jié)點(diǎn)上,如果在超時(shí)的時(shí)間(默認(rèn)是10秒)內(nèi)還沒(méi)有湊足100個(gè)數(shù)據(jù)的話,程序就會(huì)報(bào)“Time out”的錯(cuò)誤,如果超時(shí)時(shí)間設(shè)置得太長(zhǎng),有可能導(dǎo)致程序很長(zhǎng)時(shí)間停止在VISA READ這個(gè)節(jié)點(diǎn)上。解決的辦法是使用“Bytes at Port”這個(gè)串口的屬性節(jié)點(diǎn),這個(gè)屬性節(jié)點(diǎn)讀取當(dāng)前串口緩沖區(qū)有字節(jié)數(shù),然后將它的輸出連接到VISA READ的“讀取字節(jié)數(shù)”這個(gè)輸入端上即可,這樣當(dāng)前緩沖區(qū)中有多少個(gè)字節(jié)就讀回多少個(gè),不會(huì)有任何等待,該屬性節(jié)點(diǎn)如圖45所示。圖45 Bytes at Port屬性節(jié)點(diǎn) 將以上幾個(gè)節(jié)點(diǎn)正確連接起來(lái),再結(jié)合while結(jié)構(gòu)和判斷結(jié)構(gòu)就可以實(shí)現(xiàn)對(duì)下位機(jī)發(fā)送來(lái)的數(shù)據(jù)進(jìn)行不斷的讀取。其部分程序設(shè)計(jì)如圖46所示。 圖46 串口數(shù)據(jù)讀取部分程序 串口數(shù)據(jù)幀解碼下位機(jī)發(fā)送來(lái)的采集到的4路數(shù)據(jù),在讀取串口的數(shù)據(jù)之后并不知道接收到的數(shù)據(jù)是屬于那一路的,需要將各路的數(shù)據(jù)區(qū)分開(kāi)來(lái),再進(jìn)行數(shù)據(jù)處理和顯示。上位機(jī)程序的編寫要根據(jù)下位機(jī)發(fā)送的數(shù)據(jù)幀格式來(lái)解碼,這樣才能獲取正確的數(shù)據(jù)。下位機(jī)發(fā)送的數(shù)據(jù)幀包括3個(gè)部分,包括2個(gè)字節(jié)的數(shù)據(jù)幀頭、4個(gè)字節(jié)的數(shù)據(jù)和1個(gè)字節(jié)的數(shù)據(jù)幀尾。將讀取的字符數(shù)據(jù)轉(zhuǎn)換為字節(jié)數(shù)組,再對(duì)數(shù)組里的數(shù)據(jù)進(jìn)行數(shù)據(jù)幀解析,得出想要的數(shù)據(jù)。在程序設(shè)計(jì)中通過(guò)編寫數(shù)據(jù)幀解析子VI來(lái)供主程序調(diào)節(jié),數(shù)據(jù)幀解析程序采用公式節(jié)點(diǎn)來(lái)設(shè)計(jì)。公式節(jié)點(diǎn)在程序中相當(dāng)于一個(gè)數(shù)據(jù)運(yùn)算子程序,可以在公式結(jié)點(diǎn)中進(jìn)行類似于C語(yǔ)言的編程,這樣可以大大減小程序的開(kāi)發(fā)難度。公式節(jié)點(diǎn)可以進(jìn)行參數(shù)的輸入和輸出,參數(shù)的傳遞通過(guò)輸入變量和輸出變量來(lái)傳遞。在子VI中設(shè)計(jì)兩個(gè)輸入?yún)?shù)變量,其中一個(gè)參數(shù)變量是數(shù)組,另一個(gè)參數(shù)變量是數(shù)組的長(zhǎng)度,在程序中對(duì)輸入的數(shù)據(jù)進(jìn)行數(shù)據(jù)幀解析。首先對(duì)數(shù)組的第一個(gè)元素進(jìn)行查找,在數(shù)組長(zhǎng)度范圍內(nèi),若找到兩個(gè)連續(xù)的數(shù)據(jù)幀幀頭,并且數(shù)組的下標(biāo)加4后的數(shù)據(jù)為數(shù)據(jù)幀的幀尾,則數(shù)組幀頭和幀尾之間的四個(gè)字節(jié)即為下位機(jī)發(fā)送的4路采集到的數(shù)據(jù),4個(gè)字節(jié)數(shù)據(jù)的通道分別與下位機(jī)發(fā)送時(shí)的通道相對(duì)應(yīng)。公式節(jié)點(diǎn)的程序設(shè)計(jì)如圖47所示。 圖47 公式節(jié)點(diǎn)數(shù)據(jù)幀解碼 數(shù)據(jù)處理和顯示將數(shù)據(jù)幀解碼得到的4路數(shù)據(jù)計(jì)算出電壓值,再通過(guò)電壓值計(jì)算出相應(yīng)的溫度值,并通過(guò)溫度值計(jì)算出熱誤差,數(shù)據(jù)處理子VI如圖48所示。圖48 數(shù)據(jù)處理子VI各通道數(shù)據(jù)經(jīng)過(guò)處理之后,就可以將數(shù)據(jù)輸出到人機(jī)交互界面進(jìn)行顯示,用波形;用波形圖表用來(lái)顯示實(shí)時(shí)溫度變化曲線,用強(qiáng)度圖表中顏色的淺深來(lái)表示溫度的高低,同時(shí)在人機(jī)交互界面上顯示出各通道的溫度數(shù)值和熱變形誤差。如圖49所示為波形圖表和強(qiáng)度圖表。圖49 波形圖表和強(qiáng)度圖表波形圖表是顯示一條或多條曲線的特殊數(shù)值顯示控件,一般用于顯示以恒定速率采集到的數(shù)據(jù)。波形圖表會(huì)保留來(lái)源于此前更新的歷史數(shù)據(jù),又稱緩沖區(qū)。如需在一次更新中向每條曲線傳送多個(gè)點(diǎn),可將一個(gè)數(shù)值簇?cái)?shù)組連接到波形圖表,每個(gè)數(shù)值代表各條曲線的單個(gè)y值點(diǎn)。在設(shè)計(jì)中需要向波形圖表傳送多條曲線的數(shù)據(jù),將這些數(shù)據(jù)捆綁為一個(gè)標(biāo)量數(shù)值簇,其中每一個(gè)數(shù)值代表各條曲線上的單個(gè)數(shù)據(jù)點(diǎn),這樣就可以在波形圖表上同時(shí)顯示多條實(shí)時(shí)溫度曲線。與波形圖表一樣,強(qiáng)度圖表也有一個(gè)來(lái)源于此前更新而產(chǎn)生的歷史數(shù)據(jù),又稱緩沖區(qū)。由于強(qiáng)度圖表將顏色作為第三個(gè)維度,因此一個(gè)類似于顏色梯度控件的標(biāo)尺可定義強(qiáng)度圖表的范圍和數(shù)值到顏色的映射。在強(qiáng)度圖表上繪制一個(gè)數(shù)據(jù)塊以后,笛卡爾平面的原點(diǎn)將移動(dòng)到最后一個(gè)數(shù)據(jù)塊的右邊。圖表處理新數(shù)據(jù)時(shí),新數(shù)據(jù)出現(xiàn)在舊數(shù)據(jù)的右邊。如果圖表顯示已滿,則舊數(shù)據(jù)將從圖表的左邊界移出。 數(shù)據(jù)的存儲(chǔ)和讀取數(shù)據(jù)的存儲(chǔ)和讀取主要是通過(guò)寫入文本文件和讀取文本文件這兩個(gè)節(jié)點(diǎn)來(lái)完成。寫入文本文件節(jié)點(diǎn)如圖410所示,將文件路徑設(shè)計(jì)為選擇路徑輸入,在進(jìn)行數(shù)據(jù)采集時(shí)可圖410 寫入文本文件節(jié)點(diǎn)以在人機(jī)交互界面上選擇數(shù)據(jù)文件存儲(chǔ)的路徑。讀取文本文件是用于讀取存儲(chǔ)的歷史數(shù)據(jù),如圖411所示。 圖411 讀取文本文件節(jié)點(diǎn)設(shè)計(jì)時(shí)通過(guò)按下按鈕來(lái)讀取文件里存儲(chǔ)的數(shù)據(jù),并在人機(jī)交互界面的歷史數(shù)據(jù)界面上顯示出歷史數(shù)據(jù),包括歷史溫度曲線圖、歷史溫度強(qiáng)度圖和歷史時(shí)間對(duì)應(yīng)的溫度值。為了方便數(shù)據(jù)的分析,人機(jī)交互界面專門有一個(gè)是用來(lái)讀取歷史數(shù)據(jù)的,其程序設(shè)計(jì)如圖412所示。圖412 讀取歷史數(shù)據(jù)顯示程序 采集速率和溫度報(bào)警 在進(jìn)行數(shù)據(jù)采集時(shí),數(shù)據(jù)采集過(guò)快或者過(guò)慢都不方便對(duì)的數(shù)據(jù)的觀察和分析,在程序設(shè)計(jì)中可以讓用戶可以在人機(jī)交互界面上設(shè)定想要的采集速率;其次就在不同的場(chǎng)合,溫度最高上限也不一樣,同樣在設(shè)計(jì)中出應(yīng)該考慮到用戶可以設(shè)定不同的溫度報(bào)警上限值。其中,溫度報(bào)警程序如圖413所示。在程序設(shè)計(jì)中使用條件結(jié)構(gòu)來(lái)判斷是否執(zhí)行報(bào)警程序,將各路采集到的溫度度值與設(shè)定的溫度值進(jìn)行比較,若有其中一路溫度值超過(guò)了設(shè)定的溫度值,則條件結(jié)構(gòu)判斷為真,則執(zhí)行報(bào)警程序。在報(bào)警程序中實(shí)現(xiàn)報(bào)警聲的輸出及報(bào)警指示燈每隔200毫秒紅綠燈進(jìn)行交替閃爍,當(dāng)4路溫度值都與設(shè)定的溫度值低時(shí),則條件結(jié)構(gòu)判斷為假,則報(bào)警程序不執(zhí)行,這樣就可以實(shí)現(xiàn)報(bào)警功能。圖413 溫度報(bào)警程序5 原理圖電路仿真 為了更進(jìn)一步確保本方案設(shè)計(jì)的可以行,在進(jìn)行硬件電路實(shí)物的制作之前,先通過(guò)使用仿真軟件對(duì)設(shè)計(jì)方案進(jìn)行軟件仿真。設(shè)計(jì)仿真主要使用Proteus仿真軟件和虛擬串口軟件。下位機(jī)硬件電路仿真原理圖如圖51所示, 圖51 硬件電路原理仿真圖圖中只畫出了4路放大電路中其中的1路放大電路,其它3路放大與其完全相同。仿真時(shí)另外三路放大器的電壓輸出用三個(gè)滑動(dòng)變阻器來(lái)模擬溫度傳感器經(jīng)放大后的電壓輸出。在上圖的仿真原理圖中只實(shí)現(xiàn)了溫度傳感器、放大電路、A/D轉(zhuǎn)換電路和LCD1602顯示電路的仿真,而串口通信并未實(shí)現(xiàn)仿真。在進(jìn)行串口通信仿真時(shí),首先需要安裝一個(gè)虛擬串口軟件VSPD XP 5,安裝成功后打開(kāi)如圖52所示,會(huì)虛擬出兩個(gè)串口COM1和COM2,通過(guò)這兩個(gè)虛擬串口,就可以實(shí)現(xiàn)串口通信的仿真。在進(jìn)行串口通信仿真前需要設(shè)置好仿真原理圖中的串口,其串口參數(shù)設(shè)置如圖53所示,選擇串口號(hào)COM1,其中串口波特率為9600,數(shù)據(jù)為8位,停止位1位,沒(méi)有奇圖52 虛擬串口偶校驗(yàn)位。設(shè)置好這些參數(shù)之后,還需要打開(kāi)串口調(diào)試助手,串口調(diào)試助手的設(shè)置除了串口號(hào)選擇COM2不同外,其它設(shè)置必須與與Proteus中串口的設(shè)置一致。設(shè)置好串口調(diào)試助手之后,運(yùn)行仿真程序,點(diǎn)擊串口調(diào)試助手中打開(kāi)串口按鈕,若可以進(jìn)行正常的串口通信,接收窗口將會(huì)顯示單片機(jī)發(fā)送來(lái)數(shù)據(jù)。串口仿真結(jié)果如圖54所示,在仿真程序中串口發(fā)送的一幀數(shù)據(jù)一共有7個(gè)字節(jié),數(shù)據(jù)幀幀頭為0x31和0x32,數(shù)據(jù)幀幀尾為圖53 仿真串口參數(shù)設(shè)置0x33,幀頭和幀尾之間的數(shù)據(jù)為A/D采集到的數(shù)據(jù)。從下圖接收到的數(shù)據(jù)分析可知,串口仿真成功。同理,上位機(jī)串接收數(shù)據(jù)的仿真也可以通過(guò)這兩個(gè)虛擬串口進(jìn)行仿真。 圖54 串口數(shù)據(jù)接收仿真6 調(diào)試及軟件驗(yàn)證 制作流程要點(diǎn) 下面分步驟介紹制作流程要點(diǎn):(1)使用DXP 2004 SP2軟件繪制出電路的原理圖,然后生成PCB圖,由于此次硬件放大電路需要用到較多的元器件,因此為了方便布線,選擇使用雙面板布線。在制作雙面板時(shí)應(yīng)該選擇手動(dòng)布線,在布要注意適當(dāng)?shù)奶砑舆^(guò)孔,方便以后電路板的焊接。然后對(duì)軟件繪制的PCB板圖進(jìn)行檢查,看是否存在有短路和斷路、錯(cuò)誤連線等一些情況的出現(xiàn)。(2)PCB圖檢查完畢后,將PCB圖打印出來(lái),因?yàn)橹谱鞯腜CB為雙面板,所以需要注意將PCB的頂層和底層進(jìn)行進(jìn)行對(duì)孔,并訂裝好。在把打印的PCB圖印到電路板之前,先要把銅板用砂紙擦干凈,以免有雜質(zhì)影響電路圖的印制;然后通過(guò)熨斗將油印好的PCB燙到覆銅板上,在用熨斗燙覆銅板時(shí)要仔細(xì),并且毎個(gè)地方都要燙到,直到看到清晰的電路輪廓。(3)查看覆銅板上使用熨斗燙印的連線是否有脫落或者斷掉的情況出現(xiàn),如果存在小范圍的這種情況,可以使用油性筆進(jìn)行描繪補(bǔ)齊斷線和脫落塊,如果存在大范圍的脫落時(shí),需要將銅板沖洗干凈,重新?tīng)C印一次電路。然后腐蝕電路板,腐蝕后需要檢查是否存在有銅皮未腐蝕完的現(xiàn)象。在腐蝕過(guò)程中要注意掌握時(shí)間,時(shí)間不能夠太長(zhǎng),最后將腐蝕好的
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1