一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STC89C52單片機(jī)和DS18B20溫度傳感器實現(xiàn)溫度采集系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:電子設(shè)計工程 ? 作者:沈斌,楊秀清,占文 ? 2020-08-25 09:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著現(xiàn)代信息技術(shù)的高速發(fā)展,數(shù)據(jù)采集方面的技術(shù)也在不斷地向前發(fā)展,并在信息技術(shù)中占有重要地位,是否及時準(zhǔn)確采集數(shù)據(jù)以及數(shù)據(jù)是何方式采集都成為關(guān)注的焦點。隨著嵌入式技術(shù)的不斷發(fā)展,各種數(shù)據(jù)采集系統(tǒng)不斷應(yīng)用于各個領(lǐng)域。溫度采集在智能家居、工業(yè)控制智能農(nóng)業(yè)等方面都應(yīng)用。本溫度采集系統(tǒng)下位機(jī)采用STC89C52單片機(jī)為主控制器,采用DS18B20溫度傳感器采集溫度,上位機(jī)使用VB編寫程序,通過串口采集數(shù)據(jù),存入Access數(shù)據(jù)庫,并實時在界面上顯示溫度變化曲線。

1 系統(tǒng)的整體設(shè)計

本溫度采集系統(tǒng)的總體框圖如圖1所示,系統(tǒng)下位機(jī)即單片機(jī)系統(tǒng)采用的是現(xiàn)成的開發(fā)板,開發(fā)板上自帶了DS18B20的溫度傳感器,開發(fā)板也自帶了能夠維持單片機(jī)正常工作的外圍電路;上位機(jī)用的Microsoft Visual Basic 6.0中文版集成開發(fā)環(huán)境和Microsoft Office Access 2003數(shù)據(jù)庫開發(fā)軟件。

基于STC89C52單片機(jī)和DS18B20溫度傳感器實現(xiàn)溫度采集系統(tǒng)的設(shè)計

2 上位機(jī)的設(shè)計與實現(xiàn)

上位機(jī)設(shè)計的主要重難點在于串口從下位機(jī)接收到數(shù)據(jù)和把數(shù)據(jù)送到數(shù)據(jù)庫里并把數(shù)據(jù)實時用曲線顯示出來。上位機(jī)總體設(shè)計流程圖如圖2所示。

從串口接收數(shù)據(jù)主要采用Mscomm32.ocx控件,在Microsoft Visual Basic 6.0中添加該控件,需要設(shè)置COM口(可修改)、波特率(9600)、數(shù)據(jù)位(8)、停止位(1)、校驗位(0)等,通過OnComm()事件驅(qū)動方式接收數(shù)據(jù)。

數(shù)據(jù)庫采用的是Microsoft Office Access 2003,先要建立數(shù)據(jù)庫,建立的數(shù)據(jù)庫如圖3所示,有4個字段,分別是編號、溫度、采集日期、采集時間,數(shù)據(jù)類型對應(yīng)的為自動編號、數(shù)字、文本、文本。

在Microsoft Visual Basic 6.0中編程對數(shù)據(jù)庫Access進(jìn)行操作,首先連接數(shù)據(jù)源,然后打開數(shù)據(jù)庫并設(shè)置相應(yīng)的數(shù)據(jù)操作,接著更新數(shù)據(jù)庫,最后關(guān)閉數(shù)據(jù)庫,在實際的操作中通過控件Adodc與控件Datagrid連接,以實現(xiàn)數(shù)據(jù)源與界面顯示相聯(lián)系。

2.1 主要設(shè)計步驟

1)先在VB開發(fā)環(huán)境下新建一個EXE工程,然后再在窗體上安放一些必須的控件,如按鈕(Command)控件、文本框(Textbox)等;

2)在添加部件里添加Microsoft conmm control 6.0、Microsoft datagrid control 6.0和Microsoft ADO data control 6.0在這3個控件;

3)在數(shù)據(jù)庫軟件中新建數(shù)據(jù)庫,并新建一個表temp;

4)連接數(shù)據(jù)庫Access,并測試是否連接成功;

5)通過Adodc與Datagrid連接起來,實現(xiàn)數(shù)據(jù)源與界面顯示聯(lián)系起來;

6)通過Command按鈕與數(shù)據(jù)庫的查找、刪除、修改和添加聯(lián)系起來,能夠?qū)崿F(xiàn)相應(yīng)的功能;

7)通過picturebox控件實現(xiàn)繪圖的功能;

8)使串口數(shù)據(jù)與數(shù)據(jù)庫和picturebox控件連接起來。

2.2 上位機(jī)程序設(shè)計(程序段)

2.2.1 串口處理程序

2.2.2 將數(shù)據(jù)寫到數(shù)據(jù)庫中

3 下位機(jī)的設(shè)計與實現(xiàn)

3.1 下位機(jī)硬件以及原理

溫度采集系統(tǒng)下位機(jī)采用STC89C52單片機(jī)為主控制器,采用DS18B20溫度傳感器采集溫度,硬件電路圖如圖4所示。

STC89C52單片機(jī)具有:

1)它是MCS-51系列單片機(jī)的派生產(chǎn)品,在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052單片機(jī)完全兼容,DIP40封裝系列與8051兼容均為Pin-to-Pin,使用時容易掌握;

2)高速(最高時鐘頻率90 MHz)、低功耗、價格低、穩(wěn)定可靠、應(yīng)用廣泛、通用性強(qiáng),在系統(tǒng)/在應(yīng)用可編程(ISP,IAP),不占用戶資源。本系統(tǒng)利用STC89C52單片機(jī)的1個中斷,2個定時器以及P0~P3 4個端口。采用外部11.059 2 MHz晶振,并使用30 pF的電容接地,以提高系統(tǒng)的穩(wěn)定性和可靠性。

DS18B20具有:1)只要求一個I/O口即可實現(xiàn)通信;2)在DS18B20中的每個器件上都有獨一無二的序列號;3)實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫;4)測量溫度范圍在-55~125℃之間;5)數(shù)字溫度計的分辨率用戶可以從9位到12位選擇;6)內(nèi)部有溫度上、下限告警設(shè)置。

DS18B20的使用方法:DS18B20采用的是1—Wire總線協(xié)議方式,而對單片機(jī)STC89C52來說,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。

3.2 軟件設(shè)計

軟件設(shè)計重點是把溫度采集回來并正確的采集回來的溫度通過串口發(fā)送出去,軟件設(shè)計流程圖如圖5所示。

軟件開始初始化各種端口以及定時器、串口等,在判斷是否有中斷產(chǎn)生,如果接收到X,則開始發(fā)送數(shù)據(jù),如果接收到字符S,則停止發(fā)送數(shù)據(jù),否則判斷是否到達(dá)0.5 s的間隔,如果達(dá)到,開始采集溫度并將數(shù)據(jù)發(fā)送出去,否則繼續(xù)判斷是否有中斷產(chǎn)生。

4 測試結(jié)果

圖6為本溫度采集系統(tǒng)的實際運(yùn)行的效果圖。

5 結(jié)論與前景

本溫度采集系統(tǒng)通過單片機(jī)能夠采集到DS18B20溫度傳感器采集到的數(shù)據(jù),并用串口實時的傳送到上位機(jī);上位機(jī)有實時接收數(shù)據(jù)的能力,并將實時接收到的數(shù)據(jù)存入Access數(shù)據(jù)庫里;能夠?qū)崟r地把溫度曲線顯示到界面上;數(shù)據(jù)庫具有編號、日期、時間以及溫度4個屬性;數(shù)據(jù)庫具有查找、修改、刪除、添加以及查找首記錄、下一條記錄、上一條記錄和末記錄的功能;能夠記錄開始時間、結(jié)束時間和時間差;顯示當(dāng)前時間和日期。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44964

    瀏覽量

    649030
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    3035

    瀏覽量

    158651
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17057

    瀏覽量

    183631
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    STC89C52+DS18B20實現(xiàn)環(huán)境溫度檢測(數(shù)碼管顯示溫度)

    本項目選擇STC89C52單片機(jī)DS18B20數(shù)字溫度傳感器,通過讀取傳感器輸出的
    的頭像 發(fā)表于 06-05 09:26 ?4569次閱讀
    <b class='flag-5'>STC89C52+DS18B20</b><b class='flag-5'>實現(xiàn)</b>環(huán)境<b class='flag-5'>溫度</b>檢測(數(shù)碼管顯示<b class='flag-5'>溫度</b>)

    采用DS18B20溫度傳感器測溫并用數(shù)碼管實時顯示

    系統(tǒng)STC89C52單片機(jī)+DS18B20溫度傳感器+數(shù)碼管+風(fēng)扇+按鍵+電源構(gòu)成。具體功能:
    發(fā)表于 09-08 06:18

    STC89C52單片機(jī)+DS18B20溫度傳感器實現(xiàn)溫度控制恒溫箱設(shè)計

    STC89C52單片機(jī)+DS18B20溫度傳感器+LCD1602液晶顯示屏+5V繼電器+5V風(fēng)扇+加熱膜+按鍵+蜂鳴器+電源構(gòu)成具體功能:
    發(fā)表于 11-10 08:59

    如何制作一個基于STC89C52單片機(jī)溫度采集系統(tǒng)

    DS18B20無線測溫所做的工作主要包括:1.利用DS18B20 溫度傳感器采集溫度;2.制作一
    發(fā)表于 12-02 08:48

    怎樣通過STC89C52單片機(jī)溫度芯片DS18B20通信

    主要是通過STC89C52單片機(jī)溫度芯片DS18B20通信,讓LCD1602來顯示溫度,其電路原理圖如下:注意:
    發(fā)表于 12-07 07:22

    基于PC機(jī)DS18B20溫度采集系統(tǒng)

    本文簡要介紹了溫度傳感器DS18B20 的特性及工作原理,給出了DS18B20單片機(jī)、單片機(jī)
    發(fā)表于 09-10 16:20 ?161次下載

    基于DS18B20與JHD12232D的智能溫度測控設(shè)計

    基于STC單片機(jī)的智能溫度測控系統(tǒng),是以STC89C51單片機(jī)為控制
    發(fā)表于 08-15 10:02 ?139次下載
    基于<b class='flag-5'>DS18B20</b>與JHD12232D的智能<b class='flag-5'>溫度</b>測控<b class='flag-5'>器</b>設(shè)計

    DS18B20溫度顯示報警控制設(shè)計

    本文設(shè)計了一種基于AT89C51 單片機(jī)DS18B20溫度控制系統(tǒng)。該設(shè)計通過AT89S52
    發(fā)表于 12-17 00:24 ?696次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>顯示報警控制設(shè)計

    DS18B20溫度測試實驗

    基于單片機(jī)STC89C52DS18B20數(shù)字溫度計,測量實時溫度。
    發(fā)表于 12-31 14:36 ?10次下載

    基于STC89C52_ds18B20_DS1302的C語言程序

    溫度計時,基于STC89C52 ds18B20 DS1302的C語言程序
    發(fā)表于 06-21 16:27 ?39次下載

    使用單片機(jī)DS18B20單線數(shù)字溫度傳感器設(shè)計溫度采集和無線傳輸系統(tǒng)

    單片機(jī)屬于一種微控制,在很多領(lǐng)域都有廣泛的應(yīng)用。根據(jù)地震前兆水溫觀測的實際工作需要,設(shè)計了一種基于單片機(jī)溫度采集與無線傳輸
    發(fā)表于 08-31 17:42 ?17次下載
    使用<b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>DS18B20</b>單線數(shù)字<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>設(shè)計<b class='flag-5'>溫度</b><b class='flag-5'>采集</b>和無線傳輸<b class='flag-5'>系統(tǒng)</b>

    單片機(jī)】輝光管時鐘系列<四>溫度芯片DS18B20顯示

    主要是通過STC89C52單片機(jī)溫度芯片DS18B20通信,讓LCD1602來顯示溫度,其電路原理圖如下: 注意:
    發(fā)表于 11-24 20:36 ?10次下載
    【<b class='flag-5'>單片機(jī)</b>】輝光管時鐘系列<四><b class='flag-5'>溫度</b>芯片<b class='flag-5'>DS18B20</b>顯示

    DS18B20溫度傳感器的數(shù)字溫度計設(shè)計案例

    本設(shè)計采用的主控芯片是ATMEL公司的AT89S52單片機(jī),數(shù)字溫度傳感器是DALLAS公司的DS18B20。本設(shè)計用數(shù)字
    發(fā)表于 05-09 16:02 ?84次下載

    基于51單片機(jī)DS18B20溫度傳感器例程源代碼

    基于51單片機(jī)DS18B20溫度傳感器例程源代碼
    發(fā)表于 05-12 16:12 ?8次下載

    基于51單片機(jī)DS18B20溫度傳感器例程源代碼

    基于51單片機(jī)DS18B20溫度傳感器例程源代碼
    發(fā)表于 05-18 09:56 ?12次下載