貴州師范大學 陳芳芳 蒲定紅 劉萬松
實時溫度檢測顯示與報警系統(tǒng)
貴州師范大學 陳芳芳 蒲定紅 劉萬松
基于STC89C516RD+單片機和DS18B20數字溫度傳感器的溫度測量及報警系統(tǒng)的設計,主要闡述了硬件電路的原理和軟件設計方法,設計的系統(tǒng)能實現溫度采集、顯示、報警等功能。
STC89C516RD+單片機;DS18B20;報警系統(tǒng)
基于STC89C516RD+單片機和DS18B20數字溫度傳感器的溫度測量及報警系統(tǒng)的主要構成是利用STC89C516RD+單片機作為核心控制部件,DS18B20溫度傳感器為溫度采集模塊,DS18B20測量范圍為-55℃~+125℃,精度為±0.5℃,顯示器采用六位七段數碼管進行實時溫度顯示。系統(tǒng)能實現溫度采集、實時顯示,還可以通過按鍵設置溫度報警上限值及下限值,當溫度超過設置范圍時,蜂鳴器報警,LED燈閃爍。
1.1 系統(tǒng)功能要求
根據實際需要,本系統(tǒng)設計有如下幾個功能:(1)實時溫度采集;(2)顯示溫度;(3)串行傳送數據;(4)溫度超限報警;(5)可擴展,形成多點溫度采集系統(tǒng),具有遠程監(jiān)控等功能。
1.2 系統(tǒng)結構框圖及模塊功能
系統(tǒng)設計與STC89C516RD+單片機為核心,包括時鐘模塊、按鍵模塊、溫度采集模塊、溫度顯示模塊、報警模塊的等。系統(tǒng)功能結構框圖如圖1所示:
圖1 系統(tǒng)功能結構框圖
STC89C516RD+單片機:STC89C51RD+單片機是宏晶科技推出的新一代超強抗干擾、高速、低功耗的單片機,指令碼完全兼容傳統(tǒng)8051單片機,是系統(tǒng)的核心部件,控制各模塊有序地工作。
時鐘模塊:用于產生單片機工作所需的時鐘信號。
按鍵模塊:按鍵模塊采用的是輕觸獨立按鍵設計,有三個按鍵,分別實現的功能是溫度的調大和調小以及復位。
溫度采集模塊和微處理器:溫度采集采用的是DS18B20溫度傳感器,系統(tǒng)上電后,STC89C516RD+單片機驅動溫度傳感器DS18B20工作,進行溫度數據采集、傳輸。
溫度顯示模塊:STC89C516RD+單片機在接收到溫度傳感器DS18B20傳送過來的溫度數據后,進行處理,將實時溫度發(fā)送到數碼管顯示出來。
蜂鳴器報警模塊:報警模塊是蜂鳴器,當所采集的溫度超過所設置的上限值或者低于所設置的下限值時,指示燈閃爍,蜂鳴器就會報警,發(fā)出聲音。
指示燈模塊:三個獨立按鍵,每個按鍵對應一個LED指示燈,當系統(tǒng)上電后,當調節(jié)溫度的上下限值時,指示燈會亮。若指示燈的光出現閃爍狀態(tài),表示溫度超過設置的初始值,這時蜂鳴器就會報警。
系統(tǒng)主控芯片采用STC89C516RD+,外接模塊有DS18B20、獨立鍵盤、音頻放大器及六位數碼管等,以下是系統(tǒng)各個電路模塊的具體設計。
2.1 系統(tǒng)電路原理圖
系統(tǒng)電路原理圖如圖2所示:
圖2 系統(tǒng)電路原理圖
2.2 溫度采集與顯示
溫度采集與顯示電路圖如圖3所示:
圖3 溫度采集與顯示
溫度采集采用的是DS18B20溫度傳感器,系統(tǒng)上電后,STC-89C516RD+單片機驅動溫度傳感器DS18B20工作,進行溫度數據采集、溫度采集信號并經P3.7送入單片機內部。溫度大小的顯示過程,由單片機的P0口送出溫度的顯示信號,經74HC573驅動放大后,用六位七段數碼管動態(tài)顯示實時溫度值。
2.3 按鍵控制電路與指示模塊
系統(tǒng)按鍵控制電路與指示模塊如圖4所示:
圖4 系統(tǒng)按鍵控制電路與指示模塊
圖4所示的按鍵電路圖,Set、Add、Sub三個獨立按鍵的一端分別連接單片機P1口的P1.0,P1.1和P1.2引腳,另一端均接地。Set為溫度報警門限設置按鍵,Add加值,Sub減值。P1.3,P1.4和P1.5分別連接三個發(fā)光二極管D11、D12、D13,實現按鍵指示及溫度報警提示。Set按一次進入中斷,Add按鍵對報警溫度上限進行設置,同時按鍵指示燈指示;Set按第二次,Sub按鍵對報警溫度下限進行設置;當再次按下Set按鍵時退出中斷,繼續(xù)顯示實時溫度值。測試溫度超出溫度門限值時報警。
圖4所示的按鍵電路圖,Set、Add、Sub三個獨立按鍵的一端分別連接單片機P1口的P1.0,P1.1和P1.2引腳,另一端均接地。Set為溫度報警門限設置按鍵,Add加值,Sub減值。P1.3,P1.4和P1.5分別連接三個發(fā)光二極管D11、D12、D13,實現按鍵指示及溫度報警提示。Set按一次進入中斷,Add按鍵對報警溫度上限進行設置,同時按鍵指示燈指示;Set按第二次,Sub按鍵對報警溫度下限進行設置;當再次按下Set按鍵時退出中斷,繼續(xù)顯示實時溫度值。測試溫度超出溫度門限值時報警。
2.4 音頻放大與報警電路模塊
音頻放大與報警電路模塊如圖5所示:
圖5 音頻放大與報警電路模塊
圖6 系統(tǒng)程序設計流程圖
圖5 所示中,音頻放大與報警電路模塊主要由三級管、蜂鳴器BZ和限流電阻組成,音頻信號由單片機P3.6送出。當P3.6為低時,BZ發(fā)出報警聲,聲音脈寬不同發(fā)出的聲音不同。BZ是無源蜂鳴器,單片機需要輸出PWM波才可以讓蜂鳴器發(fā)出報警聲。三極管發(fā)射級電壓VCC可以根據蜂鳴器電壓要求來選擇,但電壓最大值不能超過三極管的耐壓值。
3.1 設計要點
(1)DS18B20的供電方式選擇外接電源的方式,通過單線連接到智能芯片的一個I/O口上。
(2)DS18B20與單片機之間采用串行數據傳送,在對DS18B20進行讀寫編程時,必須嚴格保證讀寫時序,否則將無法讀取測溫結果。DS18B20的一線工作協議流程是:初始化→ROM操作指令→存儲器操作指令→數據傳輸。其工作時序包括初始化時序、寫時序和讀時序。
(3)在DS18B20測溫程序設計中,向DS18B20發(fā)出溫度轉換命令后,程序總要等待返回信號,一旦DS18B20接觸不好或斷線,當程序讀該DS1820時,將沒有返回信號,程序進入死循環(huán)。
3.2 程序流程圖
系統(tǒng)程序設計流程圖如圖6所示。
4.1 基于開發(fā)板的硬件仿真
采用普中科技的HC6800-EM2.2實驗開發(fā)板,用Keil C51進行程序的編譯調試,PZISP自動下載軟件下載燒寫到單片機。圖7所示為普中科技HC6800-EM2.2實驗開發(fā)板,用杜邦線或者排線將各個模塊按照電路原理圖上的次序連接。用USB連接電腦并下載編譯通過的.hex文件到單片機中,得到的實際效果。
圖7 HC6800-EM2.2實驗開發(fā)板
4.2 電路制作與調試
制作與調試的實時溫度檢測顯示與報警系統(tǒng)電路板如圖8所示。
圖8 制作的溫度檢測與顯示電路
左圖片為溫度下限值,右圖片為溫度上限值,中間圖片為顯示的實時溫度。
[1]劉萬松,曹曉龍.微型計算機原理及應用實驗教程[M].成都:西南交通大學出版社,2013.
[2]張毅剛,彭喜元,彭宇.單片機原理及應用(第2版)[M].北京:高等教育出版社,2010.
[3]閻石.數字電子技術基礎(第5版)[M].北京:高等教育出版社,2006.
[4]楊宗德.Proteus DXP電路設計制版100例[M].北京:人民郵電出版社,2005.
[5]邊春遠,王志強.MCS-51單片機應用開發(fā)實用子程序[M].北京:人民郵電出版社,2005.
[6]高峰.單片微型計算機原理與接口技術(第2版)[M].北京:科學出版社,2007.
劉萬松(1968—),男,副教授,貴州師范大學物理與電子科學學院系主任,研究方向:EDA技術。
貴州省高等學校教學研究與改革項目《電子系統(tǒng)設計與創(chuàng)新能力培養(yǎng)課程教學體系的研究與實踐》(合同編號:[2016](2)第10號);貴州師范大學課程—團隊建設項目《單片機原理及應用課程團隊》(項目編號:KT2014007H)。