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

正文內(nèi)容

基于單片機(jī)的溫度采集軟件系統(tǒng)設(shè)計(jì)(編輯修改稿)

2025-07-24 19:57 本頁面
 

【文章內(nèi)容簡介】 中也可以找到這些常量。你只有首先要確定msm控件在system目錄下并且該控件已經(jīng)被windows注冊,程序才能正常運(yùn)行。 有數(shù)據(jù)向串口發(fā)過來時(shí),程序可以將數(shù)據(jù)接收到,接收的數(shù)據(jù)是字符型的,那么數(shù)據(jù)轉(zhuǎn)化為數(shù)字型的,再將這個數(shù)據(jù)的大小作為畫圖的某一個點(diǎn)的縱坐標(biāo),橫坐標(biāo)為數(shù)據(jù)的序號,將這些用線連起來就是一個曲線圖了,這個就是圖形顯示基本原理。查看原來的數(shù)據(jù)的原理也是這樣的,不同的地方就是,數(shù)據(jù)是從文件中來,同樣的也是將多個數(shù)據(jù)分成一個一個的,然后一個數(shù)據(jù)的大小就是畫圖的為一個點(diǎn)的縱坐標(biāo),橫坐標(biāo)同樣為數(shù)據(jù)的序號,再將這些點(diǎn)用線連起來就是曲線圖。圖形能移動的原理就是我們首先改變的只是數(shù)據(jù),圖形并沒有變化,但圖形的形式是由這些數(shù)據(jù)來確定的,當(dāng)數(shù)據(jù)發(fā)生變化后,我們通過刷新顯示區(qū)來變化的。 所示,點(diǎn)擊查詢可查詢歷史溫度信息。 實(shí)時(shí)溫度曲線顯示及查詢圖串口的波特率,串口號都采用下拉選擇的方式,在使用中可根據(jù)的情況選擇讀串口數(shù)據(jù)的原理是,只要在有數(shù)據(jù)向串口發(fā)數(shù)據(jù)來時(shí),計(jì)算機(jī)就會自動將其數(shù)據(jù)寫到一個特定的緩沖區(qū),我們只要寫程序去讀那個特定的緩沖區(qū)就可以了。此外為了保存和查詢歷史溫度數(shù)據(jù)還要在VB中設(shè)計(jì)建立連接到Access數(shù)據(jù)庫的控件,Data控件是Visual ,可以通過設(shè)置Data控件的connect、DatabaseName、RecordSource屬性實(shí)現(xiàn)對數(shù)據(jù)庫的連接和訪問。建立的數(shù)據(jù)庫文件和VB中創(chuàng)建的工程文件必須放在同一目錄下。 4程序設(shè)計(jì)在上位機(jī)VB程序的編寫中,最重要的是串口的初始化程序的接受觸發(fā)程序的設(shè)計(jì)。主要方法如下:串口設(shè)置:MSComm SetSettings(“波特率,校驗(yàn)方式,數(shù)據(jù)位數(shù),停止為數(shù)”)串口數(shù)據(jù):MSComm InputMode(輸入模式設(shè)定)具體程序設(shè)計(jì)如下:Private Sub Form_Load()On Error GoTo err:= I =eomInputModeBinary = I= I = 9600,n,8,2Call tabinitCall ScaleSysIf =False Then =True mark = True=FalseExit Suberr: Select Case Case PortAlreadyOpen MsgBox沒有發(fā)現(xiàn)此串口或被占用,49,溫度采集系統(tǒng)Case ElseMsgBox沒有發(fā)現(xiàn)此串口或被占用,49,溫度采集系統(tǒng)End SelectEnd Sub 在VB程序中設(shè)置為串口1,輸入模式為二進(jìn)制,且接收和發(fā)送一個字符就會觸發(fā)MSComml的OnComm接收觸發(fā)事件。波特率設(shè)置為9600,可以根據(jù)具體設(shè)計(jì)情況更改波特率的大小,但要與下位機(jī)的一致。程序中還編寫了錯誤處理程序,當(dāng)串口被占用時(shí)會轉(zhuǎn)去執(zhí)行err程序,出現(xiàn)系統(tǒng)報(bào)錯。 接收觸發(fā)事件的處理,當(dāng)每發(fā)送一次指令時(shí),就會觸發(fā)OnComm事件,并返回?cái)?shù)據(jù)串,通過計(jì)算獲取溫度測量值并顯示出來,具體設(shè)計(jì)程序如下:Private Sub MSComml_OnComm() Dim Inbyte() As Byte Dim buffer As String Dim datatemp2a, datatemp2b As String Dim datatemp2 As String Dim countAs Integer讀取儀表返回?cái)?shù)據(jù)串 Select Case MSComm Case EvReceive count = Inbyte = If count 2 Then Exit Sub counter = counter + 1 For i = LBound(Inbyte) To UBound(Inbyte) buffer = buffer + Hex(Inbyte(i)) Next i End Select程序中,接收到的數(shù)據(jù)暫存在Inbyte()中,buffer為溫度數(shù)據(jù)緩存,接收到的數(shù)據(jù)按16進(jìn)制的格式放入緩沖中,便于之后的數(shù)據(jù)處理。此外程序還添加了接收溫度數(shù)據(jù)的判定,接收到的溫度數(shù)據(jù)應(yīng)為兩字節(jié),且低位在前,當(dāng)接收到的數(shù)據(jù)不是兩字節(jié)時(shí),表示接收錯誤,跳出此程序。為了在VB界面能夠顯示當(dāng)前的溫度值,需要將采集的兩字節(jié)溫度數(shù)據(jù)轉(zhuǎn)化為十進(jìn)制測量數(shù)據(jù),轉(zhuǎn)化程序如下: If Len(Trim(Mid(buffer, 1, 2))) = 1 Then datatemp(num) = Val(amp。H amp。 Mid(buffer, 3, 3) amp。 Str(0) amp。 Mid(buffer, 1, 2)) * Else datatemp(num) = Val(amp。H amp。 Mid(buffer, 3, 3) amp。 Mid(buffer, 1, 2)) * End If 保存數(shù)據(jù) Data_save (datatemp(num))此外,本VB程序還做了一定的功能擴(kuò)展,能夠顯示歷史溫度的最大值和最小值以及平均值,還可通過下拉方式選擇合適的波特率、串口和采樣間隔時(shí)間。采集的溫度數(shù)據(jù)還通過Data控件存入數(shù)據(jù)庫中。在設(shè)計(jì)過程中可以用虛擬串口和串口調(diào)試助手對所設(shè)計(jì)的程序進(jìn)行仿真,看是否達(dá)到設(shè)計(jì)要求。整個VB界面及數(shù)據(jù)庫程序的編寫見附錄所示。5 結(jié) 論隨著科技的發(fā)展,在各個領(lǐng)域都要用到數(shù)據(jù)采集系統(tǒng),其中就包括最普遍的溫度的數(shù)據(jù)采集。傳統(tǒng)的溫度采集方法費(fèi)時(shí)且精度較差,而如今各個行業(yè)對溫度數(shù)據(jù)的要求越來越高,如科研實(shí)驗(yàn)室,因此新型的數(shù)字溫度計(jì)大量出現(xiàn),其中最普遍的是使用傳感器和單片機(jī)組成采集電路就可以獲得較高的精度要求。在這種背景下,用VB編寫上位機(jī)程序,在PC上通過圖形界面就能控制下位機(jī)即單片機(jī)采集溫度數(shù)據(jù)信號,設(shè)計(jì)直觀大方,使用DS18B20高靈敏度的溫度傳感器采集溫度數(shù)據(jù),再用AT89C51處理數(shù)據(jù),在PC界面顯示當(dāng)前溫度,并且可以通過串口向上位機(jī)傳送數(shù)據(jù),顯示實(shí)時(shí)溫度曲線和把數(shù)據(jù)存入數(shù)據(jù)庫中,方便查詢歷史溫度記錄。讀數(shù)方便,測量范圍廣,測溫準(zhǔn)確。硬件電路較簡單,所以軟件設(shè)計(jì)較復(fù)雜,DS18B20只有一個數(shù)據(jù)口,所以它的讀寫程序?qū)r(shí)序有很高的要求。在整個采集系統(tǒng)中,包括溫度采集程序串口通信程序,和上位機(jī)的程序,數(shù)據(jù)庫等等兒個部分,為了避免干擾,當(dāng)上位機(jī)VB界面點(diǎn)擊“采集溫度”時(shí),向下位機(jī)發(fā)送特定字符,當(dāng)下位機(jī)識別正確字符,才將溫度數(shù)據(jù)傳送給上位機(jī)。在設(shè)計(jì)過程中,對整個系統(tǒng)硬件和軟件的分析,采用模塊化程序設(shè)計(jì)的方法,流程圖分析設(shè)計(jì)思路,將系統(tǒng)分成幾個模塊,最終進(jìn)行整合。在畢業(yè)設(shè)計(jì)的過程中,針對所要設(shè)計(jì)的課題,能夠較熟練的運(yùn)用偉福、使我了解了測溫的原理和相關(guān)領(lǐng)域的知識。就個人而言,在這次畢業(yè)設(shè)計(jì)鍛煉了個人意志以及在克服困難的毅力,培養(yǎng)了我在一定的壓力下進(jìn)行研究和設(shè)計(jì)的心理素質(zhì),獨(dú)立處理問題的能路,提高了我查找運(yùn)用各種參考資料以及與其他人溝通交流解決問題的能力。此外,整個設(shè)計(jì)過程中由于指導(dǎo)老師的幫助下,開拓了我的思維,提高了將所學(xué)知識學(xué)以致用的能力。附錄 上位機(jī)程序X’定義窗體級變量在顯示、繪圖、報(bào)警等過程中使用Dim datatemp(200) As Single // 用于存儲溫度采樣值Dim num As Integera //用于存儲采樣值個數(shù)Dim counter As Integer //采樣個數(shù)計(jì)數(shù)器 Dim mark As Boolean, //暫停標(biāo)志Dim strSql As StringPrivate Sub cmd_Search_lick() strSql=select *from TblWD Where t=139。 Set Rs = New = adUseClient strSql, Db, adOpenKeyset, adLockReadOnly If Rs, RerdCm,nt I Then MsgBox (數(shù)據(jù)庫中沒有數(shù)據(jù)!) Exit SubEnd IfSet DGridDarzSmrrce = End Sub溫度采集Private Sub CmdStart_Click() //開始采集If (Txttimes 200) Or (Txttimes 1) Then //參數(shù)設(shè)置判斷 MsgBox參數(shù)錯誤! 采集次數(shù)應(yīng)取“0200”之間的數(shù)。,49,溫度采集系統(tǒng)Call setAcquiescence //默認(rèn)設(shè)置 Exit SubEnd IfIf (Txttime 60) Or (Txulme ) ThenMsgBox39。.參數(shù)錯誤
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1