多路溫度檢測(cè)系統(tǒng)_第1頁(yè)
多路溫度檢測(cè)系統(tǒng)_第2頁(yè)
多路溫度檢測(cè)系統(tǒng)_第3頁(yè)
多路溫度檢測(cè)系統(tǒng)_第4頁(yè)
多路溫度檢測(cè)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 編號(hào): 畢業(yè)論文(設(shè)計(jì))題 目 多路溫度檢測(cè)系統(tǒng)的設(shè)計(jì)指導(dǎo)教師 學(xué)生姓名 學(xué) 號(hào) 專 業(yè) 機(jī)械設(shè)計(jì)制造及其自動(dòng)化教學(xué)單位 德州學(xué)院機(jī)電工程系 (蓋章) 二O一一年五月一日專心-專注-專業(yè)德州學(xué)院畢業(yè)論文(設(shè)計(jì))課題說(shuō)明書 2010年12月20日題 目多路溫度檢測(cè)系統(tǒng)的設(shè)計(jì)指 導(dǎo) 教 師鄧廣福職 稱講師主要研究方向機(jī)電工程選題的主要目的和意義:現(xiàn)在有很多場(chǎng)合需要對(duì)其溫度進(jìn)行實(shí)時(shí)檢測(cè)如娛樂(lè)場(chǎng)合KTV、賓館、大型超市、糧庫(kù)、鍋爐等,而這些場(chǎng)合需要進(jìn)行多點(diǎn)全方位的溫度檢測(cè),并且要求檢測(cè)系統(tǒng)要快速、準(zhǔn)確、可靠、經(jīng)濟(jì)、簡(jiǎn)單,這樣就可以防止易燃場(chǎng)所的火災(zāi)發(fā)生、控制各個(gè)鍋爐的溫度,

2、多路溫度檢測(cè)系統(tǒng)的研究不僅使我們能夠較安全的生活、工作、娛樂(lè),并且具有廣闊的市場(chǎng)前景。國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì):現(xiàn)在國(guó)內(nèi)外對(duì)多路溫度檢測(cè)系統(tǒng)的研究不多,他們的研究大都應(yīng)用到高端的產(chǎn)品或特殊的場(chǎng)所,因此現(xiàn)有的溫度檢測(cè)系統(tǒng)都比較麻煩昂貴,而對(duì)普通場(chǎng)合的溫度檢測(cè)系統(tǒng)研究較少,現(xiàn)在人們逐漸認(rèn)識(shí)到對(duì)這些普通場(chǎng)合如娛樂(lè)場(chǎng)合KTV、賓館、大型超市、糧庫(kù)、鍋爐等的溫度檢測(cè)也相當(dāng)重,因此快速、準(zhǔn)確、可靠、經(jīng)濟(jì)、簡(jiǎn)單的多路溫度檢測(cè)系統(tǒng)有很大的發(fā)展?jié)摿?,人們?cè)絹?lái)越需要這樣的系統(tǒng)。教學(xué)單位領(lǐng)導(dǎo)小組審批意見(jiàn): 組長(zhǎng)簽名: 年 月 日德州學(xué)院畢業(yè)論文(設(shè)計(jì))任務(wù)書2011年12月20日院 系機(jī)電工程系專 業(yè)機(jī)械設(shè)計(jì)制造及

3、其自動(dòng)化姓 名俞國(guó)印學(xué) 號(hào)3論文題目:多路溫度檢測(cè)系統(tǒng)的設(shè)計(jì)論文內(nèi)容與要求:該論文主要是研究多路溫度檢測(cè)系統(tǒng)的設(shè)計(jì),對(duì)同一場(chǎng)所進(jìn)行全方位的溫度檢測(cè),也就是說(shuō)多點(diǎn)溫度采樣,實(shí)時(shí)的把特定地點(diǎn)的溫度情況發(fā)送給我們,這樣就可以根據(jù)系統(tǒng)所發(fā)送的溫度情況采取相應(yīng)的措施,因此要求所設(shè)計(jì)的系統(tǒng)必須要快速、準(zhǔn)確、可靠、經(jīng)濟(jì)、簡(jiǎn)單。將這幾方面要求統(tǒng)一于一整體系統(tǒng),使多路溫度檢測(cè)的系統(tǒng)可行并有很大的市場(chǎng)潛力,這樣就會(huì)有很好的發(fā)展前景。根據(jù)系統(tǒng)的要求核心芯片選擇STC89C52單片,溫度檢測(cè)芯片選擇美國(guó)DALLAS半導(dǎo)體公司的DS18B20,DS18B20是美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改

4、進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,其能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式,并且它是世界上第一片支持 "一線總線"接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳器網(wǎng)絡(luò)、為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。論文開(kāi)始日期2011年1月20日論文完成日期2011年5月1日指 導(dǎo) 教 師教研室主任德州學(xué)院畢業(yè)論文(設(shè)計(jì))開(kāi)題報(bào)告書2011年01月20日 院(系)機(jī)電工程系專 業(yè)機(jī)械設(shè)計(jì)制造及其自動(dòng)化姓 名學(xué) 號(hào)3論文(設(shè)計(jì))題目多路溫度檢測(cè)系統(tǒng)的設(shè)計(jì)一、選題目的和意義現(xiàn)在有很多場(chǎng)合需要對(duì)其溫度進(jìn)行實(shí)時(shí)檢測(cè)如娛樂(lè)場(chǎng)合KT

5、V、賓館、大型超市、糧庫(kù)、鍋爐等,而這些場(chǎng)合需要我們進(jìn)行多點(diǎn)全方位的溫度檢測(cè),并且要求檢測(cè)系統(tǒng)要快速、準(zhǔn)確、可靠、經(jīng)濟(jì)、簡(jiǎn)單,這樣就可以防止易燃場(chǎng)所的火災(zāi)發(fā)生、控制各個(gè)鍋爐的溫度,多路溫度檢測(cè)系統(tǒng)的研究不僅使我們能夠較安全的生活、工作、娛樂(lè),并且具有廣闊的市場(chǎng)前景。二、本選題在國(guó)內(nèi)外的研究現(xiàn)狀和發(fā)展趨勢(shì)現(xiàn)在國(guó)內(nèi)外對(duì)多路溫度檢測(cè)系統(tǒng)的研究不多,他們的研究大都應(yīng)用到高端的產(chǎn)品或特殊的場(chǎng)所,因此現(xiàn)有的溫度檢測(cè)系統(tǒng)都比較麻煩昂貴,而對(duì)普通場(chǎng)合的溫度檢測(cè)系統(tǒng)研究較少,現(xiàn)在人們逐漸認(rèn)識(shí)到對(duì)這些普通場(chǎng)合如娛樂(lè)場(chǎng)合KTV、賓館、大型超市、糧庫(kù)、鍋爐等的溫度檢測(cè)也相當(dāng)重,因此快速、準(zhǔn)確、可靠、經(jīng)濟(jì)、簡(jiǎn)單的多路溫

6、度檢測(cè)系統(tǒng)有很大的發(fā)展?jié)摿?,人們?cè)絹?lái)越需要這樣的系統(tǒng)。三、課題設(shè)計(jì)方案 研究設(shè)計(jì)的基本內(nèi)容和觀點(diǎn):該設(shè)計(jì)主要是多路溫度檢測(cè)系統(tǒng)的設(shè)計(jì),系統(tǒng)對(duì)同一場(chǎng)所進(jìn)行全方位的溫度檢測(cè),也就是說(shuō)多點(diǎn)溫度采樣,實(shí)時(shí)的把特定地點(diǎn)的溫度情況發(fā)送給我們,這樣我們就可以根據(jù)系統(tǒng)所發(fā)送的溫度情況采取相應(yīng)的措施,因此要求所設(shè)計(jì)的系統(tǒng)必須要快速、準(zhǔn)確、可靠、經(jīng)濟(jì)、簡(jiǎn)單。根據(jù)系統(tǒng)的要求我們的核心芯片選擇STC89C52單片,溫度檢測(cè)芯片選擇美國(guó)DALLAS半導(dǎo)體公司的DS18B20,DS18B20是美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,其能夠直接讀出被測(cè)溫度并且可

7、根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式,并且它是世界上第一片支持 "一線總線"接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳器網(wǎng)絡(luò)、為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。用keil軟件編寫C51程序,C51語(yǔ)言與C語(yǔ)言有很大相似的地方,比匯編語(yǔ)言易于理解和編寫且易于移植減少開(kāi)發(fā)周期。四、計(jì)劃進(jìn)度安排 畢業(yè)論文(設(shè)計(jì))的進(jìn)度計(jì)劃: 2011.1.03 - 2011.1.15 收集資料和文獻(xiàn),在教師指導(dǎo)下選題和構(gòu)思論文。2011.1.16 - 2011.2.20 進(jìn)一步收集、分析資料,清理思路,完成開(kāi)題報(bào)告。2011.2.21 - 2011.3.17

8、 整理資料,確定論文內(nèi)容,完成論文初稿。2011.3.18 - 2011.4.06 根據(jù)導(dǎo)師提出的意見(jiàn),對(duì)論文做進(jìn)一步的修改和完善。2011.4.07 - 2011.4.25 完成中期檢查表,根據(jù)導(dǎo)師提出的定稿意見(jiàn),做最后完善。2011.4.26 - 2011.5.20 提交論文定稿的電子版給導(dǎo)師,參加論文答辯。2011.5.21 論文答辯。五、主要參考文獻(xiàn)參考文獻(xiàn):1萬(wàn)君福等.單片機(jī)原理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)應(yīng)用M.中國(guó)科學(xué)技術(shù)出版社,1995.15.2何立民.單片機(jī)高級(jí)教程-應(yīng)用與設(shè)計(jì)M.北京:北京航空航天大學(xué)出版社,2000.5659.3 Hnrain. 單線數(shù)字溫度傳感器DS18B20 原理及

9、其應(yīng)用EB/OL,2008.4胡漢才.單片機(jī)原理及其接口技術(shù)M.北京.清華大學(xué)出版社,2000.8490.5求是科學(xué).8051系列單片機(jī)C程序設(shè)計(jì)完全手冊(cè) M .人民郵電出版社,2006.518523. 指導(dǎo)教師意見(jiàn)及建議: 簽名: 年 月 日教學(xué)單位領(lǐng)導(dǎo)小組審批意見(jiàn): 組長(zhǎng)簽名: 年 月 日德州學(xué)院畢業(yè)論文(設(shè)計(jì))中期檢查表院(系):機(jī)電工程系 專業(yè): 機(jī)械設(shè)計(jì)制造及其自動(dòng)化 2011 年4月07日畢業(yè)論文題目: 多路溫度系統(tǒng)的設(shè)計(jì)學(xué)生姓名學(xué) 號(hào)3指導(dǎo)教師職 稱講師計(jì)劃完成時(shí)間:2011年5月20日 畢業(yè)論文(設(shè)計(jì))的進(jìn)度計(jì)劃:2011.1.03 - 2011.1.15 收集資料和文獻(xiàn),在教

10、師指導(dǎo)下選題和構(gòu)思論文。2011.1.16 - 2011.2.20 進(jìn)一步收集、分析資料,清理思路,完成開(kāi)題報(bào)告。2011.2.21 - 2011.3.17 整理資料,確定論文內(nèi)容,完成論文初稿。2011.3.18 - 2011.4.06 根據(jù)導(dǎo)師提出的意見(jiàn),對(duì)論文做進(jìn)一步的修改和完善。2011.4.07 - 2011.4.25 完成中期檢查表,根據(jù)導(dǎo)師提出的定稿意見(jiàn),做最后完善。2011.4.26 - 2011.5.20 提交論文定稿的電子版給導(dǎo)師,參加論文答辯。2011.5.21 論文答辯。完成情況:到目前為止下文內(nèi)容的詳細(xì)資料已基本整理完成,現(xiàn)在正進(jìn)一步的收集更多相關(guān)的資料,并加以分析與

11、整理,按設(shè)計(jì)要求理清設(shè)計(jì)思路,依據(jù)評(píng)閱后的開(kāi)題報(bào)告和設(shè)計(jì)任務(wù)書上老師給出的指導(dǎo)意見(jiàn),在老師的指導(dǎo)幫助下開(kāi)始撰寫論文初稿。指導(dǎo)教師評(píng)議(指出優(yōu)點(diǎn)和不足,如有其它建議,可另附頁(yè)) 簽 名: 年 月 日備 注:目 錄多路溫度檢測(cè)系統(tǒng)的設(shè)計(jì)(德州學(xué)院機(jī)電系,山東德州 )摘 要:現(xiàn)在有很多場(chǎng)合需要對(duì)其溫度進(jìn)行實(shí)時(shí)檢測(cè)如糧庫(kù)、鍋爐等,本設(shè)計(jì)主要是研究多路溫度檢測(cè)系統(tǒng)的建立及應(yīng)用。多路溫度檢測(cè)系統(tǒng)有快速、準(zhǔn)確、可靠、經(jīng)濟(jì)、簡(jiǎn)單的要求,因此選擇STC89C52為核心控制芯片;傳感器選用DS18B20芯片,該芯片包含一個(gè)特定的序列號(hào),多芯片可以通過(guò)一根總線相連;顯示部分采用數(shù)碼管,考慮到單片機(jī)的引腳有限,用移位

12、寄存器74HC595驅(qū)動(dòng)數(shù)碼管;電源部分用到LM7805穩(wěn)壓芯片,使系統(tǒng)的電壓更加穩(wěn)定;用串口向單片機(jī)下載程序,電平轉(zhuǎn)換芯片用MAX232。最后由實(shí)驗(yàn)所測(cè)溫度范圍為-55°C125°C 在-10°C+85°C范圍內(nèi),精度為±0.5°C,滿足設(shè)計(jì)要求。關(guān)鍵詞:多路溫度檢測(cè);STC89C52單片機(jī);DS18B20溫度傳感器1 引言1.1 研究背景目前一些需要嚴(yán)格控制環(huán)境溫度的重要場(chǎng)所越來(lái)越多比如娛樂(lè)場(chǎng)合KTV、賓館、大型超市、糧庫(kù)、鍋爐、還有計(jì)算機(jī)房等。在這些場(chǎng)合一般都需要設(shè)置溫度監(jiān)控系統(tǒng),以期起到保護(hù)特定資產(chǎn)或者確保系統(tǒng)平穩(wěn)運(yùn)行的效果。

13、此外在隧道、鐵路、地鐵、機(jī)場(chǎng)、船艙等交通運(yùn)輸領(lǐng)域和油罐、煤倉(cāng)、貨倉(cāng)、軍工廠,彈藥庫(kù)等危險(xiǎn)品區(qū)域,溫度監(jiān)控通常是最基本的環(huán)境監(jiān)測(cè)元素?,F(xiàn)在國(guó)內(nèi)外對(duì)多路溫度檢測(cè)系統(tǒng)的研究不多,他們的研究大都應(yīng)用到高端的產(chǎn)品或特殊的場(chǎng)所,因此現(xiàn)有的溫度檢測(cè)系統(tǒng)都比較麻煩昂貴,而對(duì)普通場(chǎng)合的溫度檢測(cè)系統(tǒng)研究較少,現(xiàn)在人們逐漸認(rèn)識(shí)到對(duì)這些普通場(chǎng)合如娛樂(lè)場(chǎng)合KTV、賓館、大型超市、糧庫(kù)、鍋爐等的溫度檢測(cè)也相當(dāng)重,因此快速、準(zhǔn)確、可靠、經(jīng)濟(jì)、簡(jiǎn)單的多路溫度檢測(cè)系統(tǒng)有很大的發(fā)展?jié)摿?,人們?cè)絹?lái)越需要這樣的系統(tǒng)。單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器

14、ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。凡是與控制或簡(jiǎn)單計(jì)算有關(guān)的電子設(shè)備都可以單片機(jī)來(lái)實(shí)現(xiàn)?,F(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)1。DS18B20是美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS

15、1820有了很大的改進(jìn),給用戶帶來(lái)了更方便的使用和更令人滿意的效果。DS18B20支持一線總線接口,一根線可以控制多個(gè)DS18B20,節(jié)約單片機(jī)有限的引腳2。1.2 發(fā)展現(xiàn)狀與趨勢(shì)一般溫度傳感器采集溫度信號(hào),則需要設(shè)計(jì)信號(hào)調(diào)理電路、A/D 轉(zhuǎn)換及相應(yīng)的接口電路,才能把傳感器輸出的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送到計(jì)算機(jī)去處理。這樣,由于各種因素會(huì)造成檢測(cè)系統(tǒng)較大的偏差;又因?yàn)闄z測(cè)環(huán)境復(fù)雜、測(cè)量點(diǎn)多、信號(hào)傳輸距離遠(yuǎn)及各種干擾的影響,會(huì)使檢測(cè)系統(tǒng)的穩(wěn)定性和可靠性下降 。DS18B20是美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,他能夠直接讀出被測(cè)溫

16、度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn),給用戶帶來(lái)了更方便的使用和更令人滿意的效果。溫度傳感器的發(fā)展會(huì)越來(lái)越集成化數(shù)字化3。2 硬件電路設(shè)計(jì)2.1 總體設(shè)計(jì)要建一個(gè)穩(wěn)定的系統(tǒng)首先要設(shè)計(jì)一個(gè)可靠的硬件系統(tǒng),在構(gòu)建硬件系統(tǒng)時(shí),我們根據(jù)系統(tǒng)要求來(lái)選擇合適的單片機(jī)芯片、溫度傳感器等。為了便于設(shè)計(jì)先設(shè)計(jì)一硬件布局方框圖,在這里先設(shè)計(jì)含有兩個(gè)溫度傳感器系統(tǒng),電路原理圖見(jiàn)附錄一,硬件框圖如圖1所示。含有三個(gè)溫度傳感器或更多的傳感器設(shè)計(jì)與上圖類似。串口MAX2

17、32STC89C52電源DS18B20-BBDS18B20-A7HC5957HC595數(shù)碼管B數(shù)碼管A圖1 硬件框圖STC89C52是我們的核心控制芯片,負(fù)責(zé)溫度數(shù)據(jù)的采集及驅(qū)動(dòng)控制周圍的硬件部件;圖1中的DS18B20是兩個(gè)溫度傳感器,它們組成了一個(gè)兩器件的單線總線,這兩個(gè)傳感器有不同的ROM ID,可以使STC89C52單片機(jī)互不干擾的控制各個(gè)傳感器;74HC595是8位移位寄存器,實(shí)際上也就是串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù),可以節(jié)約單片機(jī)的有限引腳資源;顯示部分用數(shù)碼管,因?yàn)閿?shù)碼管易于控制并且經(jīng)濟(jì)實(shí)用;STC系列的單片機(jī)支持串口下載程序,因此在此系統(tǒng)采用串口下載程序,MAX232是電平轉(zhuǎn)換芯片;設(shè)計(jì)

18、了一個(gè)電源部分,因?yàn)橄到y(tǒng)要用一個(gè)穩(wěn)定的電壓,該部分用到了LM7805穩(wěn)壓芯片,使系統(tǒng)有可靠的電壓,增加系統(tǒng)的可靠性。2.2 電源電路設(shè)計(jì)電子產(chǎn)品中,常見(jiàn)的三端穩(wěn)壓集成電路有正電壓輸出的78××系列和負(fù)電壓輸出的79××系列。故名思義,三端IC是指這種穩(wěn)壓用的集成電路,只有三條引腳輸出,分別是輸入端、接地端和輸出端電路圖。用78/79系列三端穩(wěn)壓IC來(lái)組成穩(wěn)壓電源所需的外圍元件極少,電路內(nèi)部還有過(guò)流、過(guò)熱及調(diào)整管的保護(hù)電路,使用起來(lái)可靠、方便,而且價(jià)格便宜。該系列集成穩(wěn)壓IC型號(hào)中的78或79后面的數(shù)字代表該三端集成穩(wěn)壓電路的輸出電壓,如7806表示輸出電

19、壓為正6V,7909表示輸出電壓為負(fù)9V,我們選擇7805電路原理圖如圖2所示。IN1GND2OUT378XX7805+C1470uF+C4470uFC20.1uFC30.1uFR31k整流橋220V交流LED1VCCGND+5V圖2 電源電路原理圖電源部分一路通過(guò)三端穩(wěn)壓芯片LM7805穩(wěn)壓成5伏直流電源提供給單片機(jī)系統(tǒng)使用,右邊兩個(gè)電容是5伏電源的濾波電容,電阻和綠色的LED組成5伏電源的工作指示電路,只要電源部分正常,綠色的LED1就會(huì)點(diǎn)亮,我們可以根據(jù)這個(gè)LED來(lái)判斷整個(gè)電源部分是否工作正常。2.3 復(fù)位電路設(shè)計(jì)復(fù)位是單片機(jī)的初始化操作,只需給單片機(jī)的復(fù)位引腳RST加上大于2個(gè)機(jī)器周期

20、(即24個(gè)時(shí)鐘振蕩周期)的高電平就可以使單片機(jī)復(fù)位。復(fù)位電路通常采用上電復(fù)位和按鈕復(fù)位兩種方式。上電復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。電容在上接高電平,電阻在下接地,中間為RST。這種復(fù)位電路的工作原理是:通電時(shí),電容兩端相當(dāng)于是短路,于是RST引腳上為高電平,然后電源通過(guò)電阻對(duì)電容充電,RST端電壓慢慢下降,降到一定程序,即為低電平,單片機(jī)開(kāi)始正常工作。手動(dòng)復(fù)位:首先經(jīng)過(guò)上電復(fù)位,當(dāng)按下按鍵時(shí),RST直接與VCC相連,為高電平形成復(fù)位,同時(shí)電解電容被短路放電;按鍵松開(kāi)時(shí),VCC對(duì)電容充電,充電電流在電阻上,RST依然為高電平,仍然是復(fù)位,充電完成后,電容相當(dāng)于開(kāi)路,RST為低電平,正

21、常工作,電路原理圖如圖3所示。圖3 復(fù)位電路硬件電路圖2.4 時(shí)鐘電路設(shè)計(jì)石英晶體振蕩器是高精度和高穩(wěn)定度的振蕩器,被廣泛應(yīng)用于彩電、計(jì)算機(jī)、遙控器等各類振蕩電路中,以及通信系統(tǒng)中用于頻率發(fā)生器、為數(shù)據(jù)處理設(shè)備產(chǎn)生時(shí)鐘信號(hào)和為特定系統(tǒng)提供基準(zhǔn)信號(hào)。 石英晶體振蕩器是利用石英晶體(二氧化硅的結(jié)晶體)的壓電效應(yīng)制成的一種諧振器件,它的基本構(gòu)成大致是:從一塊石英晶體上按一定方位角切下薄片(簡(jiǎn)稱為晶片,它可以是正方形、矩形或圓形等),在它的兩個(gè)對(duì)應(yīng)面上涂敷銀層作為電極,在每個(gè)電極上各焊一根引線接到管腳 上,再加上封裝外殼就構(gòu)成了石英晶體諧振器,簡(jiǎn)稱為石英晶體或晶體、晶振。其產(chǎn)品一般用金屬外殼封裝,也有

22、用玻璃殼、陶瓷或塑料封裝的,圖4是晶振的電路原理圖。圖4 時(shí)鐘電路圖2.5 串口通信設(shè)計(jì) 串行接口Serial Interface是指數(shù)據(jù)一位位地順序傳送,其特點(diǎn)是通信線路簡(jiǎn)單,只要一對(duì)傳輸線就可以實(shí)現(xiàn)雙向通信,并可以利用電話線,從而大大降低了成本,特別適用于遠(yuǎn)距離通信,但傳送速度較慢。一條信息的各位數(shù)據(jù)被逐位按順序傳送的通訊方式稱為串行通訊。串行通訊的特點(diǎn)是:數(shù)據(jù)位傳送,傳按位順序進(jìn)行,最少只需一根傳輸線即可完成;成本低但送速度慢。串行通訊的距離可以從幾米到幾千米;根據(jù)信息的傳送方向,串行通訊可以進(jìn)一步分為單工、半雙工和全雙工三種4。STC系列單片機(jī)支持在線編程,使用串口是可以燒寫芯片的,但

23、是和PC計(jì)算機(jī)的串口連接時(shí)需要硬件電路和軟件的配合。硬件電路需要電平轉(zhuǎn)化,可以用MAX232芯片,電路圖如圖5所示。圖5 串口電路2.6 移位寄存器電路設(shè)計(jì)圖6 74595外形圖移位寄存器用的是74HC595,其數(shù)據(jù)端:Q0Q7: 八位并行輸出端,可以直接控制數(shù)碼管的8個(gè)段。Q7: 級(jí)聯(lián)輸出端。我將它接下一個(gè)595的DS端。DS: 串行數(shù)據(jù)輸入端。外形如上圖6。74595的控制端說(shuō)明: (10腳): 低點(diǎn)平時(shí)將移位寄存器的數(shù)據(jù)清零。通常我將它接Vcc。SH_CP(11腳):上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。Q0->Q1->Q2->.->Q7;下降沿移位寄存器數(shù)據(jù)不變(脈沖寬

24、度:5V時(shí),大于幾十納秒就行了。我通常都選微秒級(jí))。ST_CP(12腳):上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。通常我將ST_CP置為低點(diǎn)平,當(dāng)移位結(jié)束后,在ST_CP端產(chǎn)生一個(gè)正脈沖(5V時(shí),大于幾十納秒就行了。我通常都選微秒級(jí)),更新顯示數(shù)據(jù)。 (13腳): 高電平時(shí)禁止輸出(高阻態(tài))。如果單片機(jī)的引腳不緊張,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果。比通過(guò)數(shù)據(jù)端移位控制要省時(shí)省力。74595的主要優(yōu)點(diǎn)是具有數(shù)據(jù)存儲(chǔ)寄存器,在移位的過(guò)程中,輸出端的數(shù)據(jù)可以保持不變。這在串行速度慢的場(chǎng)合很有用處,數(shù)碼管沒(méi)有閃爍感5。圖7 時(shí)序圖根據(jù)時(shí)序圖7可以編寫程序

25、控制芯片。2.7 數(shù)碼管顯示電路設(shè)計(jì)單片機(jī)系統(tǒng)中常用的顯示器有:發(fā)光二極管LED(Light Emitting Diode)顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示結(jié)構(gòu):段顯示(7段、米字型等)和點(diǎn)陣顯示(5×8、8×8點(diǎn)陣等),在此用應(yīng)用LED顯示器。abcdegGNDfdpGNDabcefgd·dpabcdefgdpdpgfedcba5V(a)(b) 共陰極 共陽(yáng)極圖8 數(shù)碼管電路使用LED顯示器時(shí),要注意區(qū)分這兩種不同的接法如圖8。為了顯示數(shù)字或字符,必須對(duì)數(shù)字或字符進(jìn)行編碼。七

26、段數(shù)碼管加上一個(gè)小數(shù)點(diǎn),共計(jì)8段(共陽(yáng)極不帶小數(shù)點(diǎn)編碼見(jiàn)表2,共陽(yáng)極帶小數(shù)點(diǎn)編碼見(jiàn)表3)。因此為L(zhǎng)ED顯示器提供的編碼正好是一個(gè)字節(jié)。表1 共陽(yáng)極不帶小數(shù)點(diǎn)編碼編碼0xc00Xf90xa40xb00x990x920x820xf80x800x900x880x830xc60xa10x860x8e0x000123456789ABCDEF無(wú)顯示表2 共陽(yáng)極帶小數(shù)點(diǎn)編碼共陽(yáng)極數(shù)碼管編碼表0x400x790x240x300x190x120x020x020x780x000x100x080x030x460x210x060x0e0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F.無(wú)顯示LED顯示器工

27、作方式有兩種:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè)8位數(shù)據(jù)線來(lái)保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是占用CPU時(shí)間少,顯示便于監(jiān)測(cè)和控制。缺點(diǎn)是硬件電路比較復(fù)雜,成本較高。動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來(lái),就沒(méi)有必要每一位數(shù)碼管配一個(gè)鎖存器,從而大大地簡(jiǎn)化了硬件電路。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼

28、和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的6。 電路的開(kāi)關(guān)控制選用的是三極管,三極管有NPN型和PNP型兩種型號(hào),系統(tǒng)選的是共陽(yáng)極的數(shù)碼管,51單片機(jī)的引腳復(fù)位時(shí)都處于1即高電位,因此應(yīng)選PNP型的三極管有利于實(shí)現(xiàn)控制,在默認(rèn)狀態(tài)下數(shù)碼管是不會(huì)亮的,在這里我們選擇的三極管的型號(hào)為S8550。2.8 溫度傳感器電路設(shè)計(jì)(1) 內(nèi)部原理結(jié)構(gòu) 電源檢測(cè) 64位ROM和單線接口 高速 緩存 存儲(chǔ)器存儲(chǔ)器和控制器 8位CRC生成器溫度靈敏元件低溫觸發(fā)器高溫觸發(fā)器配置寄存器圖9 內(nèi)部

29、結(jié)構(gòu)DSl8B20 通過(guò)門開(kāi)通期間內(nèi)低溫度系數(shù)振蕩器經(jīng)歷的時(shí)鐘周期個(gè)數(shù)計(jì)數(shù)來(lái)測(cè)量溫度,而門開(kāi)通期由高溫度系數(shù)振蕩器決定。計(jì)數(shù)器予置對(duì)應(yīng)于-55的基數(shù),如果在門開(kāi)通期結(jié)束前計(jì)數(shù)器達(dá)到零,那么溫度寄存器也被予置到-55的數(shù)值增量,指示溫度高于-55。同時(shí),計(jì)數(shù)器用斜率累加器電路所決定的值進(jìn)行予置。為了對(duì)遵循拋物線規(guī)律的振蕩器溫度特性進(jìn)行補(bǔ)償,這種電路是必需的。時(shí)鐘再次使計(jì)數(shù)器計(jì)值至它達(dá)到零,如果門開(kāi)通時(shí)間仍未結(jié)束,那么此過(guò)程再次重復(fù)7。DS18B20有4個(gè)主要的數(shù)據(jù)部件(圖9):DS18B20 的ROM光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光

30、刻ROM的排列是:開(kāi)始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的,因此多個(gè) DSl8B20 可以存在于同一條單線總線上。這允許在許多不同的地方放置溫度靈敏器件。此特性的應(yīng)用范圍包括 HVAC 環(huán)境控制,建筑物、設(shè)備或機(jī)械內(nèi)的溫度檢測(cè),以及 過(guò)程監(jiān)視和控制中的溫度檢測(cè)8。 DS18B20的RAMDS18B20 中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)

31、形式提供,以0.0625/LSB形式表達(dá),其中S為符號(hào)位如表3。表3 DS18B20溫度值格式表Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0低位232221202-12-22-32-4Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8高位SSSSS262524這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS18B20 的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。例如+125的數(shù)

32、字輸出為07D0H,+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H,部分溫度數(shù)據(jù)如表4。表4 DS18B20溫度數(shù)據(jù)表溫度二進(jìn)制十六進(jìn)制+1250000 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000FFF8h-1

33、0.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90h DS18B20溫度傳感器的存儲(chǔ)器DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直

34、接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。表5 寄存器地址及內(nèi)容寄存器內(nèi)容字節(jié)地址溫度值低位0溫度值高位1高溫度限值TH2低溫度限值TL3配置寄存器4保留5保留6保留7CRC檢驗(yàn)8 配置寄存器該字節(jié)各位的意義如表6。表6 配置寄存器結(jié)構(gòu)置寄存器結(jié)構(gòu)TMR1R011111低五位一直都是1,TM是測(cè)試模式位,用于設(shè)置DS18B20 在工作模式還是在測(cè)試模式。在DS18B20 出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng)。R1和R0用來(lái)設(shè)置分辨率,如表7所示(DS18B20出廠時(shí)被設(shè)置為12位)。表7分辨率設(shè)置R1R0分辨率溫度最大轉(zhuǎn)換時(shí)間009位93

35、.75ms0110位187.5ms1011位375ms1112位750ms根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令(表8),最后發(fā)送RAM指令(表9),這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號(hào)后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。表8 ROM指令表指令約定代碼功能讀ROM33H讀DS1820ROM中的編碼(即64位地址)符合ROM55H發(fā)出此命令之后,接著發(fā)出

36、64位ROM編碼,訪問(wèn)單總線上與該編碼相對(duì)應(yīng)的DS1820使之作出響應(yīng),為下一步DS1820的讀寫作準(zhǔn)備。搜索ROM0F0H用于確定掛接在同一總線上DS1820的個(gè)數(shù)和識(shí)別64位ROM地址。為操作各器件作好準(zhǔn)備。跳過(guò)ROM0CCH忽略64位ROM地址,直接向DS1820發(fā)溫度變換命令。適用于單片工作。告警搜索命令0ECH執(zhí)行后只有溫度超過(guò)設(shè)定值上限或下限的片子才做出響應(yīng)。表9 RAM指令表指令約定代碼功能溫度變換44H啟動(dòng)DS1820進(jìn)行溫度轉(zhuǎn)換,轉(zhuǎn)換時(shí)最長(zhǎng)為500ms(典型為200ms)。結(jié)果存入內(nèi)部9字節(jié)RAM中。讀暫存器0BEH內(nèi)部RAM中9字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM的3、

37、4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。復(fù)制暫存器48H將RAM中第3、4字節(jié)的內(nèi)容復(fù)制到EEPROM中。重調(diào)EEPROM0B8H將EEPROM中內(nèi)容恢復(fù)到RAM中的第3、4字節(jié)。讀供電方式0B4H讀DS1820的供電模式。寄生供電時(shí)DS1820發(fā)送“0”,外接電源供電DS1820發(fā)送“1”。DS18B20 的讀寫時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms9。(2) 驅(qū)動(dòng)電路圖多個(gè)DS18B20可以建立一測(cè)溫系統(tǒng),為了系統(tǒng)可靠測(cè)溫準(zhǔn)確,我們提供一條電源線,單獨(dú)給傳感器提供電源,一條數(shù)據(jù)線用于控

38、制傳感器,還有一條地線。有兩種方法確保 DSl8B20 在其有效變換期內(nèi)得到足夠的電源電流。第一種方法是發(fā)生溫度變換時(shí),在 I0 線上提供一 強(qiáng)的上拉。通過(guò)使用一個(gè) MOSFET 把 I0 線直接拉到電源可達(dá)到這一點(diǎn)。當(dāng)使用寄生電源方式時(shí) VDD引腳 必須連接到地。 向 DSl8B20 供電的另外一種方法是通過(guò)使用連接到 VDD引腳的外部電源,這種方法的優(yōu)點(diǎn)是在 I0 線上不要求強(qiáng)的上拉如圖10??偩€上主機(jī)不需向上連接便在溫度變換期間使線保持高電平。這就允許在變換時(shí)間內(nèi)其它數(shù)據(jù)在單線上傳送。此外,在單線總線上可以放置任何數(shù)目的 DSl8B20,而且如果它們都使用外部電源,那么通過(guò)發(fā)出跳過(guò)(Sk

39、ip)ROM 命令和接著發(fā)出變換(Convert)T 命令,可以同時(shí)完成溫度變換。注意只要外部電源處于工作狀態(tài),GND(地)引腳不可懸空。在總線上主機(jī)不知道總線上 DSl8B20 是寄生電源供電還是外部 VDD供電的情況下,在 DSl8B20 內(nèi)采取了措施來(lái)通知采用 的供電方案??偩€上主機(jī)通過(guò)發(fā)出跳過(guò)(Skip)ROM 的操作約定,然后發(fā)出讀電源命令,可以決定是否有需要強(qiáng)上拉的 DSl8B20 在總線上。在此命令發(fā)出后,主機(jī)接著發(fā)出讀時(shí)間片。如果是寄生供電,DSl8B20 將在單線總線上送回“0”;如果 由 VDD 腳供電,它將送回“1”。如果主機(jī)接收到一個(gè)“0”,它知道它必須在溫度變換期間在

40、 I0 線上供一個(gè)強(qiáng)的上拉10。 VCCVCCQ264.7KQ274.7KP3.5GND1I/O2VCC3DS18B20GND1I/O2VCC3DS18B20圖10 DS18B20串聯(lián)電路(3) 獲得ROM ID獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊,因?yàn)槊總€(gè)DS18B20都有一個(gè)獨(dú)特的片序列號(hào),所以多只DS18B20可以同時(shí)連在一根單線總線上,這樣就可以把溫度傳感器放在許多不同的地方11。在設(shè)計(jì)之前我們應(yīng)該按照通訊協(xié)議獲得每個(gè)傳感器的ID號(hào),程序請(qǐng)參考附錄二。通過(guò)此程序我們可以獲得任何DS18B20的ID號(hào),我們的系統(tǒng)先連接兩個(gè)溫度傳感器A和B,實(shí)驗(yàn)得到兩個(gè)傳感器A和B的ID號(hào)如下:ucha

41、r code tablematchrom_a= 40,58,218,9, 3,0,0,168;uchar code tablematchrom_b= 40,148,221,9,3,0,0,182;這里我們只用了兩個(gè)傳感器,如果有更多的傳感器我們也可以一一獲得ROM ID號(hào),然后連成網(wǎng)。(4) 溫度傳感器電路圖及DS18B20使用中注意事項(xiàng)DS18B20雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題: 較小的硬件開(kāi)銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對(duì)DS18B20進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保

42、證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在使用PL/M、C等高級(jí)語(yǔ)言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對(duì)DS18B20操作部分最好采用匯編語(yǔ)言實(shí)現(xiàn)。 在DS18B20的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問(wèn)題,容易使人誤認(rèn)為可以掛任意多個(gè)DS18B20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS18B20超過(guò)8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。 連接DS18B20的總線電纜是有長(zhǎng)度限制的。試驗(yàn)中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò)50m時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶

43、屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng)。這種情況主要是由總線分布電容使信號(hào)波形產(chǎn)生畸變?cè)斐傻?。因此,在用DS18B20進(jìn)行長(zhǎng)距離測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要充分考慮總線分布電容和阻抗匹配問(wèn)題。 在DS18B20測(cè)溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號(hào),一旦某個(gè)DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地11。3 軟件設(shè)計(jì)穩(wěn)定可靠的系統(tǒng)還要有穩(wěn)定準(zhǔn)確的程

44、序作為支撐,程序的設(shè)計(jì)也是相當(dāng)重要的,現(xiàn)在設(shè)計(jì)系統(tǒng)總的程序框圖如圖11所示。 圖11 程序流程圖該圖是含有兩個(gè)傳感器系統(tǒng)的程序框圖,是實(shí)驗(yàn)性的溫度檢測(cè)系統(tǒng),含有更多溫度傳感器及其它硬件系統(tǒng)的設(shè)計(jì)與此類似,如果考慮到系統(tǒng)的穩(wěn)定性可以加上看門狗部分的設(shè)計(jì)?,F(xiàn)在設(shè)計(jì)的是實(shí)驗(yàn)性的系統(tǒng)即有兩個(gè)溫度傳感器組成的簡(jiǎn)單測(cè)試性的多路溫度檢測(cè)系統(tǒng),其它的部件如看門狗沒(méi)有設(shè)計(jì),分析圖11的編程算法:總系統(tǒng)的運(yùn)行過(guò)程是一個(gè)死循環(huán),在位聲明初始化完成后就開(kāi)始對(duì)STC89C52單片機(jī)的外圍器件逐個(gè)控制。首先跳過(guò)ROM驅(qū)動(dòng)所有的傳感器轉(zhuǎn)換溫度,等待單片機(jī)逐個(gè)將傳感器中的溫度數(shù)據(jù)讀出,在讀溫度數(shù)據(jù)之前要匹配ROM ID 確定

45、要讀的傳感器,之后將讀出的溫度數(shù)據(jù)處理并驅(qū)動(dòng)對(duì)應(yīng)的數(shù)碼動(dòng)態(tài)管顯示,依次將各個(gè)傳感器轉(zhuǎn)換后的溫度數(shù)據(jù)讀出接著驅(qū)動(dòng)數(shù)碼管動(dòng)態(tài)顯示,讀出及顯示一次所有溫度傳感器的溫度為一次完整的操作,再回到讓STC89C52初試化DS18B20的操作進(jìn)行下一次的溫度轉(zhuǎn)換、讀取及顯示,并無(wú)限循環(huán)。在此系統(tǒng)的循環(huán)過(guò)程中要注意數(shù)碼管的動(dòng)態(tài)顯示,其中的延時(shí)子函數(shù)需要恰當(dāng)?shù)臅r(shí)間,如果延時(shí)過(guò)長(zhǎng),相應(yīng)的數(shù)據(jù)LED會(huì)有閃爍的現(xiàn)象,如果延時(shí)過(guò)短,LED燈的亮度減弱;數(shù)碼管的動(dòng)態(tài)顯示的延時(shí)還與程序的大小、驅(qū)動(dòng)硬件的多少有關(guān),如果驅(qū)動(dòng)的硬件過(guò)多,動(dòng)態(tài)顯示的延時(shí)函數(shù)對(duì)應(yīng)的數(shù)據(jù)要相應(yīng)的調(diào)整即減少延時(shí)時(shí)間,增加數(shù)碼管的刷新頻率,硬件過(guò)少時(shí)數(shù)碼

46、管的刷新頻率也會(huì)增加,延時(shí)函數(shù)的數(shù)據(jù)調(diào)整,增加延時(shí)時(shí)間,減少數(shù)碼管的刷新頻率,使數(shù)碼管顯示性能達(dá)到最好狀態(tài)??偝绦蛄鞒虉D已經(jīng)確定,驅(qū)動(dòng)硬件的先后順序也確定,有個(gè)別的硬件驅(qū)動(dòng)程序?qū)ρ訒r(shí)時(shí)間要求比較高,尤其是DS18B20溫度傳感器有嚴(yán)格時(shí)序要求。DS18B20有三部分主要時(shí)序:初始化時(shí)序;讀時(shí)序;寫時(shí)序。(1)其中初始化相對(duì)簡(jiǎn)單現(xiàn)在確定一下DS18B20傳感器的程序框圖,多個(gè)DS18B20溫度傳感器組成單線總線,當(dāng)有DS18B20溫度傳感器得到主機(jī)相應(yīng)發(fā)出存在信號(hào)時(shí),溫度傳感器是線與的關(guān)系即總線拉低,主機(jī)會(huì)檢測(cè)到低脈沖。圖12是程序框圖的設(shè)計(jì)。圖12 初始化程序框圖主機(jī)對(duì)DS18B20溫度傳感器

47、初始化,先是將總線拉低至少480微妙,然后等待所有的從機(jī)相應(yīng),DS18B20溫度傳感器會(huì)發(fā)出地存在脈沖;如不發(fā)出,有一個(gè)相應(yīng)延時(shí)處理,重新對(duì)DS18B20初始化,根據(jù)初始化的次數(shù)判定是否繼續(xù)進(jìn)行。具體的程序編寫及說(shuō)明如下:uchar ds18b20init()uchar i=0,x; /初始化變量dq=1; /給總線一個(gè)脈沖dq=0;delay(85); /延時(shí)大于480微妙dq=1; /釋放總線delay(50); x=dq; /主機(jī)采樣 delay(10);return(x); /返回采樣結(jié)果主函數(shù)根據(jù)子函數(shù)的返回值判定初始化是否成功,如成功進(jìn)行對(duì)DS18B20的下步操作,如不成功,就再次

48、的初始化,對(duì)于初始化的成功與否檢測(cè)可以省略,因?yàn)樵谑褂们氨叵全@得每一只傳感器的ROM ID,每一只傳感器都可以確定是否能正常工作,省略初始化成功檢查可以減少單片機(jī)的執(zhí)行時(shí)間。(2)讀時(shí)序尤其要注意,單片機(jī)要讀入一個(gè)數(shù)時(shí)先把引腳寫1即拉高采樣引腳,并且采樣引腳必須在15微妙內(nèi)完成對(duì)特定的DS18B20溫度傳感器的數(shù)據(jù)采樣,超過(guò)這段時(shí)間才到的數(shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤,每一次的讀時(shí)間段也有要求,至少60微妙,這里設(shè)計(jì)讀傳感器的程序框圖如圖13所示。圖13 讀數(shù)據(jù)程序框圖具體程序如下:/*從DS18B20讀出一個(gè)字節(jié)*/uchar ds18b20_read()uchar i=0,shu=0;dq=1; /準(zhǔn)備發(fā)

49、送低脈沖for(i;i<8;i+) / 確定讀的位數(shù)dq=0;dq=1;/mcu要讀入一個(gè)數(shù),先得寫1shu=shu>>1; /對(duì)數(shù)據(jù)移位if(dq) shu=shu|0x80; /處理得到的數(shù)據(jù)dq=1; /釋放總線delay(7);return (shu); /返回讀到的8位數(shù)即一個(gè)字節(jié)DS18B20溫度傳感器是個(gè)典型的單線總線數(shù)據(jù)傳輸器件,對(duì)時(shí)間有嚴(yán)格的要求與限制,如上面程序的延時(shí)子函數(shù)是經(jīng)過(guò)嚴(yán)格調(diào)試的,時(shí)間是相對(duì)比較準(zhǔn)確的,這樣才有利于驅(qū)動(dòng)控制傳感器。(3)初試化和讀傳感器的程序框圖已經(jīng)設(shè)計(jì)完,現(xiàn)在設(shè)計(jì)向傳感器寫數(shù)據(jù)的程序框圖如下圖14所示。圖14 寫數(shù)據(jù)程序框圖具體

50、的編寫程序及說(shuō)明:/*向DS18B20寫入一個(gè)字節(jié)*/void ds18b20_write(uchar dat) uchar i;for(i=0;i<8;i+) /寫入一個(gè)字節(jié)的確定dq=1; /主機(jī)發(fā)送一個(gè)低脈沖dq=0; dq=(dat&0x01); /向總線寫數(shù)據(jù)delay(2);dat=dat>>1; /移位處理待寫數(shù)據(jù)delay(3);dq=1; /釋放總線 準(zhǔn)備下次發(fā)送低脈沖dq=1;然后可以組織編寫總程序,這里用的是keil軟件進(jìn)行編寫程序,用的是C51語(yǔ)言,C語(yǔ)言可移植性可讀性好,它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn),C語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,總的程序見(jiàn)附錄三。4 結(jié)果及結(jié)論完成了系統(tǒng)的設(shè)計(jì),現(xiàn)在要對(duì)系統(tǒng)進(jìn)行測(cè)試,驗(yàn)證是否能滿足設(shè)計(jì)要求,分別把系統(tǒng)在不同場(chǎng)合下進(jìn)行觀察測(cè)試。下面看一下是由兩個(gè)傳感器組成的實(shí)驗(yàn)實(shí)物系統(tǒng)圖如圖15和圖16。圖15 兩個(gè)傳感器組成的單線總線圖16 含有兩個(gè)傳感器的系統(tǒng)圖進(jìn)行實(shí)驗(yàn)一:將測(cè)溫系統(tǒng)和水銀溫度計(jì)放在同一房間內(nèi)并記錄所測(cè)溫度如表10。表10 不同時(shí)刻的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論