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

正文內(nèi)容

基于vb60的溫度數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計(jì)(更新版)

  

【正文】 byte(i)) Next i End Select 39。 Mid(buffer, 1, 2)) * End If 39。獲取十六進(jìn)制測(cè)量數(shù)據(jù) If Len(Trim(Mid(buffer, 1, 2))) = 1 Then datatemp2a = Str(0) amp。H amp。長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)40 Exit Sub End If 39。 接收數(shù)據(jù)暫存 Dim buffer As String 39。 繪制坐標(biāo)系 If = False Then = True 39。 載入窗體39。Private Sub CmdStop_Click() 39。 默認(rèn)設(shè)置39。 默認(rèn)設(shè)置 Exit Sub End If If = True Then = False Call setCom 39。39。if (receive == 49) // 是否開(kāi)始采集溫度{send_char()。 // 清除數(shù)據(jù)傳送標(biāo)志i++。 // 設(shè)定串行口工作方式PCON amp。i++) { Delay(60)。 Delay(300)。P0 =LEDData[display[0]] 。 if(!display[2]) // 次高位為 0,不顯示 display[2]=0x0a。display[3]=display[4]/100。temp_data[0]= temp_data[0]+1。 // 啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20()。 DQ = 1。 } return (dat)。unsigned char dat = 0。 // 單片機(jī)將 DQ 拉低 Delay(90)。void beep()。感恩之情難以用語(yǔ)言量度,謹(jǐn)對(duì)多年來(lái)給予我關(guān)心與支持的良師益友和親人們致以最誠(chéng)摯的謝意! 學(xué)生簽名:日 期:長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)29附錄 1 下位機(jī)程序/********************************************************** DS18B20 溫度采集系統(tǒng)程序 通過(guò) DD18B20 讀取溫度,數(shù)碼管顯示溫度值,并由串口傳送到上位機(jī)再執(zhí)行相應(yīng)操作。此外,整個(gè)設(shè)計(jì)過(guò)程中由于指導(dǎo)老師的幫助下,開(kāi)拓了我的思維,提高了將所學(xué)知識(shí)學(xué)以致用的能力。硬件電路較簡(jiǎn)單,所以軟件設(shè)計(jì)較復(fù)雜,DS18B20 只有一個(gè)數(shù)據(jù)口,所以它的讀寫程序?qū)r(shí)序有很高的要求。保存數(shù)據(jù) Data_save (datatemp(num))此外,本 VB 程序還做了一定的功能擴(kuò)展,能夠顯示歷史溫度的最大值和最小值以及平均值,還可通過(guò)下拉方式選擇合適的波特率、串口和采樣間隔時(shí)間。為了在 VB 界面能夠顯示當(dāng)前的溫度值,需要將采集的兩字節(jié)溫度數(shù)據(jù)轉(zhuǎn)化為十進(jìn)制測(cè)量數(shù)據(jù),轉(zhuǎn)化程序如下:If Len(Trim(Mid(buffer, 1, 2))) = 1 Then長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)25 datatemp(num) = Val(amp。 上位機(jī)程序 在上位機(jī) VB 程序的編寫中,最重要的是串口的初始化程序和接收觸發(fā)程序的設(shè)計(jì)。display[1]=display[1]%10。0x0f。TL1=(unsigned char)(256 (XTAL / (32L * 12L * baudrate)))。當(dāng)一幀數(shù)據(jù)采集完畢即 RI 接受中斷標(biāo)志位為 1,判斷下位機(jī)是否接受到來(lái)自上位機(jī)的字符“1”對(duì)應(yīng)的 ASC 碼 49 時(shí)接收到時(shí)才開(kāi)始將采集到的數(shù)據(jù)發(fā)送給上位機(jī)進(jìn)行處理,RI 標(biāo)志位必須由軟件清零。 if (flash==0) {Disp_Temperature()。此外為了保存和查詢歷史溫度數(shù)據(jù)還要在 VB 中設(shè)計(jì)建立連接到 Access 數(shù)據(jù)庫(kù)的控件,Data 控件是 Visual Basic 中的一個(gè)內(nèi)置數(shù)據(jù)控件,可以通過(guò)設(shè)置 Data 控件的 connect、DatabaseName 、RecordSource 屬性實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的連接和訪問(wèn)?;緦傩耘c描述如下:屬性 描述CommPort 設(shè)置或返回通信端口號(hào)Settings 以字符串的形式設(shè)置或返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位和停止位PortOpen 設(shè)置或返回通信端口的狀態(tài)。當(dāng)點(diǎn)擊采集溫度時(shí),上位機(jī)向下位機(jī)發(fā)送采集溫度命令字符“1” ,當(dāng)下位機(jī)接受到命令時(shí),向上位機(jī)發(fā)送數(shù)據(jù)。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程見(jiàn)圖 所示。長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)13 圖 設(shè)計(jì)原理圖溫度傳感器的數(shù)據(jù)線接單片機(jī)的 口,單片機(jī)通過(guò)反復(fù)讀寫 口的狀態(tài)采集數(shù)據(jù),不過(guò)硬件簡(jiǎn)單,軟件肯定復(fù)雜,讀寫時(shí)都有嚴(yán)格的時(shí)序要求。 總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖 1 所示,控制器采用單片機(jī) AT89C51,溫度傳感器采用 DS18B20,用 8 位 LED 數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示并通過(guò)串口與上位機(jī) PC 通訊,把數(shù)據(jù)傳送給上位機(jī),并用 VB 編寫的圖形界面把溫度的變化曲線顯示出來(lái),并通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ),可查詢歷史溫度記錄。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā) ROM 功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù) [3]。主機(jī) ROM 前 56 位來(lái)計(jì)算 CRC 值,并和存入 DS18B20 的 CRC 值作比較,以判斷主機(jī)收到的 ROM 數(shù)據(jù)是否正確。轉(zhuǎn)換完成后的溫度值就以 16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第 2 字節(jié)。DS18B20 工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)5 DS18B20 傳感器簡(jiǎn)介 DS18B20 溫度傳感器是美國(guó) DALLAS 半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn) 9~12 位的數(shù)字值讀數(shù)方式。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2 應(yīng)不接。 /EA/VPP:當(dāng)/EA 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè) ALE 脈沖。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。 P2 口:P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4個(gè) TTL 門電流,當(dāng) P2 口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。 GND:接地。三級(jí)程序存儲(chǔ)器鎖定單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除 100 次。本文介紹了一種利用單片機(jī)實(shí)現(xiàn)溫度數(shù)據(jù)的采集和處理的一種設(shè)計(jì)方法。在這種形式下,對(duì)于計(jì)算機(jī)的認(rèn)識(shí)是勢(shì)在必得的,而且使用微機(jī)已經(jīng)成為了當(dāng)代人的一種基本技能。傳統(tǒng)的溫度采集的方法不僅費(fèi)時(shí),而且精度差,滿足不了各行業(yè)對(duì)于溫度數(shù)據(jù)高精度,設(shè)備高可靠性的需求。并且增加了報(bào)警電路。AT89C51 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)3P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。P2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。另外,該引腳被略微拉高。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫入戶報(bào)警上下限。TM R1 1R0 1 1 1 1....圖  DS18B20 字節(jié)定義由表 可見(jiàn),DS18B20 溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。表 2 是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。計(jì)數(shù)門的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55℃所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器 溫度寄存器中,計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。 使用 編寫上位機(jī)程序,接收溫度數(shù)據(jù)并儲(chǔ)存在數(shù)據(jù)庫(kù)中;接收數(shù)據(jù)時(shí),要求能同步畫出溫度變化的曲線;要求系統(tǒng)可查詢歷史溫度信息。單片機(jī)LED顯 示溫 度 傳 感 器復(fù)位電路時(shí)鐘振蕩蜂鳴器P C長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)11溫度傳感器采用 DS18B20 溫度傳感器,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn) 9~12 位的數(shù)字值讀數(shù)方式。此外還接有蜂鳴器,當(dāng) DS18B20 不能正常工作時(shí)可以達(dá)到報(bào)警的目的。 計(jì)算溫度子程序初始化調(diào)用顯示子程序1S 到?初次上電讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開(kāi)始命令的法國(guó)風(fēng)格 法國(guó) NYNYY發(fā) DS18B20 復(fù)位命令發(fā)跳過(guò) ROM 命令發(fā)讀取溫度命令讀取操作,CRC 校驗(yàn)9 字節(jié)完?CRC 校驗(yàn)正?確?移入溫度暫存器結(jié)束 NNY長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)15發(fā) DS18B20 復(fù)位命令發(fā)跳過(guò) ROM 命令發(fā)溫度轉(zhuǎn)換開(kāi)始命令 結(jié)束計(jì)算溫度子程序?qū)?RAM 中讀取值進(jìn)行轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖 所示。下圖 為上位機(jī)工作流程圖。有數(shù)據(jù)向串口發(fā)過(guò)來(lái)時(shí),程序可以將數(shù)據(jù)接收到,接收的數(shù)據(jù)是字符型的,那么將數(shù)據(jù)轉(zhuǎn)化為數(shù)字型的,再將這個(gè)數(shù)據(jù)的大小作為畫圖的某一個(gè)點(diǎn)的縱坐標(biāo),橫坐標(biāo)為數(shù)據(jù)的序,這個(gè)就是圖形顯示基本原理。第 3 章 程序設(shè)計(jì) 下位機(jī)程序下位機(jī)程序的編寫主要使用 C 語(yǔ)言進(jìn)行編寫,可讀性要比匯編語(yǔ)言好很多。receive = SBUF。計(jì)算出定時(shí)器的初長(zhǎng)沙學(xué)院畢業(yè)設(shè)計(jì)21值之后,在設(shè)定串行口的工作方式,在這里令SCON=0X50,即 SCON 各位中,SM0=0,SM1=1,REN=1,其他控制字為 0,選擇為工作方式 1,8 位異步收發(fā)。= 0x00。0xf0)4)|((temp_data[1]amp。 temp_data[1]=!( temp_data[1]) temp_data[0]=!( temp_data[0])。波特率設(shè)置為 9600,可以根據(jù)具體設(shè)計(jì)情況更改波特率的大小,但要與下位機(jī)的一致。 Str(0) amp。整個(gè) VB 界面及數(shù)據(jù)庫(kù)程序的編寫見(jiàn)附錄 2 所示??梢赃x擇串口和波特率滿足不同要求,設(shè)置采集間隔時(shí)間,顯示不同時(shí)間范圍的溫度滿足不同場(chǎng)合的測(cè)溫要求。同時(shí)也感謝長(zhǎng)沙學(xué)院能夠提供如此的師資力量和實(shí)驗(yàn)室研究條件。unsigned char presence 。 // 顯示開(kāi)關(guān)標(biāo)記bit flag_zf=0。 presence = DQ。 i) { DQ = 0。 i 0。 if(presence==1) { beep()。 // 讀取溫度寄存器 temp_data[0] = ReadOneChar()。0x0f。display[1]=display[1]%10。 // 位選線為 口,LED 為共陽(yáng)極顯示,當(dāng)位選線為低電平時(shí)選通Delay(300)。P0 =LEDData1[display[1]]。Delay(300)。 // 關(guān)閉蜂鳴器}/*********************************************************/void init(void){EA = 1。 // 啟動(dòng)定時(shí)器 1IE = 0x00。 while(1) { Read_Temperature()。在顯示、繪圖、報(bào)警等過(guò)程中使用Dim datatemp(200) As Single 39。 開(kāi)始采集 If (Txttimes 200) Or (Txttimes 1) Then 39。 設(shè)置間隔采樣時(shí)間 = 重新采集 = True = 停止采集 = amp。H808080 39。HFFamp。 二進(jìn)制輸入模式 = 1 39。39。 十六進(jìn)制溫度數(shù)據(jù) Dim count As Integer 39。 接收溫度數(shù)據(jù) If count 2 Then Exit Sub 39。 Mid(buffer, 1, 2)) * Else datatemp(num) = Val(amp。
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1