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

正文內(nèi)容

基于vb60的溫度數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計論文單片機控制(更新版)

2025-04-19 10:52上一頁面

下一頁面
  

【正文】 else {P2 = 0x00 。while (i 2){SBUF = temp_data[i]。 // 定時器 1 工作于 8 位自動重載模式 , 用于產(chǎn)生波特率TH1=(unsigned char)(256 (XTAL / (32L * 12L * baudrate)))。 // 關(guān)閉顯示}/*********************************************************/void beep(void){ unsigned char i。Delay(300)。 // 顯示 176。 P2=0x02。 // 查表得小數(shù)位的值display[4]=((temp_data[0]amp。 // 溫度高 8 位 }}/*********************************************************/void Disp_Temperature()// 顯示溫度{ unsigned char n=0。} // DS18B20 不正常,蜂鳴器報警 else { flash=0。 DQ = datamp。 DQ = 1。 DQ = 1。}/**********************************************************/uchar Init_DS18B20(void) // 初始化 ds1820長沙學(xué)院畢業(yè)設(shè)計30{ DQ = 1。unsigned char data temp_data[2] = {0x00,0x00}。謝老師治學(xué)嚴(yán)謹(jǐn),學(xué)識淵博,為我營造了一種良好的設(shè)計氛圍。在設(shè)計過程中,對整個系統(tǒng)硬件和軟件的分析,采用模塊化程序設(shè)計的方法,流程圖分析設(shè)計思路,將系統(tǒng)分成幾個模塊,最終進行整合,從而實現(xiàn)了基于 的數(shù)據(jù)采集系統(tǒng)的設(shè)計。傳統(tǒng)的溫度采集方法費時且精度較差,而如今各個行業(yè)對溫度數(shù)據(jù)的要求越來越高,如科研實驗室,因此新型的數(shù)字溫度計大量出現(xiàn),其中最普遍的是使用傳感器和單片機組成采集電路就可以 獲得較高的精度要求。H amp。接收觸發(fā)事件的處理,當(dāng)每發(fā)送一次指令時,就會觸發(fā) OnComm 事件,并返回數(shù)據(jù)串,通過計算獲取溫度測量值并顯示出來,具體設(shè)計程序如下:Private Sub MSComm1_OnComm() Dim Inbyte() As Byte Dim buffer As String Dim datatemp2a, datatemp2b As String Dim datatemp2 As String Dim count As Integer 39。if(temp_data[0]=0) { temp_data[1]= temp_data[1]+1。display[3]=display[4]/100。IE = 0x00。程序設(shè)計內(nèi)容如下所示:void init(void){EA = 1。s39。溫度采集系統(tǒng)的主程序設(shè)計如下:20void main(void){uchar receive。圖形能移動的原理,是我們首先改變的只是數(shù)據(jù),圖形并沒有變,但圖形的形式是由這些數(shù)據(jù)來確定的,當(dāng)數(shù)據(jù)發(fā)生變化后,我們通過刷新顯示區(qū)來變化的。 的 MSComm 通信控件提供了一系列標(biāo)準(zhǔn)通信命令的接口,它允許建立串口連接,可以連接到其他通信設(shè)備(如 Modem) .還可以發(fā)送命令、進行數(shù)據(jù)交換以及監(jiān)視和響應(yīng)在通信過程中可能發(fā)生的各種錯誤和事件,從而可以用它創(chuàng)建全雙工 、事件驅(qū)動的、高效實用的通信程序。 開始溫度零下?溫度值取補碼置“—”標(biāo)志計算小數(shù)位溫度值 計算整數(shù)位溫度值 結(jié)束置“+”標(biāo)志NY16 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操作,當(dāng)最高顯示位為 0 時將符號顯示位移入下一位。按健復(fù)位電路是最簡單的手動復(fù)位,使用比較方便,在程序跑飛時,可以手動復(fù)位,這樣就不用在重起單片機電源,就可以實現(xiàn)復(fù)位。上下位機定義好通信協(xié)議和波特率。方案一:由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨10被測溫度變化的電壓或電流采集過來,進行 A/D 轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到 A/D 轉(zhuǎn)換電路,感溫電路比較麻煩。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。若 T>TH 或 T<TL,則將該器件內(nèi)的報警標(biāo)志位置位,并對主機發(fā)出的報警搜索命令作出響應(yīng)。 表 DS18B20溫度轉(zhuǎn)換時間表溫度 LSB溫度 MSBTH 用戶字節(jié) 1TL 用戶字節(jié)2配置寄存器保留保留保留CRCR0R1000101119101112分 辨 率 /位 溫 度 最 大 轉(zhuǎn) 向 時 間 /ms375750....7高速暫存RAM的第 8 字節(jié)保留未用,表現(xiàn)為全邏輯 1。高速暫存 RAM 的結(jié)構(gòu)為 8 字節(jié)的存儲器,結(jié)構(gòu)如圖 所示。在閑置模式下,CPU 停止工作。振蕩器特性: XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。 /PSEN:外部程序存儲器的選通信號。在 FLASH 編程期間,此引腳用于輸入編程脈沖。P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出4TTL 門電流??删幊檀型ǖ琅c MCS51 兼容 在硬件電路設(shè)計方面,從電路的簡單,可靠數(shù)字化,低成本等角度出發(fā),設(shè)計者采用了硬件濾波軟件補償兩方面入手,使得設(shè)計達到所需精度要求,具有較高的性能價格比。選擇適當(dāng)?shù)膯纹瑱C和溫度傳感器及前端處理電路,可以獲得較高精度的測量。完成了對每個通道的實測信號編碼值與溫度的實時曲線的繪制,如果再實現(xiàn)對各個通道建立獨立的數(shù)據(jù)庫,即可達到對每個通道的溫度標(biāo)定的目的。本文設(shè)計的是近距離溫度檢測系統(tǒng)。整個測溫系統(tǒng)以數(shù)據(jù)采集原理為主要理論依據(jù),將傳感器 DS18B20 所測的溫度轉(zhuǎn)換成為電信號,再由單片機對其進行量化編碼,轉(zhuǎn)化為十六進制數(shù)據(jù),為單片機與微機進行通訊打下了基礎(chǔ)。在這種形式下,對于計算機的認(rèn)識是勢在必得的,而且使用微機已經(jīng)成為了當(dāng)代人的一種基本技能。本文介紹了一種利用單片機實現(xiàn)溫度數(shù)據(jù)的采集和處理的一種設(shè)計方法。單片機的可擦除只讀存儲器可以反復(fù)擦除 100 次。三級程序存儲器鎖定 GND:接地。 P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4個 TTL 門電流,當(dāng) P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。 /EA/VPP:當(dāng)/EA 保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內(nèi)部程序存儲器。如采用外部時鐘源驅(qū)動器件,XTAL2 應(yīng)不接。5 DS18B20傳感器簡介 DS18B20 溫度傳感器是美國 DALLAS 半導(dǎo)體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn) 9~12 位的數(shù)字值讀數(shù)方式。DS18B20 工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。轉(zhuǎn)換完成后的溫度值就以 16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第 2 字節(jié)。主機 ROM 前 56 位來計算 CRC 值,并和存入 DS18B20 的 CRC 值作比較,以判斷主機收到的 ROM 數(shù)據(jù)是否正確。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā) ROM 功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù) [3]。溫度計電路設(shè)計總體設(shè)計方框圖如圖 1 所示,控制器采用單片機 AT89C51,溫度傳感器采用 DS18B20,用 8 位 LED 數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示并通過串口與上位機 PC 通訊,把數(shù)據(jù)傳送給上位機,并用 VB 編寫的圖形界面把溫度的變化曲線顯示出來,并通過數(shù)據(jù)庫存儲,可查詢歷史溫度記錄。13 圖 設(shè)計原理圖溫度傳感器的數(shù)據(jù)線接單片機的 口,單片機通過反復(fù)讀寫 口的狀態(tài)采集數(shù)據(jù),不過硬件簡單,軟件肯定復(fù)雜,讀寫時都有嚴(yán)格的時序要求。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程14見圖 所示。當(dāng)點擊采集溫度時,上位機向下位機發(fā)送采集溫度命令字符“1” ,當(dāng)下位機接受到命令時,向上位機發(fā)送數(shù)據(jù)?;緦傩耘c描述如下:屬性 描述CommPort 設(shè)置或返回通信端口號Settings 以字符串的形式設(shè)置或返回波特率、奇偶校驗、數(shù)據(jù)位和停止位PortOpen 設(shè)置或返回通信端口的狀態(tài)。此外為了保存和查詢歷史溫度數(shù)據(jù)還要在 VB 中設(shè)計建立連接到 Access 數(shù)據(jù)庫的控件,Data 控件是 Visual Basic 中的一個內(nèi)置數(shù)據(jù)控件,可以通過設(shè)置 Data 控件的 connect、DatabaseName 、RecordSource 屬性實現(xiàn)對數(shù)據(jù)庫的連接和訪問。 if (flash==0) {Disp_Temperature()。當(dāng)一幀數(shù)據(jù)采集完畢即 RI 接受中斷標(biāo)志位為 1,判斷下位機是否接受到來自上位機的字符“1”對應(yīng)的 ASC 碼 49 時接收到時才開始將采集到的數(shù)據(jù)發(fā)送給上位機進行處理,RI 標(biāo)志位必須由軟件清零。TL1=(unsigned char)(256 (XTAL / (32L * 12L * baudrate)))。0x0f。display[1]=display[1]%10。 上位機程序 在上位機 VB 程序的編寫中,最重要的是串口的初始化程序和接收觸發(fā)程序的設(shè)計。為了在 VB 界面能夠顯示當(dāng)前的溫度值,需要將采集的兩字節(jié)溫度數(shù)據(jù)轉(zhuǎn)化為十25進制測量數(shù)據(jù),轉(zhuǎn)化程序如下:If Len(Trim(Mid(buffer, 1, 2))) = 1 Then datatemp(num) = Val(amp。保存數(shù)據(jù) Data_save (datatemp(num))此外,本 VB 程序還做了一定的功能擴展,能夠顯示歷史溫度的最大值和最小值以及平均值,還可通過下拉方式選擇合適的波特率、串口和采樣間隔時間。硬件電路較簡單,所以軟件設(shè)計較復(fù)雜,DS18B20 只有一個數(shù)據(jù)口,所以它的讀寫程序?qū)r序有很高的要求。此外,整個設(shè)計過程中由于指導(dǎo)老師的幫助下,開拓了我的思維,提高了將所學(xué)知識學(xué)以致用的能力。感恩之情難以用語言量度,謹(jǐn)對多年來給予我關(guān)心與支持的良師益友和親人們致以最誠摯的謝意! 學(xué)生簽名:日 期:長沙學(xué)院畢業(yè)設(shè)計29附錄 1 下位機程序/********************************************************** DS18B20 溫度采集系統(tǒng)程序 通過 DD18B20 讀取溫度,數(shù)碼管顯示溫度值,并由串口傳送到上位機再執(zhí)行相應(yīng)操作。void beep()。 // 單片機將 DQ 拉低 Delay(90)。unsigned char dat = 0。 } return (dat)。 DQ = 1。 // 啟動溫度轉(zhuǎn)換 Init_DS18B20()。temp_data[0]= temp_data[0]+1。display[3]=display[4]/100。 if(!display[2]) // 次高位為 0,不顯示 display[2]=0x0a。P0 =LEDData[display[0]] 。 Delay(300)。i++) { Delay(60)。 // 設(shè)定串行口工作方式PCON amp。 // 清除數(shù)據(jù)傳送標(biāo)志i++。if (receive == 49) // 是否開始采集溫度{send_char()。39。 默認(rèn)設(shè)置 Exit Sub End If If = True Then = False Call setCom 39。 默認(rèn)設(shè)置39。Private Sub CmdStop_Click() 39。 載入窗體39。 繪制坐標(biāo)系 If = False
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1