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

正文內(nèi)容

基于vb60的溫度數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計-預(yù)覽頁

2025-07-21 18:51 上一頁面

下一頁面
 

【正文】 經(jīng)成為了當代人的一種基本技能。如今,計算機的使用領(lǐng)域已經(jīng)擴展到了各行各業(yè),甚至介入個人家庭。傳統(tǒng)的溫度采集的方法不僅費時,而且精度差,滿足不了各行業(yè)對于溫度數(shù)據(jù)高精度,設(shè)備高可靠性的需求。 。并且增加了報警電路。AT89C2051 是一種帶 2K 字節(jié)閃爍可編程可擦除只讀存儲器的單片機。AT89C51 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。全靜態(tài)工作:0Hz24Hz兩個 16 位定時器/計數(shù)器長沙學(xué)院畢業(yè)設(shè)計3片內(nèi)振蕩器和時鐘電路 管腳說明: VCC:供電電壓。P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FLASH 編程和校驗時,P1 口作為第八位地址接收。P2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時,P2 口輸出地址的高八位。當 P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。當振蕩器復(fù)位器件時,要保持 RST 腳兩個機器周期的高電平時間。因此它可用作對外部輸出的脈沖或用于定時目的。另外,該引腳被略微拉高。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。石晶振蕩和陶瓷振蕩均可采用。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止 [2]。溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。第 5 個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。TM R1 1R0 1 1 1 1....圖  DS18B20 字節(jié)定義由表 可見,DS18B20 溫度轉(zhuǎn)換的時間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。當 DS18B20 接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。表 2 是一部分溫度值對應(yīng)的二進制溫度數(shù)據(jù)。在 64 位 ROM 的最高有效字節(jié)中存儲有循環(huán)冗余檢驗碼(CRC) 。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器 溫度寄存器中,計數(shù)器 1 和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。系統(tǒng)對 DS18B20 的各種操作按協(xié)議進行。 使用 編寫上位機程序,接收溫度數(shù)據(jù)并儲存在數(shù)據(jù)庫中;接收數(shù)據(jù)時,要求能同步畫出溫度變化的曲線;要求系統(tǒng)可查詢歷史溫度信息。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計也比較簡單,故采用了方案二。單片機LED顯 示溫 度 傳 感 器復(fù)位電路時鐘振蕩蜂鳴器P C長沙學(xué)院畢業(yè)設(shè)計11溫度傳感器采用 DS18B20 溫度傳感器,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn) 9~12 位的數(shù)字值讀數(shù)方式。長沙學(xué)院畢業(yè)設(shè)計12 系統(tǒng)硬件設(shè)計系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,報警電路,單片機主板電路等,如圖 所示。此外還接有蜂鳴器,當 DS18B20 不能正常工作時可以達到報警的目的。 主程序主程序的主要功能是負責溫度的實時顯示、讀出并處理 DS18B20 的測量的當前溫度值,溫度測量每 1s 進行一次。 計算溫度子程序初始化調(diào)用顯示子程序1S 到?初次上電讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令的法國風格 法國 NYNYY發(fā) DS18B20 復(fù)位命令發(fā)跳過 ROM 命令發(fā)讀取溫度命令讀取操作,CRC 校驗9 字節(jié)完?CRC 校驗正?確?移入溫度暫存器結(jié)束 NNY長沙學(xué)院畢業(yè)設(shè)計15發(fā) DS18B20 復(fù)位命令發(fā)跳過 ROM 命令發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束計算溫度子程序?qū)?RAM 中讀取值進行轉(zhuǎn)換運算,并進行溫度值正負的判定,其程序流程圖如圖 所示。 開始溫度零下?溫度值取補碼置“—”標志計算小數(shù)位溫度值 計算整數(shù)位溫度值 結(jié)束置“+”標志NY溫度數(shù)據(jù)移入顯示寄存器十位數(shù) 0?百位數(shù) 0?十位數(shù)顯示符號百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號) 結(jié)束NNYY長沙學(xué)院畢業(yè)設(shè)計16圖 顯示數(shù)據(jù)刷新流程圖   上位機軟件設(shè)計上位機是應(yīng)用 VB 進行編寫的,它把下位機傳送上來是兩字節(jié)的十六進制數(shù)據(jù)進行解碼顯示出來。下圖 為上位機工作流程圖。這些串口在 CPU 和外設(shè)之間充當解釋器的角色。有數(shù)據(jù)向串口發(fā)過來時,程序可以將數(shù)據(jù)接收到,接收的數(shù)據(jù)是字符型的,那么將數(shù)據(jù)轉(zhuǎn)化為數(shù)字型的,再將這個數(shù)據(jù)的大小作為畫圖的某一個點的縱坐標,橫坐標為數(shù)據(jù)的序,這個就是圖形顯示基本原理。長沙學(xué)院畢業(yè)設(shè)計19圖 實時溫度曲線顯示及查詢圖串口的波特率,串口號都采用下拉選擇的方式,在使用中可跟據(jù)情況選擇讀串口數(shù)據(jù)的原理是,只要當有數(shù)據(jù)向串口發(fā)數(shù)據(jù)來時,計算機就會自動將其數(shù)據(jù)寫到一個特定的緩沖區(qū),我們只要寫程序去讀那個特定的緩沖區(qū)就可以了。第 3 章 程序設(shè)計 下位機程序下位機程序的編寫主要使用 C 語言進行編寫,可讀性要比匯編語言好很多。 while(1) { Read_Temperature()。receive = SBUF。 }} }}主程序為一無限循環(huán),單片機不斷從 DS18B20 的數(shù)據(jù)口采集數(shù)據(jù)信號,用 flash標志 DS18B20 是否正常,當 flash=1 時表示 DS18B20 不正常,就由軟件設(shè)置及時關(guān)閉LED 顯示并由蜂鳴器報警。計算出定時器的初長沙學(xué)院畢業(yè)設(shè)計21值之后,在設(shè)定串行口的工作方式,在這里令SCON=0X50,即 SCON 各位中,SM0=0,SM1=1,REN=1,其他控制字為 0,選擇為工作方式 1,8 位異步收發(fā)。TH1=(unsigned char)(256 (XTAL / (32L * 12L * baudrate)))。= 0x00。由于每一位變化為 ℃/LSB,通過移位操作,即可獲得一個新的關(guān)于溫度整數(shù)部分的數(shù)據(jù),部分設(shè)計顯示轉(zhuǎn)化程序如下:display[4]=temp_data[0]amp。0xf0)4)|((temp_data[1]amp。display[2]=display[1]/10。 temp_data[1]=!( temp_data[1]) temp_data[0]=!( temp_data[0])。其他延時子程序以及 DS18B20 的讀寫子程序,可見附錄 1 的完整的 DS18B20 溫度采集系統(tǒng)程序設(shè)計,在這里不做詳細介紹了。波特率設(shè)置為 9600,可以根據(jù)具體設(shè)計情況更改波特率的大小,但要與下位機的一致。此外程序還添加了接收溫度數(shù)據(jù)的判定,接收到的溫度數(shù)據(jù)應(yīng)為兩字節(jié),且低位在前,當接收到的數(shù)據(jù)不是兩字節(jié)時,表示接收錯誤,跳出此程序。 Str(0) amp。 Mid(buffer, 1, 2)) * End If 39。整個 VB 界面及數(shù)據(jù)庫程序的編寫見附錄 2 所示。讀數(shù)方便,測量范圍廣,測溫準確??梢赃x擇串口和波特率滿足不同要求,設(shè)置采集間隔時間,顯示不同時間范圍的溫度滿足不同場合的測溫要求。就個人而言,在這次畢業(yè)設(shè)計鍛煉了個人意志以及在克服困難的毅力,培養(yǎng)了我在一定的壓力下進行研究和設(shè)計的心理素質(zhì),獨立處理問題的能路,提高了我查找運用各種參考資料以及與其他人溝通交流解決問題的能力。同時也感謝長沙學(xué)院能夠提供如此的師資力量和實驗室研究條件。很慶幸這些年來我遇到了許多恩師益友,無論在學(xué)習上、生活上還是工作上都給予了我無私的幫助和熱心的照顧,讓我在許多方面都有所成長。unsigned char presence 。unsigned char code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}。 // 顯示開關(guān)標記bit flag_zf=0。 // 稍做延時 DQ = 0。 presence = DQ。 // 返回信號, 0=presence,1= no presence}/**********************************************************/uchar ReadOneChar(void) // 讀一個字節(jié){unsigned char i = 0。 i) { DQ = 0。 Delay(4)。 i 0。 Delay(5)。 if(presence==1) { beep()。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 讀取溫度寄存器 temp_data[0] = ReadOneChar()。 // 所測溫度為負時,要進行轉(zhuǎn)換 temp_data[1]=!( temp_data[1]); temp_data[0]=!( temp_data[0])。0x0f。0x0f)4)。display[1]=display[1]%10。} //溫度為負數(shù)時第二個數(shù)碼管顯示負號 if(!display[3]) // 高位為 0,不顯示 { display[3]=0x0a。 // 位選線為 口,LED 為共陽極顯示,當位選線為低電平時選通Delay(300)。 // 選中 口Delay(300)。P0 =LEDData1[display[1]]。 // 顯示十位P2 = 0xef。Delay(300)。i100。 // 關(guān)閉蜂鳴器}/*********************************************************/void init(void){EA = 1。 // 定時器 0 賦初值SCON = 0x50。 // 啟動定時器 1IE = 0x00。 // 等特數(shù)據(jù)傳送TI = 0。 while(1) { Read_Temperature()。receive = SBUF。在顯示、繪圖、報警等過程中使用Dim datatemp(200) As Single 39。 暫停標志Dim strSql As StringPrivate Sub cmd_Search_Click() strSql = select * from Tbl_wD where 1=1 Set Rs = New = adUseClient strSql, Db, adOpenKeyset, adLockReadOnly If 1 Then MsgBox (數(shù)據(jù)庫中沒有數(shù)據(jù)!) Exit Sub End If Set = Rs End Sub39。 開始采集 If (Txttimes 200) Or (Txttimes 1) Then 39。, 49, 溫度采集系統(tǒng) Call setAcquiescence 39。 設(shè)置間隔采樣時間 = 重新采集 = True = 停止采集 = amp。39。H808080 39。 停止溫度采集39。HFFamp。39。 二進制輸入模式 = 1 39。 調(diào)用表格初始化子程序 Call ScaleSys 39。39。每發(fā)送一次指令,觸發(fā)下面事件,返回數(shù)據(jù)串Private Sub MSComm1_OnComm() Dim Inbyte() As Byte 39。 十六進制溫度數(shù)據(jù) Dim count As Integer 39。H80FFamp。 接收溫度數(shù)據(jù) If count 2 Then Exit Sub 39。獲取十進制測量數(shù)據(jù) If Len(Trim(Mid(buffer, 1, 2))) = 1 Then datatemp(num) = Val(amp。 Mid(buffer, 1, 2)) * Else datatemp(num) = Val(amp。保存數(shù)據(jù) Data_save (datatemp(num))長沙學(xué)院畢業(yè)設(shè)計41 39。
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1