chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

采用DS18B20和AT89C51設(shè)計(jì)高精度的多路溫度監(jiān)測(cè)系統(tǒng)與進(jìn)行仿真調(diào)試

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-11-29 08:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

在實(shí)時(shí)溫度監(jiān)控系統(tǒng)中,如大棚溫度監(jiān)控、冷庫(kù)測(cè)溫、智能建筑溫度控制等系統(tǒng)中,經(jīng)常需要進(jìn)行多路溫度的采集和檢測(cè)。快速、可靠地采集到高精度溫度數(shù)據(jù)可為控制系統(tǒng)的工作提供可靠的依據(jù)。傳統(tǒng)上,溫度測(cè)量方法多以熱敏電阻、熱電偶等為溫度敏感元件,但都存在可靠性差、精度低、需A/D轉(zhuǎn)換以及線(xiàn)路復(fù)雜等的缺點(diǎn)。

本文提出采用美國(guó)Dallas 公司生產(chǎn)的單總線(xiàn)數(shù)字溫度傳感器DS18B20和AT89C51單片機(jī)構(gòu)成高精度的多路溫度監(jiān)測(cè)系統(tǒng),在單片機(jī)的控制下巡回監(jiān)測(cè)多路溫度,高低溫度超限報(bào)警,并可實(shí)現(xiàn)與上位機(jī)通訊等功能。

1 DS18B20 簡(jiǎn)介

DSl8B20是Dallas公司推出的1-Wire式單總線(xiàn)智能數(shù)字溫度傳感器。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測(cè)溫度,溫度測(cè)量范圍為-55~125 ℃;可通過(guò)編程實(shí)現(xiàn)9~12位的轉(zhuǎn)換精度,對(duì)應(yīng)的可分辨溫度分別為0.5 ℃,0.25 ℃,0.125 ℃和0.062 5 ℃,可滿(mǎn)足高精度設(shè)計(jì)要求;在9位分辨率時(shí)最多在93.75 ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750 ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字;電源供電范圍3.0~5.5 V;讀取或?qū)懭胄畔⒌紻S18B20僅需要單總線(xiàn)接口(即將地址線(xiàn)、數(shù)據(jù)線(xiàn)、控制線(xiàn)合成一條信號(hào)線(xiàn));測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),串行傳送給CPU 同時(shí)可傳送CRC 校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力;使用DS18B20可使系統(tǒng)結(jié)構(gòu)簡(jiǎn)潔,可靠性更高。以上特性使得DSl8B20 非常適用于構(gòu)建高精度的多路溫度采集與檢測(cè)系統(tǒng)。

2 硬件電路設(shè)計(jì)

系統(tǒng)原理框圖如圖1 所示,系統(tǒng)由多片DS18B20、AT89C51單片機(jī)、LED 驅(qū)動(dòng)顯示電路、溫度上下限設(shè)定電路、報(bào)警提示電路、串行通信接口時(shí)鐘電路、復(fù)位電路等構(gòu)成。

采用DS18B20和AT89C51設(shè)計(jì)高精度的多路溫度監(jiān)測(cè)系統(tǒng)與進(jìn)行仿真調(diào)試

系統(tǒng)采用8 片DS18B20 構(gòu)成溫度采集電路,8 片DS18B20采用單總線(xiàn)與并行輸入相結(jié)合的方式接至單片機(jī)的P1口。單片機(jī)巡回采集各路DS18B20送來(lái)的溫度信息后,通過(guò)軟件設(shè)計(jì)算法,將處理后的溫度信息及相應(yīng)的溫度路數(shù)通過(guò)LED 數(shù)碼管顯示出來(lái),各路溫度值的上下限可通過(guò)P3.2~P3.4獨(dú)立式鍵盤(pán)進(jìn)行設(shè)定。若某路超過(guò)溫度設(shè)定的上下限將進(jìn)行通過(guò)P3.5或P3.6進(jìn)行報(bào)警提示。此外,可通過(guò)串行口RS 232 模塊將各路溫度數(shù)據(jù)送上位機(jī)處理。系統(tǒng)采用Proteus仿真軟件設(shè)計(jì)的仿真電路如圖2所示,此時(shí)LED顯示的是第3路溫度值。

2.1 測(cè)溫電路設(shè)計(jì)

采用8 片DS18B20 組成多路測(cè)溫電路。DS18B20內(nèi)部均有一個(gè)全球惟一的64位產(chǎn)品序列號(hào),單片機(jī)通過(guò)序列號(hào)可對(duì)一條總線(xiàn)上的多路DS18B20進(jìn)行控制,讀取其溫度。但DS18B20僅由單總線(xiàn)采集多路溫度數(shù)據(jù)時(shí),軟件設(shè)計(jì)算法復(fù)雜,讀取速度慢,無(wú)法適用于實(shí)時(shí)性要求高的測(cè)溫場(chǎng)合。特別是當(dāng)單總線(xiàn)上掛接的DS18B20傳感器個(gè)數(shù)大于8個(gè)時(shí),采用寄生電源供電方式亦存在總線(xiàn)驅(qū)動(dòng)能力不足等問(wèn)題[3].為此,本設(shè)計(jì)采用“單總線(xiàn)結(jié)構(gòu)+并行I/O 口輸入”相結(jié)合的方式,實(shí)時(shí)巡回采集多路DS18B20的溫度信息。具體做法是:硬件上將8片DS18B20的單總線(xiàn)分別連到單片機(jī)的并行P1口引腳,同時(shí)各片DS18B20的電源端采用外部電源供電方式,且每個(gè)單總線(xiàn)另接一個(gè)4.7 kΩ的上拉電阻到5 V電源以保證達(dá)到足夠的工作電流;軟件上讀取多路溫度與讀取單路溫度的操作類(lèi)似,不需讀取讀出所用DS18B20的序列號(hào),而只需通過(guò)參數(shù)傳遞來(lái)循環(huán)讀取各路溫度數(shù)據(jù)(軟件設(shè)計(jì)中介紹)。

2.2 鍵盤(pán)與LED顯示電路設(shè)計(jì)

LED顯示電路設(shè)計(jì):P0口輸出顯示代碼經(jīng)74LS245驅(qū)動(dòng)后接到8 位LED 數(shù)碼管的段選線(xiàn),P2 口輸出接到LED的位選線(xiàn)。正常情況下,8位LED數(shù)碼管用于循環(huán)顯示通道號(hào)及該通道的溫度值。

鍵盤(pán)輸入設(shè)計(jì):采用獨(dú)立式鍵盤(pán)P3.2~P3.4用來(lái)修改溫度報(bào)警的上限與下限值。系統(tǒng)默認(rèn)的溫度報(bào)警上限為50 ℃,下限為-10 ℃。系統(tǒng)上電后,LED數(shù)碼管將先后顯示溫度報(bào)警上/下限值。若按P3.2 鍵報(bào)警值加1;若按P3.3鍵報(bào)警值減1;P3.4為確定鍵,用于保存修改值。

此外,當(dāng)系統(tǒng)檢測(cè)到當(dāng)前通道溫度值超過(guò)設(shè)定的上、下限時(shí),將通過(guò)P3.6,P3.7進(jìn)行閃光報(bào)警提示。

2.3 串行通信設(shè)計(jì)

檢測(cè)系統(tǒng)可通過(guò)串行口與上位機(jī)進(jìn)行通信,向上位機(jī)傳送溫度值及相應(yīng)的通道號(hào)。實(shí)物中通過(guò)RS 232串行接口與上位機(jī)連接,上位機(jī)的控制界面由VB 6.0 編寫(xiě)。當(dāng)運(yùn)行Proteus軟件時(shí),可以從虛擬終端看到上位機(jī)接收到的8個(gè)通道的溫度數(shù)據(jù)及相應(yīng)的通道號(hào)。

3 軟件設(shè)計(jì)

3.1 軟件總體設(shè)計(jì)

如圖3所示。

采用DS18B20和AT89C51設(shè)計(jì)高精度的多路溫度監(jiān)測(cè)系統(tǒng)與進(jìn)行仿真調(diào)試

系統(tǒng)上電復(fù)位后,程序主要包括:

(1)系統(tǒng)初始化設(shè)置。

(2)按鍵處理子程序:LED 數(shù)碼管顯示上限報(bào)警溫度值并閃爍,若10 s中之內(nèi)有按鍵輸入修改溫度值,則進(jìn)行鍵盤(pán)操作直至修改完成,并保存溫度上限值;若10 s之內(nèi)無(wú)按鍵輸入或按P3.4“確定”鍵,則保存上限溫度;接著顯示下限報(bào)警溫度值并閃爍,重復(fù)上述操作后保存下限報(bào)警溫度值。

(3)溫度報(bào)警值設(shè)置子程序:實(shí)現(xiàn)將8 路的報(bào)警溫度寫(xiě)入DS18B20中,流程圖詳見(jiàn)圖4所示。

(4)讀取溫度子程序:在對(duì)顯示路數(shù)初始化后,進(jìn)行溫度值讀取,這是軟件設(shè)計(jì)的關(guān)鍵,下面將單獨(dú)介紹。

(5)溫度報(bào)警處理:讀取某路DS18B20溫度值及報(bào)警上下限值后,進(jìn)行比較,若超出范圍則啟動(dòng)定時(shí)器0,驅(qū)動(dòng)上/下限報(bào)警提示單元。

(6)顯示當(dāng)前通道溫度子程序:取得當(dāng)前通道號(hào)后,根據(jù)讀取的2 字節(jié)溫度值(溫度暫存器格式參考DS18B20技術(shù)手冊(cè)),判斷其符號(hào)位并分別讀取其整數(shù)部分和小數(shù)部分,通過(guò)運(yùn)算后保存到顯示緩沖區(qū),進(jìn)行動(dòng)態(tài)顯示,并刷新顯示若干時(shí)間。

(7)上位機(jī)通信子程序:每采集一路溫度數(shù)據(jù),通過(guò)RS 232 串口,將其通道號(hào)、溫度值發(fā)送給上位機(jī),完成相應(yīng)通道的溫度數(shù)據(jù)采集處理。

(8)循環(huán)修改:修改通道號(hào),進(jìn)行下一路溫度數(shù)據(jù)采集,直至8路溫度處理完成,如此循環(huán)往復(fù)。

3.2 讀取溫度子程序設(shè)計(jì)

采用DS18B20進(jìn)行單路測(cè)量時(shí),可直接與單片機(jī)相連,不需讀取讀出器件的64 位產(chǎn)品序列號(hào)。當(dāng)采用DS18B20進(jìn)行多路測(cè)溫時(shí),在初始化操作后,通常的做法是需要在線(xiàn)逐個(gè)地搜索64 位ROM 編碼以確認(rèn)各個(gè)DS18B20所在位置,并需對(duì)ROM編碼進(jìn)行冗余校驗(yàn),算法設(shè)計(jì)復(fù)雜。且等待多路搜索是否完成需要消耗大量的時(shí)間,使程序執(zhí)行的效率和系統(tǒng)實(shí)時(shí)性受到了影響。

本設(shè)計(jì)采用“單總線(xiàn)結(jié)構(gòu)+并行I/O口輸入”結(jié)合的方式巡回讀取多路溫度。DS18B20作為單總線(xiàn)芯片,進(jìn)行信息交換時(shí)有嚴(yán)格的讀/寫(xiě)時(shí)序要求。讀取溫度子程序流程如圖5所示。首先通過(guò)參數(shù)傳遞將通道號(hào)傳給讀取溫度子程序,接著對(duì)DS18B20進(jìn)行初始化,然后直接執(zhí)行跳過(guò)ROM命令(CCH),即不讀取64位ROM編碼而直接向DS18B20發(fā)出功能命令,節(jié)約了時(shí)間。之后,再向DS18B20發(fā)送溫度轉(zhuǎn)換命令(44H),DS18B20啟動(dòng)溫度采樣與A/D 轉(zhuǎn)換,并將轉(zhuǎn)換數(shù)據(jù)存儲(chǔ)在暫存器中。

然后再次初始化DS18B20,并在再一次跳過(guò)ROM 命令后,執(zhí)行單片機(jī)讀暫存器命令(BEH),根據(jù)傳遞參數(shù)確定的通道號(hào),可將通道號(hào)對(duì)應(yīng)的DS18B20高速暫存存儲(chǔ)器的9個(gè)字節(jié)數(shù)據(jù)讀入單片機(jī)中,其中第0,1字節(jié)分別是溫度值低位(LS byte)和高位(MS byte),第2,3 字節(jié)分別是高溫限值(TH)和低溫限值(TL),從而完成某通道DS18B20的溫度采集。

3.3 軟件設(shè)計(jì)流程

軟件設(shè)計(jì)流程如圖4,圖5所示。

采用DS18B20和AT89C51設(shè)計(jì)高精度的多路溫度監(jiān)測(cè)系統(tǒng)與進(jìn)行仿真調(diào)試

4 Keil C51 與Proteus 聯(lián)合仿真

軟件采用C語(yǔ)言編程,在Keil C51集成開(kāi)發(fā)環(huán)境下將編寫(xiě)的程序進(jìn)行編譯、調(diào)試[6],并生成目標(biāo)文件(XX.hex)。

同時(shí)利用嵌入式仿真軟件Proteus繪制出電路仿真原理圖,CPU 選擇AT89C51.雙擊AT89C51,在出現(xiàn)的對(duì)話(huà)框中的“Program file”加入已生成的XX.hex文件,并進(jìn)行仿真調(diào)試,調(diào)試成功則可以修改溫度報(bào)警值,及在正常運(yùn)行時(shí)看到循環(huán)顯示所采集到的溫度值、通道號(hào),仿真效果圖如圖6所示。

5 結(jié)語(yǔ)

本設(shè)計(jì)以Proteus 仿真軟件作為開(kāi)發(fā)工具,以AT89C51單片機(jī)作為控制核心,使用DS18B20芯片作為溫度傳感器,加上適當(dāng)?shù)耐鈬娐?,組成了多路溫度巡回監(jiān)測(cè)系統(tǒng)。與傳統(tǒng)溫度傳感器相比,可直接輸出數(shù)字信號(hào)而不必考慮A/D轉(zhuǎn)換問(wèn)題,抗干擾能力與可靠性大大提升。同時(shí),采用單總線(xiàn)與多路并行輸入相結(jié)合的方法,克服了DS18B20傳統(tǒng)上采用單總線(xiàn)結(jié)構(gòu)時(shí)所存在的問(wèn)題,實(shí)現(xiàn)多路溫度實(shí)時(shí)讀取、巡回監(jiān)測(cè)、與上位機(jī)通信等功能,且系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)潔、精度高、適應(yīng)性強(qiáng)、維護(hù)方便等優(yōu)點(diǎn),在多路溫度采集與監(jiān)測(cè)領(lǐng)域中有很好的實(shí)用價(jià)值。

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

    關(guān)注

    6075

    文章

    45466

    瀏覽量

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

    關(guān)注

    48

    文章

    3130

    瀏覽量

    162874
  • 測(cè)試系統(tǒng)
    +關(guān)注

    關(guān)注

    6

    文章

    919

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    at89c51ds18b20,數(shù)碼管的溫度控制

    at89c51,ds18b20,數(shù)碼管的溫度控制。實(shí)現(xiàn)溫度控制與報(bào)警
    發(fā)表于 05-09 00:42

    基于AT89C51DS18B20的最簡(jiǎn)溫度測(cè)量系統(tǒng)

    與單片機(jī)溝通,完成溫度采集和數(shù)據(jù)處理。DS18B20AT89C51結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)
    發(fā)表于 10-25 17:11

    DS18B20溫度檢測(cè)系統(tǒng)中的應(yīng)用

    主程序流程圖    程序開(kāi)始先進(jìn)行初始化,對(duì)系統(tǒng)進(jìn)行復(fù)位操作,然后發(fā)送檢波信號(hào),若系統(tǒng)檢測(cè)到采樣信號(hào),則AT89C51單片機(jī)的P3.7口接
    發(fā)表于 11-06 15:09

    基于單總線(xiàn)數(shù)字溫度傳感器DS18B20的測(cè)溫系統(tǒng)方案

    個(gè)字節(jié)的存儲(chǔ)單元,高字節(jié)保存的值左移8位與低字節(jié)相加,便得DS18B20溫度轉(zhuǎn)換結(jié)果,讀取溫度轉(zhuǎn)換值函數(shù)如下:  4 系統(tǒng)調(diào)試與運(yùn)行結(jié)果  
    發(fā)表于 11-06 15:18

    基于AT89S51單片機(jī)和數(shù)字溫度傳感器DS18B20組成的多路溫度檢測(cè)系統(tǒng)

    AT89S51單片機(jī)作為控制器,可靠性高、體積小、價(jià)格低廉;采用DS18B20作為多路溫度采集的傳感器,電路簡(jiǎn)單、測(cè)量
    發(fā)表于 04-28 07:36

    基于AT89C51DS18B20的智能溫度表課程設(shè)計(jì)資料分享

    本設(shè)計(jì)選用AT89C51作為整個(gè)控制系統(tǒng)的核心部分,通過(guò)DS18B20采集溫度,通過(guò)三個(gè)按鍵:模式切換鍵、加鍵和減鍵。模式切換鍵可以切換正常顯示,上限
    發(fā)表于 01-13 08:25

    DS18B20溫度顯示報(bào)警控制設(shè)計(jì)

    本文設(shè)計(jì)了一種基于AT89C51 單片機(jī)與DS18B20溫度控制系統(tǒng)。該設(shè)計(jì)通過(guò)AT89S52 單片機(jī)驅(qū)動(dòng)數(shù)字
    發(fā)表于 12-17 00:24 ?698次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>顯示報(bào)警控制設(shè)計(jì)

    DS18B20簡(jiǎn)介及其多路溫度監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)

    DS18B20采用單總線(xiàn)結(jié)構(gòu)時(shí)溫度數(shù)據(jù)讀取慢、單總線(xiàn)驅(qū)動(dòng)能力不足的問(wèn)題,實(shí)現(xiàn)了多路溫度實(shí)時(shí)快速讀取和巡回
    發(fā)表于 11-29 11:14 ?13次下載
    <b class='flag-5'>DS18B20</b>簡(jiǎn)介及其<b class='flag-5'>多路</b><b class='flag-5'>溫度</b><b class='flag-5'>監(jiān)測(cè)</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)

    DS18B20溫控系統(tǒng)的合集包括:芯片介紹,設(shè)計(jì)資料,原理圖和程序的概述

    基于DS18B20的溫控系統(tǒng)的設(shè)計(jì)采用DS18B20芯片和四位共陽(yáng)極LED數(shù)碼管,還有主控芯片AT89C51。通過(guò)
    發(fā)表于 06-19 08:00 ?30次下載
    <b class='flag-5'>DS18B20</b>溫控<b class='flag-5'>系統(tǒng)</b>的合集包括:芯片介紹,設(shè)計(jì)資料,原理圖和程序的概述

    單片機(jī)測(cè)溫系統(tǒng)AT89C51DS18B20溫度傳感器、LCD1602)

    單片機(jī)測(cè)溫系統(tǒng)一、簡(jiǎn)介此系統(tǒng)主要由AT89C51DS18B20溫度模塊和LCD1602組成。大致的原理是
    發(fā)表于 11-20 14:36 ?25次下載
    單片機(jī)測(cè)溫<b class='flag-5'>系統(tǒng)</b>(<b class='flag-5'>AT89C51</b>、<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器、LCD1602)

    51單片機(jī)多路測(cè)溫報(bào)警系統(tǒng)AT89C51、多個(gè)DS18B20、LCD1602)

    51單片機(jī)多路測(cè)溫報(bào)警系統(tǒng)AT89C51、多個(gè)DS18B20、LCD1602)一、簡(jiǎn)介** 此系統(tǒng)
    發(fā)表于 11-21 11:06 ?19次下載
    <b class='flag-5'>51</b>單片機(jī)<b class='flag-5'>多路</b>測(cè)溫報(bào)警<b class='flag-5'>系統(tǒng)</b>(<b class='flag-5'>AT89C51</b>、多個(gè)<b class='flag-5'>DS18B20</b>、LCD1602)

    51單片機(jī)使用LCD1602顯示DS18B20溫度傳感器溫度

    的可以留言,看到回復(fù))需要的元件:??AT89C51、LCD1602、DS18B20。電路原理圖:主函數(shù)代碼:#include <reg52.h>#include<DS18...
    發(fā)表于 11-23 17:21 ?68次下載
    <b class='flag-5'>51</b>單片機(jī)使用LCD1602顯示<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器<b class='flag-5'>溫度</b>

    基于AT89C51單片機(jī)用1602LCD與DS18B20設(shè)計(jì)的溫度報(bào)警器

    基于AT89C51單片機(jī)用1602LCD與DS18B20設(shè)計(jì)的溫度報(bào)警器Proteus仿真及程序
    發(fā)表于 05-05 10:00 ?11次下載

    基于AT89C51單片機(jī)用數(shù)碼管與DS18B20設(shè)計(jì)溫度報(bào)警器

    基于AT89C51單片機(jī)用數(shù)碼管與DS18B20設(shè)計(jì)溫度報(bào)警器Proteus仿真及程序
    發(fā)表于 05-04 15:31 ?37次下載

    基于51單片機(jī)DS18B20溫度測(cè)量仿真設(shè)計(jì)

    運(yùn)用所學(xué)單片機(jī)知識(shí),完成溫度信號(hào)的測(cè)量。要求如下:?jiǎn)纹瑱C(jī)系統(tǒng)選擇使用AT89C51,溫度傳感器采用DS1
    的頭像 發(fā)表于 10-22 17:47 ?2787次閱讀
    基于<b class='flag-5'>51</b>單片機(jī)<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>測(cè)量<b class='flag-5'>仿真</b>設(shè)計(jì)