![基于VB6.0的溫度數(shù)據(jù)采集系統(tǒng).doc_第1頁](http://file.renrendoc.com/FileRoot1/2019-12/18/8ede8e7b-7eac-4ced-95dc-77e1c1f012d1/8ede8e7b-7eac-4ced-95dc-77e1c1f012d11.gif)
![基于VB6.0的溫度數(shù)據(jù)采集系統(tǒng).doc_第2頁](http://file.renrendoc.com/FileRoot1/2019-12/18/8ede8e7b-7eac-4ced-95dc-77e1c1f012d1/8ede8e7b-7eac-4ced-95dc-77e1c1f012d12.gif)
![基于VB6.0的溫度數(shù)據(jù)采集系統(tǒng).doc_第3頁](http://file.renrendoc.com/FileRoot1/2019-12/18/8ede8e7b-7eac-4ced-95dc-77e1c1f012d1/8ede8e7b-7eac-4ced-95dc-77e1c1f012d13.gif)
![基于VB6.0的溫度數(shù)據(jù)采集系統(tǒng).doc_第4頁](http://file.renrendoc.com/FileRoot1/2019-12/18/8ede8e7b-7eac-4ced-95dc-77e1c1f012d1/8ede8e7b-7eac-4ced-95dc-77e1c1f012d14.gif)
![基于VB6.0的溫度數(shù)據(jù)采集系統(tǒng).doc_第5頁](http://file.renrendoc.com/FileRoot1/2019-12/18/8ede8e7b-7eac-4ced-95dc-77e1c1f012d1/8ede8e7b-7eac-4ced-95dc-77e1c1f012d15.gif)
已閱讀5頁,還剩90頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
長 沙 學 院 CHANGSHA UNIVERSITY 畢業(yè)設計資料 設計設計 題題目:目: 基于基于 VB6.0 的數(shù)據(jù)采集系的數(shù)據(jù)采集系統(tǒng)設計統(tǒng)設計 系系 部:部: 電電子與通信工程系子與通信工程系 專專 業(yè)業(yè): : 電電氣工程及其自氣工程及其自動動化化 學學 生生 姓姓 名:名: 張張 xx 班班 級級: : 電電氣氣 x 班班 學號學號 指指導導教教師師姓名:姓名: 職職稱稱 講師講師 最最終評終評定成定成績績 長沙學院教務處長沙學院教務處 二二七年十月制七年十月制 目目 錄錄 第一部分 設計說明書 一、設計說明書 第二部分 外文資料翻譯 一、外文資料原文 二、外文資料翻譯 第三部分 過程管理資料 一、 畢業(yè)設計課題任務書 二、 本科畢業(yè)設計開題報告 三、 本科畢業(yè)設計中期報告 四、 畢業(yè)設計指導教師評閱表 五、 畢業(yè)設計評閱教師評閱表 六、 畢業(yè)設計答辯評審表 2009 屆屆 本科生畢業(yè)設計資料本科生畢業(yè)設計資料 第一部分第一部分 設計說設計說明明書書 (2009 屆)屆) 本科生畢業(yè)設計說明書本科生畢業(yè)設計說明書 基于 VB6.0 的數(shù)據(jù)采集系統(tǒng)設計 系系 部:部: 電電子與通信工程系子與通信工程系 專專 業(yè)業(yè): : 電電氣工程及其自氣工程及其自動動化化 學學 生生 姓姓 名:名: 班班 級級: : 學號學號 指指導導教教師師姓名:姓名: 職職稱稱 講師講師 最最終評終評定成定成績績 200 9 年 6 月 長沙學院本科生畢業(yè)設計 基于 VB6.0 的數(shù)據(jù)采集系統(tǒng)設計 系 (部):電子與通信工程系 專 業(yè):電氣工程及其自動化 學 號: 學 生 姓名: 指 導 教師: 講 師 2009 年 6 月 長沙學院畢業(yè)設計 I 摘 要 溫度是一種被廣泛應用于生產(chǎn)和生活的重要的物理量。針對與不同的應用領域, 生產(chǎn)和研制適當?shù)臏y溫系統(tǒng)是十分必要的。本文設計的是近距離溫度檢測系統(tǒng)。該系 統(tǒng)涵蓋了傳感器技術(shù),信息處理技術(shù),計算機通信技術(shù)等幾個方面的技術(shù)。此技術(shù)主 要包括:傳感器,模數(shù)轉(zhuǎn)換,單片機與 PC 機接口,串行通訊,VB 等部分。 整個測溫系統(tǒng)以數(shù)據(jù)采集原理為主要理論依據(jù),將傳感器 DS18B20 所測的溫度轉(zhuǎn) 換成為電信號,再由單片機對其進行量化編碼,轉(zhuǎn)化為十六進制數(shù)據(jù),為單片機與微 機進行通訊打下了基礎。 根據(jù)串行通訊原理,設計了單片機與 PC 機的接口電路,建立了單片機與 PC 機之 間的串行通訊協(xié)議,并利用 VB6.0 對測溫系統(tǒng)實現(xiàn)了對象化操作將采集到的溫度 信號編碼進行接受和描述,將其直接顯示在可視的界面當中。該測溫系統(tǒng)具有實時存 儲功能,便于對信號進行分析和處理。在本設計中,我們?yōu)榱四軐崿F(xiàn)人機的對話及及 時知道系統(tǒng)的運行狀況,我們給本系統(tǒng)增加了報警功能。 在對實測信號進行分析的過程中發(fā)現(xiàn),實測信號編碼與理論上的信號編碼基本呈 線形關(guān)系,這說明了系統(tǒng)具有很高的精確度和穩(wěn)定性。完成了對每個通道的實測信號 編碼值與溫度的實時曲線的繪制,如果再實現(xiàn)對各個通道建立獨立的數(shù)據(jù)庫,即可達 到對每個通道的溫度標定的目的。 關(guān)鍵詞:溫度,編碼,單片機,實時曲線,DS18B20,VB6.0 長沙學院畢業(yè)設計 II ABSTRACT Temperature is a very important physical quantity which used in production and life .For the different applications, it is necessary to produce the proper system of measuring temperature. In this article I will discuss the system of measuring close quarters temperature. This system involves sensor technic, information processing technic, communication technic and so on .The design mainly includes the sensor part , analog-digital conversion ,the interface between the microcontroller and PC ,serial communication and so on . The main theoretical base is theory of data collection . The temperature signals measured by 18B20 sensors transform to the voltage signals .The single chip transforms the voltage code to 16M code which is the basic of communication .I design the interface circuit between the single chip and PC .The temperature signals are received and described by VB and then displayed on the screen .All the signals can be Real-time memory in order to analyze them . Form the result the metrical signals and the theoretical signals have the linearity relation .the result indicates that the has high precision and stability We can draw the curve of temperature value and the code and establish the database ,form which we can get the real temperature of the different objects. Keywords: temperature ,coding ,microcontroller ,current curve,18B20,vb6.0 長沙學院畢業(yè)設計 III 目 錄 摘摘 要要 .I I ABSTRACTABSTRACT .IIII 第第 1 1 章章 緒論緒論.1 1 1.1 AT89C51 簡介 .2 1.2 DS18B20 傳感器簡介 .5 第第 2 2 章章 系統(tǒng)設計系統(tǒng)設計 .9 9 2.1 功能與設計方案.9 2.1.1 功能要求.9 2.1.2 設計方案.9 2.2 設計中所需要的器件.11 2.3 系統(tǒng)硬件設計 .12 2.4 系統(tǒng)軟件設計.13 2.4.1 下位機軟件設計.13 2.4.2 上位機軟件設計.16 第 3 章 程序設計.19 3.1 下位機程序 .19 3.2 上位機程序 .22 第第 4 4 章章 結(jié)論結(jié)論 .2525 參考文獻參考文獻 .2626 長沙學院畢業(yè)設計 IV 致致 謝謝 .2727 附錄附錄 1 1 下位機程序下位機程序 .2828 附錄附錄 2 2 上位機程序上位機程序.3434 長沙學院畢業(yè)設計 1 第第 1 1 章章 緒論緒論 隨著科學技術(shù)的迅猛發(fā)展,電子學的發(fā)展也越來越快,帶動了大批相關(guān)產(chǎn)業(yè)的發(fā) 展,其應用的范圍也越來越廣泛。如今,計算機的使用領域已經(jīng)擴展到了各行各業(yè), 甚至介入個人家庭。在這種形式下,對于計算機的認識是勢在必得的,而且使用微機 已經(jīng)成為了當代人的一種基本技能。所以對于我們來說,僅僅會使用微機是遠遠不夠 的,要想適應當今社會的需要,我們就必須能夠設計出基于 PC 技術(shù)的新的電子儀器, 以滿足社會更高層次的需求。 近年來,單片機發(fā)展十分迅速,一個以微機應用為主的新技術(shù)革命浪潮正在蓬勃 興起,單片機已經(jīng)滲透到工業(yè),農(nóng)業(yè),國防,科研及日常生活等各個領域。傳統(tǒng)的溫 度采集的方法不僅費時,而且精度差,滿足不了各行業(yè)對于溫度數(shù)據(jù)高精度,設備高 可靠性的需求。單片機的出現(xiàn)使得溫度數(shù)據(jù)的采集和處理得到了很好的解決。選擇適 當?shù)膯纹瑱C和溫度傳感器及前端處理電路,可以獲得較高精度的測量。不但方便快捷, 成本低廉,省事省力,而且大幅度提高了測量精度1。 。 本文介紹了一種利用單片機實現(xiàn)溫度數(shù)據(jù)的采集和處理的一種設計方法。其中涉 及了傳感器,數(shù)據(jù)采集,單片機數(shù)據(jù)處理,單片機和 PC 機通訊 VB 等一系列相關(guān)理論。 本文就如何將溫度這一連續(xù)的物理量轉(zhuǎn)換成模擬的電壓信號,再將電壓信號通過單片 機編碼轉(zhuǎn)換成數(shù)字信號這一過程,進行了闡述和分析。并且增加了報警電路。同時在 通過軟件進行溫度補償和數(shù)據(jù)處理方面,也作為了具體介紹。在硬件電路設計方面, 從電路的簡單,可靠數(shù)字化,低成本等角度出發(fā),設計者采用了硬件濾波軟件補償兩 方面入手,使得設計達到所需精度要求,具有較高的性能價格比。 長沙學院畢業(yè)設計 2 1.1 AT89C51 簡介 AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS8 位微處理 器,俗稱單片機。AT89C2051 是一種帶 2K 字節(jié)閃爍可編程可擦除只讀存儲器的單片機。 單片機的可擦除只讀存儲器可以反復擦除 100 次。該器件采用 ATMEL 高密度非易失存 儲器制造技術(shù)制造,與工業(yè)標準的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器, AT89C2051 是它的一種精簡版本。AT89C51 單片機為很多嵌入式控制系統(tǒng)提供了一種靈 活性高且價廉的方案。 圖 1.1 AT89C51 管腳圖 主要特性: 與 MCS-51 兼容 4K 字節(jié)可編程閃爍存儲器 壽命:1000 寫/擦循環(huán) 數(shù)據(jù)保留時間:10 年 全靜態(tài)工作:0Hz-24Hz 三級程序存儲器鎖定 128*8 位內(nèi)部 RAM 32 可編程 I/O 線 兩個 16 位定時器/計數(shù)器 長沙學院畢業(yè)設計 3 5 個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 管腳說明: VCC:供電電壓。 GND:接地。 P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當 P1 口 的管腳第一次寫 1 時,被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以 被定義為數(shù)據(jù)/地址的第八位。在 FIASH 編程時,P0 口作為原碼輸入口,當 FIASH 進 行校驗時,P0 輸出原碼,此時 P0 外部必須被拉高。 P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為 低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗時,P1 口作 為第八位地址接收。 P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4 個 TTL 門電流,當 P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并 因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。 P2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時,P2 口輸出地址 的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器 進行讀寫時,P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在 FLASH 編程和校驗時接收高 八位地址信號和控制信號。 P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電 流。當 P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于 外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。 P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷 0) P3.3 /INT1(外部中斷 1) P3.4 T0(記時器 0 外部輸入) P3.5 T1(記時器 1 外部輸入) 長沙學院畢業(yè)設計 4 P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3 口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持 RST 腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。 在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出 正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時 目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。如想禁 止 ALE 的輸出可在 SFR8EH 地址上置 0。此時, ALE 只有在執(zhí)行 MOVX,MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位 無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周 期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。 /EA/VPP:當/EA 保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不 管是否有內(nèi)部程序存儲器。注意加密方式 1 時,/EA 將內(nèi)部鎖定為 RESET;當/EA 端保 持高電平時,此間內(nèi)部程序存儲器。在 FLASH 編程期間,此引腳也用于施加 12V 編程 電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 振蕩器特性: XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振 蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2 應不接。有 余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何 要求,但必須保證脈沖的高低電平要求的寬度。 芯片擦除: 整個 PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空 存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 此外,AT89C51 設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可 選的掉電模式。在閑置模式下,CPU 停止工作。但 RAM,定時器,計數(shù)器,串口和中斷 系統(tǒng)仍在工作。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片 功能,直到下一個硬件復位為止2。 長沙學院畢業(yè)設計 5 1.2 DS18B20 傳感器簡介 DS18B20 溫度傳感器是美國 DALLAS 半導體公司最新推出的一種改進型智能溫 度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù) 實際要求通過簡單的編程實現(xiàn) 912 位的數(shù)字值讀數(shù)方式。DS18B20 的性能特點如下: 獨特的單線接口僅需要一個端口引腳進行通信; 多個 DS18B20 可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)功能; 無須外部器件; 可通過數(shù)據(jù)線供電,電壓范圍為 3.05.5; 零待機功耗; 溫度以 9 或 12 位數(shù)字; 用戶可定義報警設置; 報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件; 負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作; DS18B20 采用腳 PR35 封裝或 8 腳 SOIC 封裝,其內(nèi)部結(jié)構(gòu)框圖如圖 1.2 所示。 圖 1.2 DS18B20 內(nèi)部結(jié)構(gòu)圖 I/O C 64 位 ROM 和 單 線 接 口 高 速 緩 存 存儲器與控制邏輯 溫度傳感器 高溫觸發(fā)器 TH 低溫觸發(fā)器 TL 配置寄存器 8 位 CRC 發(fā)生器 Vdd 長沙學院畢業(yè)設計 6 64 位 ROM 的結(jié)構(gòu)開始 8 位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號, 共有 48 位,最后 8 位是前面 56 位的 CRC 檢驗碼,這也是多個 DS18B20 可以采用一 線進行通信的原因。溫度報警觸發(fā)器和,可通過軟件寫入戶報警上下限。 DS18B20 溫度傳感器的內(nèi)部存儲器還包括一個高速暫存和一個非易失性的 可電擦除的 EERAM。高速暫存 RAM 的結(jié)構(gòu)為 8 字節(jié)的存儲器,結(jié)構(gòu)如圖 1.3 所示。 頭 2 個字節(jié)包含測得的溫度信息,第 3 和第 4 字節(jié) TH 和 TL 的拷貝,是易失的,每次 上電復位時被刷新。第 5 個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn) 換分辨率。DS18B20 工作時寄存器中的分辨率轉(zhuǎn)換為相應精度的溫度數(shù)值。該字節(jié)各 位的定義如圖 3 所示。低 5 位一直為,是工作模式位,用于設置 DS18B20 在工 作模式還是在測試模式,DS18B20 出廠時該位被設置為 0,用戶要去改動,R1 和 R0 決定溫度轉(zhuǎn)換的精度位數(shù),來設置分辨率。 TM R1 1R01111 . . . 圖 1.3 DS18B20 字節(jié)定義 由表 1.1 可見,DS18B20 溫度轉(zhuǎn)換的時間比較長,而且分辨率越高,所需要的溫 度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。 表 1.1 DS18B20 溫度轉(zhuǎn)換時間表 溫度 LSB 溫度 MSB TH 用戶字 節(jié) 1 TL 用戶字節(jié) 2 配置寄存器 保留 保留 保留 CRC R0R1 0 0 0 1 0 1 1 1 9 10 11 12 分辨率/位 溫度最大轉(zhuǎn)向時間/ms 93.75 187.5 375 750 . . . 長沙學院畢業(yè)設計 7 高速暫存的第 6、7、8 字節(jié)保留未用,表現(xiàn)為全邏輯 1。第 9 字節(jié)讀出前面 所有字節(jié)的 CRC 碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。 當 DS18B20 接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以 16 位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第 1、2 字節(jié)。單片機可以通 過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以 0.0625LSB 形 式表示。 當符號位 S=0 時,表示測得的溫度值為正值,可以直接將二進制位轉(zhuǎn)換為十進制; 當符號位 S=1 時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù) 值。表 2 是一部分溫度值對應的二進制溫度數(shù)據(jù)。 表 1.2 一部分溫度對應值表 溫度/二進制表示十六進制表示 +1250000 0111 1101 0000 07D0H +850000 0101 0101 0000 0550H +25.06250000 0001 1001 0000 0191H +10.1250000 0000 1010 0001 00A2H +0.50000 0000 0000 0010 0008H 00000 0000 0000 1000 0000H -0.51111 1111 1111 0000 FFF8H -10.1251111 1111 0101 1110 FF5EH -25.06251111 1110 0110 1111 FE6FH -551111 1100 1001 0000 FC90H 長沙學院畢業(yè)設計 8 DS18B20 完成溫度轉(zhuǎn)換后,就把測得的溫度值與 RAM 中的 TH、TL 字節(jié)內(nèi)容作比較。 若 TTH 或 TTL,則將該器件內(nèi)的報警標志位置位,并對主機發(fā)出的報警搜索命令作 出響應。因此,可用多只 DS18B20 同時測量溫度并進行報警搜索。 在 64 位 ROM 的最高有效字節(jié)中存儲有循環(huán)冗余檢驗碼(CRC) 。主機 ROM 前 56 位 來計算 CRC 值,并和存入 DS18B20 的 CRC 值作比較,以判斷主機收到的 ROM 數(shù)據(jù)是否 正確。 DS18B20 的測溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響 很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器 1;高溫度系數(shù)晶振隨溫度變化其 振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器 2 的脈沖輸入。器件中還有一個計 數(shù)門,當計數(shù)門打開時,DS18B20 就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進行計數(shù)進而 完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將 55所對應的一個基數(shù)分別置入減法計數(shù)器 1、溫度寄存器中,計數(shù)器 1 和溫度寄存 器被預置在55所對應的一個基數(shù)值。 減法計數(shù)器 1 對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器 1 的預置值減到 0 時,溫度寄存器的值將加 1,減法計數(shù)器 1 的預置將重新被裝入,減法 計數(shù)器重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計 數(shù)器計數(shù)到 0 時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。 其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)器門仍未關(guān)閉就重復上述過程,直到 溫度寄存器值大致被測溫度值。 另外,由于 DS18B20 單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀 寫時序很重要。系統(tǒng)對 DS18B20 的各種操作按協(xié)議進行。操作協(xié)議為:初使化 DS18B20(發(fā)復位脈沖)發(fā) ROM 功能命令發(fā)存儲器操作命令處理數(shù)據(jù)3。 長沙學院畢業(yè)設計 9 第第 2 章章 系統(tǒng)設計 2.1 功能與設計方案 2.1.1 功能要求 設計一個基于 Visual Basic 6.0 的數(shù)據(jù)采集系統(tǒng)。用單片機系統(tǒng)接收溫度傳感器的 溫度數(shù)據(jù),并在數(shù)碼管上顯示當前溫度值,可測溫范圍55-125 攝氏度,精度 0.1 攝 氏度。 使用 VB6.0 編寫上位機程序,接收溫度數(shù)據(jù)并儲存在數(shù)據(jù)庫中;接收數(shù)據(jù)時,要 求能同步畫出溫度變化的曲線;要求系統(tǒng)可查詢歷史溫度信息。 基于 VB6.0 的數(shù)據(jù)采集系統(tǒng)在設計時主要應該滿足如下功能指標: 1測量溫度,并在數(shù)碼管上顯示當前溫度值; 2可測溫范圍55-125 攝氏度,精度 0.1 攝氏度; 3每秒給上位機傳送一次溫度數(shù)據(jù); 4上位機接收溫度數(shù)據(jù),并將數(shù)據(jù)、接收數(shù)據(jù)時間以及測溫批次等信息存儲到數(shù) 據(jù)庫中; 5測溫批次可以自動生成也可手動輸入; 6接收溫度數(shù)據(jù)時,同步畫出溫度變化的曲線; 7可按批次以及測溫時間查詢溫度數(shù)據(jù); 8將上位機軟件打包,生成安裝文件。 2.1.2 設計方案 方案論證 方案一: 由于本設計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨 長沙學院畢業(yè)設計 10 被測溫度變化的電壓或電流采集過來,進行 A/D 轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的 處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到 A/D 轉(zhuǎn)換電路, 感溫電路比較麻煩。 方案二 : 進而考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是 非常容易想到的,所以可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接 讀取被測溫度值,進行轉(zhuǎn)換,就可以滿足設計要求。 從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設計也比較簡單, 故采用了方案二。 總體設計框圖 溫度計電路設計總體設計方框圖如圖 1 所示,控制器采用單片機 AT89C51,溫度 傳感器采用 DS18B20,用 8 位 LED 數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示并通過串口與 上位機 PC 通訊,把數(shù)據(jù)傳送給上位機,并用 VB 編寫的圖形界面把溫度的變化曲線顯 示出來,并通過數(shù)據(jù)庫存儲,可查詢歷史溫度記錄。 圖 2.1 總體設計框圖 主控制器 單片機 AT89C51 具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿 足電路系統(tǒng)的設計需要,很適合便攜手持式產(chǎn)品的設計使用系統(tǒng)可用二節(jié)電池供電。 顯示電路 顯示電路采用 8 位共陽極 LED 數(shù)碼管,從 P0 口輸出段碼,P2 口為 LED 的位選信 號。 單片機 LED 顯 示溫 度 傳 感 器 復位電路 時鐘振蕩 蜂鳴器 P C 長沙學院畢業(yè)設計 11 溫度傳感器 采用 DS18B20 溫度傳感器,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡 單的編程實現(xiàn) 912 位的數(shù)字值讀數(shù)方式。 PC 實時顯示界面 顯示實時溫度數(shù)據(jù)變化曲線的界面,采用 VB6.0 編輯,在程序使用 VB6.0 的通用 串口控件 MSCOMM 來對發(fā)送到串口的數(shù)據(jù)進行采集處理。上下位機定義好通信協(xié)議和波 特率。 2.2 設計中所需要的器件 1、 單片機:AT89C51 一塊; 2、 溫度傳感器:DS18B20 一塊; 3、8位共陽極數(shù)碼管 一塊; 4、 30PF電容一個,開關(guān)一個,蜂鳴器一個; 5、 10K電阻 2個、5K的電阻排; 6、 串行通信線。 長沙學院畢業(yè)設計 12 2.3 系統(tǒng)硬件設計 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,報警電路,單片 機主板電路等,如圖 2.2 所示。 長沙學院畢業(yè)設計 13 圖 2.2 設計原理圖 溫度傳感器的數(shù)據(jù)線接單片機的 P3.3 口,單片機通過反復讀寫 P3.3 口的狀態(tài)采集 數(shù)據(jù),不過硬件簡單,軟件肯定復雜,讀寫時都有嚴格的時序要求。 顯示電路采用 8 個共陽極的 LED 顯示,顯示代碼由 P0 口發(fā)送,當使用 P0 口時需 要接上拉電阻,P2 口的邏輯狀態(tài)作位選線信號,達到分時選通的目的,當相應口為高 電平時 LED 才能顯示相應代碼。實際使用中只用到七個 LED,最后 2 個用來顯示攝氏 度符號,第二個用來顯示溫度的正負,當溫度為負時,顯示“”號,為正時不顯示, 同樣由軟件可以實現(xiàn),當百位為零時,百位不顯示,百位十位為零時,百位十位都不 顯示,這樣設計方便觀察,更加直觀。 此外還接有蜂鳴器,當 DS18B20 不能正常工作時可以達到報警的目的。最后還要 實現(xiàn)單片機與上位機通信的功能,所以要連接好串口,以便能向上位機發(fā)送或接受數(shù) 據(jù)。 按健復位電路是最簡單的手動復位,使用比較方便,在程序跑飛時,可以手動復 位,這樣就不用在重起單片機電源,就可以實現(xiàn)復位。 2.4 系統(tǒng)軟件設計 2.4.1 下位機軟件設計 系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計算溫度子 程序,顯示數(shù)據(jù)刷新子程序等。 主程序 主程序的主要功能是負責溫度的實時顯示、讀出并處理 DS18B20 的測量的當前溫 度值,溫度測量每 1s 進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程 見圖 2.3 所示。 長沙學院畢業(yè)設計 14 圖 2.3 主程序流程圖 圖 2.4 讀溫度流程圖 讀出溫度子程序 讀出溫度子程序的主要功能是讀出 RAM 中的 9 字節(jié),在讀出時需進行 CRC 校驗, 校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序流程圖如圖 2.4 所示。 計算溫度子程序 初始化 調(diào)用顯示子程序 1S 到? 初次上電 讀出溫度值溫 度計算處理顯 示數(shù)據(jù)刷新 發(fā)溫度轉(zhuǎn)換開始命令 的法國風格 法國 N Y N Y Y 發(fā) DS18B20 復位命令 發(fā)跳過 ROM 命令 發(fā)讀取溫度命令 讀取操作,CRC 校驗 9 字節(jié)完? CRC 校驗正? 確? 移入溫度暫存器 結(jié)束 N N Y 長沙學院畢業(yè)設計 15 發(fā) DS18B20 復位命 令 發(fā)跳過 ROM 命令 發(fā)溫度轉(zhuǎn)換開始命令 結(jié)束 計算溫度子程序?qū)?RAM 中讀取值進行轉(zhuǎn)換運算,并進行溫度值正負的判定,其程 序流程圖如圖 2.5 所示。 圖 2.5 計算溫度流程圖 圖 2.6 溫度轉(zhuǎn)換流程圖 溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當采用 12 位分辨率時轉(zhuǎn)換時間 約為 750ms,在本程序設計中采用 1s 顯示程序延時法等待轉(zhuǎn)換的完成,如圖 2.6 所示。 .1.5 顯示數(shù)據(jù)刷新子程序 顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進行刷新操作,當最高顯示位為 0 時 將符號顯示位移入下一位。程序流程圖如圖 2.7 所示。 開始 溫度零下? 溫度值取補碼置“” 標志 計算小數(shù)位溫度值 計算整數(shù)位溫度值 結(jié)束 置“+”標 志 N Y 溫度數(shù)據(jù)移入顯示寄存器 十位數(shù) 0? 百位數(shù) 0? 十位數(shù)顯示符號百 位數(shù)不顯示 百位數(shù)顯示數(shù)據(jù) (不顯示符號) 結(jié)束 N N Y Y 長沙學院畢業(yè)設計 16 圖 2.7 顯示數(shù)據(jù)刷新流程圖 2.4.2 上位機軟件設計 上位機是應用 VB 進行編寫的,它把下位機傳送上來是兩字節(jié)的十六進制數(shù)據(jù)進 行解碼顯示出來。 當點擊采集溫度時,上位機向下位機發(fā)送采集溫度命令字符“1” ,當下位機接受 到命令時,向上位機發(fā)送數(shù)據(jù)。 使用 VB6.0 編寫上位機程序,接收溫度數(shù)據(jù)并儲存在數(shù)據(jù)庫中;接收數(shù)據(jù)時,能 同步畫出溫度變化的曲線,系統(tǒng)可查詢歷史溫度信息。 具體在上下位機程序里面體現(xiàn)出來。下圖 2.8 為上位機工作流程圖。 長沙學院畢業(yè)設計 17 圖 2.8 上位機工作流程圖 數(shù)據(jù)采集實時顯示程序設計思路: 本程序使用 VB6.0 的通用串口控件 MSComm 來對發(fā)送到串口的數(shù)據(jù)進行采集處 理。VB6.0 的 MSComm 通信控件提供了一系列標準通信命令的接口,它允許建立串口 連接,可以連接到其他通信設備(如 Modem) 還可以發(fā)送命令、進行數(shù)據(jù)交換以及 監(jiān)視和響應在通信過程中可能發(fā)生的各種錯誤和事件,從而可以用它創(chuàng)建全雙工 、事 件驅(qū)動的、高效實用的通信程序。一般說來,計算機都有一個或多個串行端口,它們 依次為 Com1、Com2、,這些串口還提供了外部設備與 PC 進行數(shù)據(jù)傳輸和通信的 通道。這些串口在 CPU 和外設之間充當解釋器的角色。 基本屬性與描述如下: 屬性 描述 CommPort 設置或返回通信端口號 Settings 以字符串的形式設置或返回波特率、奇偶校驗、數(shù)據(jù)位和停止位 PortOpen 設置或返回通信端口的狀態(tài)。也可以打開和關(guān)閉端口 Input 返回和刪除接收緩沖區(qū)中的字符 長沙學院畢業(yè)設計 18 Output 將字符串寫入發(fā)送緩沖區(qū) CommEvent 屬性為通信事件或錯誤返回下列值之一,在該控件的對象庫中也可以 找到這些常量。 你只首先要確定一個 mscomm 控件在 system 目錄下并且該控件已經(jīng)被 windows 注 冊,程序才能正常運行。 有數(shù)據(jù)向串口發(fā)過來時,程序可以將數(shù)據(jù)接收到,接收的數(shù)據(jù)是字符型的,那么將數(shù)據(jù) 轉(zhuǎn)化為數(shù)字型的,再將這個數(shù)據(jù)的大小作為畫圖的某一個點的縱坐標,橫坐標為數(shù)據(jù)的序 號.將這些點用線連起來就是一個曲線圖了,這個就是圖形顯示基本原理。查看原來的數(shù) 據(jù)的原理也是這樣的,不同的地方就是,數(shù)據(jù)是從文件中來,同樣的也是將多個數(shù)據(jù)分成一 個一個的,然后這一個數(shù)據(jù)的大小就是畫圖的某一個點的縱坐標,橫坐標同樣為數(shù)據(jù)的序 號,再將這些點用線連起來就是曲線圖。圖形能移動的原理,是我們首先改變的只是數(shù)據(jù), 圖形并沒有變,但圖形的形式是由這些數(shù)據(jù)來確定的,當數(shù)據(jù)發(fā)生變化后,我們通過刷新顯 示區(qū)來變化的。VB 編寫的實時顯示界面如圖 2.9 所示,點擊查詢可查詢歷史溫度信息。 長沙學院畢業(yè)設計 19 圖 2.9 實時溫度曲線顯示及查詢圖 串口的波特率,串口號都采用下拉選擇的方式,在使用中可跟據(jù)情況選擇讀串口 數(shù)據(jù)的原理是,只要當有數(shù)據(jù)向串口發(fā)數(shù)據(jù)來時,計算機就會自動將其數(shù)據(jù)寫到一個特定 的緩沖區(qū),我們只要寫程序去讀那個特定的緩沖區(qū)就可以了。 此外為了保存和查詢歷史溫度數(shù)據(jù)還要在 VB 中設計建立連接到 Access 數(shù)據(jù)庫的 控件,Data 控件是 Visual Basic 6.0 中的一個內(nèi)置數(shù)據(jù)控件,可以通過設置 Data 控件 的 connect、DatabaseName、RecordSource 屬性實現(xiàn)對數(shù)據(jù)庫的連接和訪問。建立 的數(shù)據(jù)庫庫文件和 VB 中創(chuàng)建的工程文件必須放在放在同一目錄下5。 第第 3 章章 程序設計程序設計 3.1 下位機程序 下位機程序的編寫主要使用 C 語言進行編寫,可讀性要比匯編語言好很多。其中 包括 DS18B20 的測溫模塊,顯示模塊和串口通信模塊,當上位機向下位機發(fā)送讀溫度 指令時,單片機才會將所測得的數(shù)據(jù)傳給上位機。溫度采集系統(tǒng)的主程序設計如下: void main(void) 長沙學院畢業(yè)設計 20 uchar receive; init(); while(1) Read_Temperature(); if (flash=0) Disp_Temperature(); else P2 = 0 x00; if (RI) RI = 0; receive = SBUF; if (receive = s) send_char(); 主程序為一無限循環(huán),單片機不斷從 DS18B20 的數(shù)據(jù)口采集數(shù)據(jù)信號,用 flash 標志 DS18B20 是否正常,當 flash=1 時表示 DS18B20 不正常,就由軟件設置及時關(guān)閉 LED 顯示并由蜂鳴器報警。當一幀數(shù)據(jù)采集完畢即 RI 接受中斷標志位為 1,判斷下位 機是否接受到來自上位機的字符“1”對應的 ASC 碼 49 時接收到時才開始將采集到的 數(shù)據(jù)發(fā)送給上位機進行處理,RI 標志位必須由軟件清零。 在串口通信模塊中,baudrate 的在程序初始化時已經(jīng)定義為 9600b/s,晶振頻率也 已設定好。 波特率的產(chǎn)生用定時器產(chǎn)生,在設置時選擇定時器 1,并將它的設為工作方式 2,8 位的常數(shù)自動重新裝載的定時器,這種工作方式可以省去用戶軟件中重裝初值的 程序,簡化定時初值的計算方法,可以相當精確的確定定時時間。計算出定時器的初 長沙學院畢業(yè)設計 21 值之后,在設定串行口的工作方式,在這里令 SCON=0X50,即 SCON 各位中,SM0=0,SM1=1,REN=1,其他控制字為 0,選擇為工 作方式 1,8 位異步收發(fā)。令 TCON 中的 TR1=1,啟動定時器,并禁止其他中斷。程 序設計內(nèi)容如下所示: void init(void) EA = 1; TMOD = 0 x20; TH1=(unsigned char)(256 - (XTAL / (32L * 12L * baudrate); TL1=(unsigned char)(256 - (XTAL / (32L * 12L * baudrate); SCON = 0 x50; PCON TR1 = 1; IE = 0 x00; 此外,在顯示模塊中,小數(shù)位的轉(zhuǎn)化才用了一定的技巧,由于實際顯示中只要求 顯示一位小數(shù),而 DS18B20 每一位的轉(zhuǎn)化溫度為 0.0625LSB,當每一位變化時, 第一位小數(shù)只有 16 種狀態(tài),我們只需一一算出放在一個數(shù)組中,通過查表指令即可獲 取第一位小數(shù)的十進制值。由于每一位變化為 0.0625LSB,通過移位操作,即可獲 得一個新的關(guān)于溫度整數(shù)部分的數(shù)據(jù),部分設計顯示轉(zhuǎn)化程序如下: display4=temp_data0 display0=ditabdisplay4; display4=(temp_data0 temp_data1=!( temp_data1) temp_data0=!( temp_data0); temp_data0= temp_data0+1; if(temp_data0=0) temp_data1= temp_data1+1; Else flag_zf=0 其中 temp_data1 為溫度數(shù)據(jù)的高八位,temp_data0為溫度數(shù)據(jù)的低八位, flag_zf=1 表示溫度為負,進行相應轉(zhuǎn)化再執(zhí)行上面的顯示轉(zhuǎn)化程序,為正則直接執(zhí)行 顯示轉(zhuǎn)化程序里的內(nèi)容。 其他延時子程序以及 DS18B20 的讀寫子程序,可見附錄 1 的完整的 DS18B20 溫 度采集系統(tǒng)程序設計,在這里不做詳細介紹了。 3.2 上位機程序 在上位機 VB 程序的編寫中,最重要的是串口的初始化程序和接收觸發(fā)程序的設 計。本程序使用 VB6.0 的通用串口控件 MSComm 來對發(fā)送到串口的數(shù)據(jù)進行采集處 理。主要使用方法如下: 串口設置:MSComm.SetSettings(“波特率,校驗方式,數(shù)據(jù)位數(shù),停止位數(shù)”) 串口數(shù)據(jù):MSComm. InputMode(輸入模式設定) 其具體程序設計如下: 長沙學院畢業(yè)設計 23 Private Sub Form_Load() On Error GoTo err: MSComm1.CommPort = 1 MSComm1.InputMode = co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第14課智能物聯(lián)系統(tǒng)的軟件編寫 教學設計 2023-2024學年浙教版(2023)初中信息技術(shù) 八年級下冊
- Module 3 Unit 1 She didn't walk to school yesterday(教學設計)-2024-2025學年外研版(一起)英語四年級上冊
- 周口節(jié)能環(huán)保項目可行性分析報告
- 中心糧庫項目設備與設施配置
- 新型儲能產(chǎn)業(yè)投融資模式分析
- 高中信息技術(shù)粵教版選修1教學設計-3.2 程序調(diào)試的方法
- 12故宮博物院(教學設計)-2024-2025學年統(tǒng)編版語文六年級上冊
- 中國進口沙發(fā)行業(yè)市場發(fā)展現(xiàn)狀及前景趨勢與投資分析研究報告(2024-2029版)
- 公路景觀照明居間服務協(xié)議
- 2025年度老年公寓護理員綜合管理合同
- 中國氫內(nèi)燃機行業(yè)發(fā)展環(huán)境、市場運行格局及前景研究報告-智研咨詢(2024版)
- 開學季初三沖刺中考開學第一課為夢想加油課件
- 《自然保護區(qū)劃分》課件
- 2025年四川綿陽科技城新區(qū)投資控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 2025年人教版英語五年級下冊教學進度安排表
- 學校食堂餐廳管理者食堂安全考試題附答案
- 同等學力英語申碩考試詞匯(第六版大綱)電子版
- 2024義務教育道德與法治課程標準(2022版)
- 中日合同范本
- T-CARM 002-2023 康復醫(yī)院建設標準
- 《康復按摩知識》課件
評論
0/150
提交評論