版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 嵌入式溫度控制與顯示器</p><p><b> 中國(guó)·珠海</b></p><p> 二○一○ 年 五 月</p><p> 學(xué) 院: 信息科學(xué)技術(shù)學(xué)院</p><p> 專
2、 業(yè): 姓 名: 指導(dǎo)老師: 自動(dòng)化</p><p> 學(xué) 號(hào): 職 稱: </p><p> 教授</p><p> 嵌入式溫度控制與顯示器</p><p><b> 摘 要</b></p><p> 本文主要是針對(duì)生產(chǎn)或生活需要的恒溫系統(tǒng)而展開(kāi)的一系列設(shè)計(jì)研究。該
3、設(shè)計(jì)以嵌入式中的單片機(jī)STC89C52RC為控制核心,從DS18B20溫度檢測(cè)的數(shù)據(jù)采集、設(shè)定值調(diào)整、LED數(shù)碼管顯示電路、報(bào)警及輸出控制電加熱器和電制冷器等幾個(gè)方面出發(fā),詳細(xì)研究和設(shè)計(jì)了基于單片機(jī)的溫度控制的各個(gè)部分內(nèi)容,設(shè)計(jì)了單片機(jī)及其外圍電路,并結(jié)合一套經(jīng)典的程序算法。給出了一套合理的基于單片機(jī)的溫度控制器軟硬件解決方案。</p><p> 關(guān)鍵字 :溫度檢測(cè) 溫度顯示 DS18B20 單片機(jī) 溫度控制&
4、lt;/p><p> Embedded temperature control and display</p><p><b> ABSTRACT</b></p><p> This article mainly on production or living needs the system of thermostat and launch
5、ed a series of design studies. The STC89C52RC single-chip design for the control of the core, from the temperature detection DS18B20 data acquisition, the adjustment settings, LED digital tube display circuit, alarm and
6、output control several aspects, such as electric heater and electric cooler , the detailed study and design based on single the temperature control machine in all parts of the design of the singl</p><p> Ke
7、y words: Single-chip Computer Single-chip Displayer Sensor Temperature Measurement </p><p><b> 目 錄</b></p><p><b> 摘要I</b></p><p> ABSTRACTII</p&g
8、t;<p><b> 1緒論1</b></p><p> 1.1課題設(shè)計(jì)背景及意義1</p><p> 1.2行業(yè)技術(shù)發(fā)展趨勢(shì)1</p><p> 1.3課題設(shè)計(jì)的主要內(nèi)容1</p><p> 2系統(tǒng)的總體設(shè)計(jì)3</p><p> 3系統(tǒng)的主要硬件介紹4<
9、;/p><p> 3.1單片機(jī)介紹4</p><p> 3.1.1單片機(jī)概述4</p><p> 3.1.2單片機(jī)編程語(yǔ)言介紹5</p><p> 3.1.3系統(tǒng)選擇6</p><p> 3.1.4 STC89C52RC引腳功能介紹9</p><p> 3.2溫度傳感器DS18
10、B2016</p><p> 3.2.1 DS18B2016</p><p> 3.2.2 DS18B20的硬件連接25</p><p> 4溫度監(jiān)控系統(tǒng)的設(shè)計(jì)26</p><p> 4.1硬件設(shè)計(jì)26</p><p> 4.1.1溫度檢測(cè)部分26</p><p> 4.
11、1.2 LED數(shù)碼管顯示電路27</p><p> 4.1.3單片機(jī)及按鍵電路設(shè)計(jì)31</p><p> 4.1.4報(bào)警電路模塊33</p><p> 4.1.5電源模塊34</p><p> 4.1.6加熱及制冷處理模塊35</p><p> 4.2 軟件系統(tǒng)設(shè)計(jì)42</p>&l
12、t;p> 4.2.1系統(tǒng)程序流程圖42</p><p> 4.2.2單片機(jī)軟件開(kāi)發(fā)語(yǔ)言43</p><p> 4.2.3 DS18B20驅(qū)動(dòng)程序44</p><p> 4.2.4系統(tǒng)的程序源代碼54</p><p> 5溫度監(jiān)控系統(tǒng)設(shè)計(jì)的硬件成果及測(cè)試結(jié)果、分析62</p><p> 5.1
13、模塊硬件概論62</p><p> 5.1.1溫度采集模塊和報(bào)警電路模塊62</p><p> 5.1.2溫度顯示模塊63</p><p> 5.1.3鍵盤(pán)調(diào)整模塊63</p><p> 5.1.4電源模塊64</p><p> 5.1.5加熱及制冷處理模塊65</p><p&
14、gt; 5.1.6整體硬件系統(tǒng)65</p><p> 5.2系統(tǒng)測(cè)試結(jié)果、分析66</p><p><b> 6結(jié)論與展望68</b></p><p><b> 6.1結(jié)論68</b></p><p><b> 6.2展望68</b></p>
15、<p><b> 參考文獻(xiàn)70</b></p><p><b> 附錄71</b></p><p><b> 謝辭73</b></p><p><b> 1 緒論</b></p><p> 1.1課題設(shè)計(jì)背景及意義</p&
16、gt;<p> 嵌入式在電子產(chǎn)品中的應(yīng)用已經(jīng)越來(lái)越廣泛,并且在很多電子產(chǎn)品中也將其用到溫度控制和溫度檢測(cè)、顯示?;趩纹瑱C(jī)的溫度監(jiān)控系統(tǒng)較傳統(tǒng)的溫度控制系統(tǒng)具有更高的智能性,并且系統(tǒng)的功能更加易于擴(kuò)展和升級(jí),是一種低成本的溫度控制、檢測(cè)方案。</p><p> 采用單片機(jī)來(lái)對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量
17、和數(shù)量。 因此單片機(jī)對(duì)溫度的控制問(wèn)題是一個(gè)工業(yè)生產(chǎn)中經(jīng)常會(huì)遇到的問(wèn)題。</p><p> 本次設(shè)計(jì)采用MCS-51系列單片機(jī)與各種外圍電路構(gòu)成單片機(jī)溫度自動(dòng)檢測(cè)和控制系統(tǒng),實(shí)現(xiàn)對(duì)溫度的實(shí)時(shí)檢測(cè)、控制和顯示。通過(guò)本次設(shè)計(jì)掌握溫度檢測(cè)控制系統(tǒng)的硬件設(shè)計(jì)方法和軟件編寫(xiě)方法。熟悉Protel軟件的使用方法,熟悉PCB板的制作。通過(guò)課題的研究進(jìn)一步鞏固所學(xué)的知識(shí),同時(shí)學(xué)習(xí)課程以外的相關(guān)知識(shí),培養(yǎng)綜合應(yīng)用知識(shí)的能力。鍛煉動(dòng)
18、手能力與實(shí)際工作能力,將所學(xué)的理論與實(shí)踐結(jié)合起來(lái)。</p><p> 1.2 行業(yè)技術(shù)發(fā)展趨勢(shì)</p><p> 近年來(lái),在溫度檢測(cè)技術(shù)領(lǐng)域中,多種新的檢測(cè)原理與技術(shù)的開(kāi)發(fā)應(yīng)用己取得了具有實(shí)用性的重大進(jìn)展。新一代溫度檢測(cè)元件正在不斷出現(xiàn)和完善化,主要包括以下幾種。(1)晶體管溫度檢測(cè)元件(2)集成電路溫度檢測(cè)元件(3)核磁共振溫度檢測(cè)器(4)熱噪聲溫度檢測(cè)器(5)石英晶體溫度檢測(cè)器(6
19、)光纖溫度檢測(cè)器(7)激光溫度檢測(cè)器。</p><p> 目前國(guó)內(nèi)外的溫度控制方式越來(lái)越趨向于智能化,溫度測(cè)量首先是由溫度傳感器來(lái)實(shí)現(xiàn)的。測(cè)溫儀器由溫度傳感器和信號(hào)處理兩部分組成。溫度測(cè)量的過(guò)程就是通過(guò)溫度傳感器將被測(cè)對(duì)象的溫度值轉(zhuǎn)換成電的或其它形式的信號(hào),傳遞給信號(hào)處理電路進(jìn)行信號(hào)處理轉(zhuǎn)換成溫度值顯示出來(lái)。溫度傳感器隨著溫度變化而引起變化的物理參數(shù)有: 膨脹、電阻、電容、熱電動(dòng)勢(shì),磁性能、頻率、光學(xué)特性及熱噪
20、聲等等。隨著生產(chǎn)的發(fā)展,新型溫度傳感器還會(huì)不斷出現(xiàn),目前,國(guó)內(nèi)外通用的溫度傳感器及測(cè)溫儀大致有以下幾種: 熱膨脹式溫度計(jì)、電阻溫度計(jì)、熱電偶、輻射式測(cè)溫儀表、石英溫度傳感器測(cè)溫儀。</p><p> 1.3 課題設(shè)計(jì)的主要內(nèi)容</p><p> 該設(shè)計(jì)是以單片機(jī)STC89C52RC為控制核心,從DS18B20溫度檢測(cè)的數(shù)據(jù)采集、設(shè)定值調(diào)整、LED數(shù)碼管顯示電路、報(bào)警及輸出控制電加熱器及
21、制冷等幾個(gè)方面出發(fā),詳細(xì)研究和設(shè)計(jì)了基于單片機(jī)的溫度控制的各個(gè)部分內(nèi)容,設(shè)計(jì)了單片機(jī)及其外圍電路,并結(jié)合一套經(jīng)典的程序算法。</p><p> 在一些溫控系統(tǒng)電路中,廣泛采用的是通過(guò)熱電偶、熱電阻或PN結(jié)測(cè)溫電路經(jīng)過(guò)相應(yīng)的信號(hào)調(diào)理電路,轉(zhuǎn)換成A/D轉(zhuǎn)換器能接收的模擬量,再經(jīng)過(guò)采樣/保持電路進(jìn)行A/D轉(zhuǎn)換,最終送入單片機(jī)及其相應(yīng)的外圍電路,完成監(jiān)控。但是由于傳統(tǒng)的信號(hào)調(diào)理電路實(shí)現(xiàn)復(fù)雜、易受干擾、不易控制且精度不高
22、。本文介紹單片機(jī)結(jié)合DS18B20環(huán)境溫度控制器設(shè)計(jì),本系統(tǒng)用一種新型的可編程溫度傳感器(DS18B20),不需復(fù)雜的信號(hào)調(diào)理電路和A/D轉(zhuǎn)換電路能直接與單片機(jī)完成數(shù)據(jù)采集和處理,實(shí)現(xiàn)方便、精度高,可根據(jù)不同需要用于各種場(chǎng)合。</p><p> 本次設(shè)計(jì)主要是對(duì)加熱和制冷設(shè)備的溫度控制,其主要任務(wù)如下:</p><p> 用單片機(jī)對(duì)溫度進(jìn)行實(shí)時(shí)檢測(cè)、顯示和控制,以解決日常生活中及工業(yè)對(duì)
23、溫度的顯示及控制問(wèn)題。其溫度顯示為“-XXC”,精度為±0.50℃ ,測(cè)溫范圍-55℃~+125℃,采用LED顯示,不單符合家庭使用更適合工業(yè)的使用。</p><p> 2 系統(tǒng)的總體設(shè)計(jì)</p><p> 嵌入式單片機(jī)的溫度控制系統(tǒng)需要完成溫度的檢測(cè)并可以通過(guò)按鍵設(shè)定調(diào)整最高溫度和最低溫度值、能夠顯示當(dāng)前溫度值、最高設(shè)定溫度和最低設(shè)定溫度值,同時(shí)要實(shí)現(xiàn)當(dāng)溫度超過(guò)設(shè)定上限溫
24、度時(shí),啟動(dòng)制冷器件降溫,溫度超過(guò)設(shè)定最高溫度時(shí)報(bào)警;當(dāng)溫度低于設(shè)定下限溫度時(shí),啟動(dòng)電熱器件加熱,溫度低于設(shè)定最低溫度時(shí)報(bào)警等功能。需要系統(tǒng)包括單片機(jī)最小系統(tǒng)電路和按鍵電路、LED顯示電路、溫度檢測(cè)部分、報(bào)警和控制輸出等主要部分,系統(tǒng)地總體設(shè)計(jì)如下圖所示:</p><p> 圖2-1 系統(tǒng)整體設(shè)計(jì)框圖</p><p> 3 系統(tǒng)的主要硬件介紹</p><p>
25、<b> 3.1 單片機(jī)介紹</b></p><p> 3.1.1單片機(jī)概述</p><p> 單片微機(jī)(Single-Chip Microcomputer)簡(jiǎn)稱單片機(jī),通常統(tǒng)稱微控制器(Micro-Controller 簡(jiǎn)寫(xiě)μC)或微型處理部件(Micro Controller Unit 簡(jiǎn)寫(xiě)MCU)。一般的說(shuō),單片機(jī)就是在一塊硅片上集成CPU、RAM、ROM
26、、定時(shí)器/計(jì)數(shù)器、和多種I/O的完整的數(shù)字處理系統(tǒng)。二十世紀(jì),微電子、IC集成電路行業(yè)發(fā)展迅速,其中單片機(jī)行業(yè)的發(fā)展最引人注目。單片機(jī)功能強(qiáng)、價(jià)格便宜、使用靈活,在計(jì)算機(jī)應(yīng)用領(lǐng)域中發(fā)揮著極其重要的作用。從INTEL公司于1971年生產(chǎn)第一顆單片機(jī)Intel-4004開(kāi)始,開(kāi)創(chuàng)了電子應(yīng)用的“智能化”新時(shí)代。單片機(jī)以其高性價(jià)比和靈活性,牢固樹(shù)立了其在嵌入式微控制系統(tǒng)中的“霸主”地位,在PC機(jī)以286、386、Pentium、PⅢ高速更新?lián)Q代
27、的同時(shí),單片機(jī)卻“始終如一”保持旺盛的生命力。例如,MCS-51系列單片機(jī)已有十多年的生命期,如今仍保持著上升的態(tài)勢(shì)就充分證明了這一點(diǎn)。</p><p> 1.單片機(jī)的結(jié)構(gòu)與組成</p><p> 目前,單片機(jī)的系統(tǒng)結(jié)構(gòu)有兩種類(lèi)型:一種是將程序和數(shù)據(jù)存儲(chǔ)器分開(kāi)使用,即哈佛(Harvard)結(jié)構(gòu),當(dāng)前的單片機(jī)大都是這種結(jié)構(gòu)。另一種是采用和PC機(jī)的馮.諾依曼(Von Neumann)類(lèi)似的
28、原理,對(duì)程序和數(shù)據(jù)存儲(chǔ)器不作邏輯上的區(qū)分,用來(lái)存放用戶程序,可分為EEPROM、OTP、ROM和FLASH等類(lèi)。</p><p> EEPROM型內(nèi)存編程后其內(nèi)容可用紫外線擦除,用戶可反復(fù)使用,故特別適用于開(kāi)發(fā)過(guò)程,但EEPROM型單片機(jī)價(jià)格很高。具有ROM型(掩膜型)內(nèi)存的單片機(jī)價(jià)格最低,它適用于大批量生產(chǎn)。由于ROM型單片機(jī)的代碼只能由生產(chǎn)廠商在制造芯片時(shí)寫(xiě)入,故用戶要更改程序代碼就十分不便,在產(chǎn)品未成熟時(shí)
29、選用ROM型單片機(jī)風(fēng)險(xiǎn)較高。OTP型(一次可編程)單片機(jī)介于EEPROM和ROM型單片機(jī)之間,它允許用戶自己對(duì)其編程,但只能寫(xiě)入一次。OTP型單片機(jī)生產(chǎn)多少完全可由用戶自己掌握,不存在ROM型有最小起訂量和掩膜費(fèi)問(wèn)題,另外,該類(lèi)單片機(jī)價(jià)格已同掩膜型十分接近,故特別受中小批量客戶的歡迎。Flash型(閃速型)單片機(jī)允許用戶使用編程工具或在線快速修改程序代碼,且可反復(fù)使用,故一推出就受到廣大用戶的歡迎。Flash型單片機(jī),即可用于開(kāi)發(fā)過(guò)程,
30、也可用于批量生產(chǎn),隨著制造工藝的改進(jìn),F(xiàn)lash型單片機(jī)價(jià)格不斷下降,使用越來(lái)越普遍,它已是現(xiàn)代單片機(jī)的發(fā)展趨勢(shì)。 隨機(jī)內(nèi)存(RAM):用來(lái)存放程序運(yùn)行時(shí)的工作變量和數(shù)據(jù),由于RAM的制作工藝復(fù)雜,價(jià)格比ROM高得多,所以單片機(jī)的內(nèi)部RAM非常寶貴,通常僅有幾十到幾百個(gè)字節(jié)。R</p><p> 2.中央處理器(CPU)</p><p> 是單片機(jī)的核心單元,通常由算術(shù)邏輯運(yùn)算部件AL
31、U和控制部件構(gòu)成。CPU就像人的大腦一樣,決定了單片機(jī)的運(yùn)算能力和處理速度。 并行輸入/輸出(I/O)口:通常為獨(dú)立的雙向口,任何口既可以用作輸入方式,又可以作輸出方式,通過(guò)軟件編程來(lái)設(shè)定?,F(xiàn)代的單片機(jī)的I/O口也有不同的功能,有的內(nèi)部具有上拉或下拉電阻,有的是漏極開(kāi)路輸出,有的能提供足夠的電流可以直接驅(qū)動(dòng)外部設(shè)備。I/O是單片機(jī)的重要資源,也是衡量單片機(jī)功能的重要指針之一。串口輸入/輸出口:用于單片機(jī)和串行設(shè)備或其它單片機(jī)的通信。串行
32、通信有同步和異步之分,這可以用硬件或通用串行收發(fā)器件來(lái)實(shí)現(xiàn)。不同的單片機(jī)可能提供不同標(biāo)準(zhǔn)的串行通信接口,如UART、SPI、、Micro Wire等。</p><p> 3.定時(shí)器/計(jì)數(shù)器(T/C)</p><p> 單片機(jī)內(nèi)部用于精確定時(shí)或?qū)ν獠渴录ㄝ斎胄盘?hào)如脈沖)進(jìn)行計(jì)數(shù),有的單片機(jī)內(nèi)部有多個(gè)定時(shí)/計(jì)數(shù)器。</p><p><b> 4.系統(tǒng)時(shí)
33、鐘</b></p><p> 通常需要外接石英晶體或其它振蕩源來(lái)提供時(shí)鐘信號(hào)輸入,也有的使用內(nèi)部RC振蕩器。 </p><p> 以上是單片機(jī)的基本構(gòu)成,現(xiàn)代的單片機(jī)又加入了許多新的功能部件,如模擬/數(shù)字轉(zhuǎn)換器(A/D)、數(shù)字/模擬轉(zhuǎn)換器(D/A)、溫度傳感器、液晶(LCD)驅(qū)動(dòng)電路、電壓監(jiān)控、看門(mén)狗(WDT)電路、低壓檢測(cè)(LVD)電路等等。</p><
34、;p> 3.1.2 單片機(jī)編程語(yǔ)言介紹</p><p> 對(duì)于51系列單片機(jī),現(xiàn)有四種語(yǔ)言支持,即匯編、PL/M,C和BASIC。</p><p> BASIC通常附在PC機(jī)上,是初學(xué)編程的第一種語(yǔ)言。一個(gè)新變量名定義之后可在程序中作變量使用,非常易學(xué),根據(jù)解釋的行可以找到錯(cuò)誤而不是當(dāng)程序執(zhí)行完才能顯現(xiàn)出來(lái)。BASIC由于逐行解釋自然很慢,每一行必須在執(zhí)行時(shí)轉(zhuǎn)換成機(jī)器代碼,需要
35、花費(fèi)許多時(shí)間不能做到實(shí)時(shí)性。BASIC為簡(jiǎn)化使用變量,所有變量都用浮點(diǎn)值。BASIC是用于要求編程簡(jiǎn)單而對(duì)編程效率和運(yùn)行速度要求不高的場(chǎng)合。</p><p> PL/M是Intel從8080微處理器開(kāi)始為其系列產(chǎn)品開(kāi)發(fā)的編程語(yǔ)言。它很像PASCAL,是一種結(jié)構(gòu)化語(yǔ)言,但它使用關(guān)鍵詞去定義結(jié)構(gòu)。PL/M編譯器好像匯編器一樣可產(chǎn)生緊湊代碼。PL/M總的來(lái)說(shuō)是“高級(jí)匯編語(yǔ)言”,可詳細(xì)控制著代碼的生成。但對(duì)51系列,P
36、L/M不支持復(fù)雜的算術(shù)運(yùn)算、浮點(diǎn)變量而無(wú)豐富的庫(kù)函數(shù)支持。學(xué)習(xí)PL/M無(wú)異于學(xué)習(xí)一種新語(yǔ)言。</p><p> C語(yǔ)言是一種源于編寫(xiě)UNIX操作系統(tǒng)的語(yǔ)言,它是一種結(jié)構(gòu)化語(yǔ)言,可產(chǎn)生壓縮代碼。C語(yǔ)言結(jié)構(gòu)是以括號(hào){ }而不是子和特殊符號(hào)的語(yǔ)言。C可以進(jìn)行許多機(jī)器級(jí)函數(shù)控制而不用匯編語(yǔ)言。與匯編相比,有如下優(yōu)點(diǎn):對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)51的內(nèi)存結(jié)構(gòu)有初步了解寄存器分配、不同內(nèi)存的尋址及數(shù)據(jù)類(lèi)型等細(xì)節(jié)
37、可由 編譯器管理程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性編程及程序調(diào)試時(shí)間顯著縮短,從而提高效率提供的庫(kù)包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能將已編好程序可容易的植入新程序,因?yàn)樗哂蟹奖愕哪K化編程技術(shù) C語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛的支持,C語(yǔ)言程序本身并不依賴于機(jī)器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機(jī)不同較快地移植過(guò)來(lái)。</p>
38、<p> 51的匯編語(yǔ)言非常像其它匯編語(yǔ)言。指令系統(tǒng)比第一代微處理器要強(qiáng)一些。51的不同存儲(chǔ)區(qū)域使得其復(fù)雜一些。盡管懂得匯編語(yǔ)言不是你的目的,看懂一些可幫助你了解影響任何語(yǔ)言效率的51特殊規(guī)定。例如,懂得匯編語(yǔ)言指令就可以使用在片內(nèi)RAM作變量的優(yōu)勢(shì),因?yàn)槠庾兞啃枰獛讞l指令才能設(shè)置累加器和數(shù)據(jù)指針進(jìn)行存取。要求使用浮點(diǎn)和啟用函數(shù)時(shí)只有具備匯編編程經(jīng)驗(yàn)才能避免生成龐大的、效率低的程序,這需要考慮簡(jiǎn)單的算術(shù)運(yùn)算或先算好的查表法
39、。</p><p> 最好的單片機(jī)編程者應(yīng)是由匯編轉(zhuǎn)用C而不是原來(lái)用過(guò)標(biāo)準(zhǔn)C語(yǔ)言的人。</p><p> 由此來(lái)看,單片機(jī)有著微處理器所不具備的功能,它可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,這是單片機(jī)最大的特征。</p><p> 3.1.3 系統(tǒng)選擇</p><p> 本系統(tǒng)以MCS-51單片機(jī)成員中的STC89C52RC
40、為控制核心。STC89C52RC單片機(jī)是宏晶科技推出的新一代超強(qiáng)干擾、高速、低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可選擇。</p><p> STC89C52RC 具有以下標(biāo)準(zhǔn)功能:8k 字節(jié)Flash,256 字節(jié)RAM,32 位I/O口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6 向量2 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另
41、外,STC89C52RC 可降至0Hz 靜態(tài)邏輯操作,支持2 種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 </p><p> 宏晶科技公司的STC89C52RC單片機(jī),是功能強(qiáng)大、低價(jià)位產(chǎn)品,可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合,它靈活應(yīng)用于各種控制領(lǐng)域。<
42、;/p><p> STC89C52RC的優(yōu)點(diǎn):</p><p><b> 超強(qiáng)抗干擾:</b></p><p> 高抗靜電(ESD保護(hù));</p><p> 輕松過(guò)2KV/4KV 快速脈沖干擾(EFT測(cè)試);</p><p> 寬電壓,不怕電源抖動(dòng);</p><p>
43、 寬溫度范圍, - 40℃~85℃。</p><p> 三大降低單片機(jī)時(shí)鐘對(duì)外部電磁輻射的措施:</p><p><b> 禁止ALE輸出;</b></p><p> 如選6時(shí)鐘/機(jī)器周期,外部時(shí)鐘頻率可降一半;</p><p> 單片機(jī)時(shí)鐘振蕩器增益可設(shè)為1/2 gain 。</p><p
44、><b> 超低功耗:</b></p><p> 掉電模式:典型功耗 <0.1μA>;</p><p> 正常工作模式:典型功耗 4mA-7mA;</p><p> 掉電模式可由外部中斷喚醒,適用于電池供電系統(tǒng),如水表、氣表、便攜設(shè)備等。</p><p><b> 加密性強(qiáng)。<
45、/b></p><p> 在系統(tǒng)可編程, 無(wú)需編程器, 無(wú)需仿真器。</p><p> 可送STC-ISP下載編程器, 1萬(wàn)片/人/天。</p><p> 可供應(yīng)內(nèi)部集成MAX810 專用復(fù)位電路的單片機(jī),只有D 版本才有內(nèi)部集成專用復(fù)位電路,原復(fù)位電路可以保留,也可以不用,不用時(shí)RESET 腳接1K電阻到地。其引腳結(jié)構(gòu)如圖3-1所示。</p>
46、;<p> STC89C52RC的特點(diǎn):</p><p> 增強(qiáng)型6時(shí)鐘/機(jī)器周期,12時(shí)鐘/機(jī)器周期8051CPU。</p><p> 工作電壓:5.5V-3.4V(5V單片機(jī))/3.8V-2.0V(3V 單片機(jī))。</p><p> 工作頻率范圍:0-40MHz,相當(dāng)于普通8051的0~80MHz.實(shí)際工作頻率可達(dá)48MHz。</p&
47、gt;<p> 用戶應(yīng)用程序空間4K/8K/13K/16K/20K/32K/64K字節(jié)。</p><p> 片上集成1280字節(jié)/512字節(jié)RAM。</p><p> 通用I/O 口(32/36個(gè)),復(fù)位后為: P1/P2/P3/P4 是準(zhǔn)雙向口/ 弱上拉(普通8051傳統(tǒng)I/O口)。</p><p> P0 口是開(kāi)漏輸出,作為總線擴(kuò)展用時(shí),不
48、用加上拉電阻,作為I/O 口用時(shí),需加上拉電阻;</p><p> ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專用編程器/ 仿真器;</p><p> 可通過(guò)串口(P3.0/P3.1)直接下載用戶程序,8K程序3 秒即可完成一片。</p><p> EEPROM 功能。</p><p><b> 看門(mén)狗。</
49、b></p><p> 內(nèi)部集成MAX810專用復(fù)位電路(D 版本才有),外部晶體20M以下時(shí),可省外部復(fù)位電路。</p><p> 共3個(gè)16位定時(shí)器/計(jì)數(shù)器,其中定時(shí)器0還可以當(dāng)成2個(gè)8位定時(shí)器使用。</p><p> 外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒。</p><
50、;p> 通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART。</p><p> 工作溫度范圍:0--75℃/-40--+85℃。</p><p> 封裝:LQFP-44,PDIP-40,PLCC-44,PQFP-44。</p><p> 其引腳結(jié)構(gòu)如圖3-1所示:</p><p> 圖3-1 STC89C52RC
51、引腳結(jié)構(gòu)</p><p> 其內(nèi)部結(jié)構(gòu)如圖3-2所示:</p><p> 圖3-2 STC89C52RC 內(nèi)部結(jié)構(gòu)</p><p> 3.1.4 STC89C52RC引腳功能介紹</p><p> 1.電源引腳Vcc和GND </p><p> Vcc:電源電壓,GND(10腳):接地端。</p>
52、;<p> 2.時(shí)鐘電路引腳XTALl和XTAL2</p><p> XTAL2(18腳):接外部晶體和微調(diào)電容的一端。在內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體的固有頻率。要檢查單片機(jī)的振蕩電路是否正確工作,可用示波器查看XTAL2端是否有脈沖信號(hào)輸出。</p><p> XTAL1(19腳):接外部晶體的微調(diào)電容的另一端。在片內(nèi)它是振蕩電路反相放大器
53、的輸入端。若需采用外部時(shí)鐘電路時(shí),該引腳輸入外部時(shí)鐘脈沖如圖3-3,3-4所示。</p><p> 3.控制信號(hào)引腳RST</p><p> RST(9腳)“RST”是復(fù)位信號(hào)輸入端,高電平有效。當(dāng)此輸入端保持兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),可以完成復(fù)位操作。</p><p> 4.I/O(輸入/輸出)P0、P1、P2和P3</p>
54、<p> 標(biāo)準(zhǔn)51單片機(jī),如8031、8051、STC89C51RC、STC89C52RC等有4個(gè)I/O(輸入/輸出)口,分別為:</p><p> P0口:P0口是一個(gè)漏極開(kāi)路的8位雙向I/O口。作為漏極八路的輸出端口,每次能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。當(dāng)P0口作為輸入口使用時(shí),其先向鎖存器(地址80H)寫(xiě)入全1,此時(shí)P0口的全部引腳懸空,叫做為高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被
55、作為低8位地址、數(shù)據(jù)復(fù)用。這種情模式下,P0具有內(nèi)部上拉電阻。</p><p> 在Flash編程時(shí),P0口也接受指令字節(jié),在編程校驗(yàn)時(shí)輸出指令字節(jié),程序校驗(yàn)時(shí),也需要外部上拉電阻。</p><p> 本設(shè)計(jì)利用P0口向數(shù)碼管輸出位和段的數(shù)據(jù),使數(shù)碼管顯示溫度當(dāng)前值、最高設(shè)定值和最低設(shè)定值。</p><p> P1口:P1口是一個(gè)帶上拉電阻的8位準(zhǔn)雙向I/O端
56、口每一位能驅(qū)動(dòng)(吸收成輸出電流)4個(gè)LS型TTL負(fù)載。對(duì)P1端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻端口拉高,此時(shí)可以作為輸入口使用。</p><p> 在Flash編程和校驗(yàn)時(shí),P1口接受低8位地址字節(jié)。如表3-1</p><p><b> 表3-1</b></p><p> 本設(shè)計(jì)利用P1口控制3個(gè)發(fā)光二極管,當(dāng)溫度傳感器檢測(cè)到得溫度高于最高設(shè)定
57、值或低于最低設(shè)定值,系統(tǒng)就會(huì)光報(bào)警(P1.0口、P1.1口、P1.3口)。當(dāng)溫度傳感器異常時(shí),P1.0點(diǎn)亮LED1;當(dāng)溫度傳感器檢測(cè)到得溫度高于最高設(shè)定值,P1.1點(diǎn)亮LED2;當(dāng)溫度傳感器檢測(cè)到得溫度低于最低設(shè)定值,P1.2點(diǎn)亮LED3。P1口并根據(jù)采集來(lái)的溫度高低對(duì)電機(jī)進(jìn)行相應(yīng)的控制(P1.4口控制加熱電機(jī)、P1.5口控制制冷電機(jī))。</p><p> P2口:P2口是一個(gè)帶內(nèi)部接上拉電阻的8位準(zhǔn)雙向埠。P
58、2口的每一位能驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。對(duì)P2口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流在訪問(wèn)外部程序存儲(chǔ)器時(shí),P2口送出高八位地址。</p><p> 本設(shè)計(jì)利用P2.2口來(lái)控制和接收溫度傳感器傳來(lái)的數(shù)據(jù),并利用P2.3口控制蜂鳴器的開(kāi)和關(guān)。</p><p> P3口:P3口是一個(gè)帶內(nèi)部接上拉電阻的8位
59、準(zhǔn)雙向埠。P3口的每一位能驅(qū)動(dòng)(吸收或輸出電流)4個(gè)LS型TTL負(fù)載。P3口與其它的I/O埠有很大區(qū)別,它除作為—般準(zhǔn)雙向I/O口外,每個(gè)引腳還具有專門(mén)的功能,見(jiàn)表3-2。</p><p> 本設(shè)計(jì)利用P3口來(lái)掃描按鍵和它的第二功能。</p><p> 表3-2 端口引腳功能</p><p> P1口也是一個(gè)準(zhǔn)雙向口,作通用I/O口使用。其電路結(jié)構(gòu)見(jiàn)圖3-5
60、。</p><p><b> 5.特殊功能寄存器</b></p><p> 特殊功能寄存器(SFR)的地址空間如表3-3所示</p><p> 表3-3 STC89C52RC特殊寄存器映像及復(fù)位值</p><p> 定時(shí)器2寄存器: 寄存器T2CON 和T2MOD包含定時(shí)器2的控制位和狀態(tài)位(如表3-4)<
61、;/p><p><b> 表3-4</b></p><p> 中斷寄存器:各中斷允許位在IE寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級(jí)也可以在IE中設(shè)置。</p><p> 雙數(shù)據(jù)指針寄存器:為了更有利于訪問(wèn)內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器,位于SFR中82H--85H。</p><p> 掉電標(biāo)志位:
62、掉電標(biāo)志位(P0F)位于特殊寄存器PCON的第四位,上電期間,POF置“1”。POF可以軟件控制。</p><p> 看門(mén)狗定時(shí)器: WDT是一種需要軟件控制的復(fù)位方式,WDT有13位計(jì)數(shù)器和特殊功能寄存器中的看門(mén)狗定時(shí)器復(fù)位存儲(chǔ)器構(gòu)成,WDT在默認(rèn)情況下無(wú)法工作,位了激活WDT,用戶必須往WDTRST寄存器中依次寫(xiě)入01EH 和 0E1H,當(dāng)WDT激活后,晶振工作,WDT在美國(guó)機(jī)器周期都會(huì)增加,WDT計(jì)時(shí)周期
63、依賴于外部晶振的時(shí)鐘頻率。當(dāng)WDT溢出,它將驅(qū)動(dòng)RSR引腳一個(gè)高個(gè)電平輸出。</p><p> 定時(shí)器0和定時(shí)器1:在STC89C52RC中,定時(shí)器0和定時(shí)器1的操作于STC89C52RC和STC89C51RC一樣。</p><p> 定時(shí)器2:定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,也可以做事件計(jì)數(shù)器,其工作方式由特殊寄存器T2CON中的C/T位選擇,由三種工作方式,如表
64、3-5所示。</p><p><b> 表3-5</b></p><p> 中斷:STC89C52RC有6個(gè)中斷源:兩個(gè)外部中斷(INT0 和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。每個(gè)中斷源都可以通過(guò)置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無(wú)效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷。IE.6位是不
65、可用的。對(duì)于STC89C52RC,IE.5 位也是不能用的。用戶軟件不應(yīng) 給這些位寫(xiě)1。它們?yōu)镾TC89系列新產(chǎn)品預(yù)留。定時(shí)器2 可以被寄存器T2CON 中的TF2 和EXF2 的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是TF2或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位TF0和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來(lái)。
66、然而,定時(shí)器2的標(biāo)志位TF2在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來(lái)。如表3-6所示。</p><p><b> 表3-6</b></p><p> 3.2 溫度傳感器DS18B20</p><p> 集成式數(shù)字溫度傳感器DS18B20的出現(xiàn)開(kāi)辟了溫度傳感器技術(shù)的新領(lǐng)域,它利用單總線的特點(diǎn)可以方便的實(shí)現(xiàn)多點(diǎn)溫度的測(cè)
67、量。而可組網(wǎng)數(shù)字溫度傳感器DS18B20則是DS18B20的更新產(chǎn)品,它在電壓、特性及封裝方面都更具有優(yōu)勢(shì),給了用戶更多的選擇,讓用戶可以更方便的構(gòu)建適合自己的測(cè)溫系統(tǒng)。DS18B20充分利用了單總線的獨(dú)特特點(diǎn),可以輕松的組建傳感器網(wǎng)絡(luò),提供系統(tǒng)的抗干擾性,使系統(tǒng)設(shè)計(jì)更靈活、方便、而且適合于在惡劣的環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量。</p><p> 3.2.1 DS18B20</p><p>
68、 1)DS18B20概述</p><p><b> 一般說(shuō)明</b></p><p> DS18B20 數(shù)字溫度計(jì)提供9 位溫度讀數(shù),指示器件的溫度。</p><p> 信息經(jīng)過(guò)單線接口送入DS18B20 或從DS18B20 送出因此從中央處理器到DS18B20 僅需連接一條線(和地)。讀、寫(xiě)和完成溫度變換所需的電源可以由數(shù)據(jù)線本身提供,
69、而不需要外部電源。</p><p> 因?yàn)槊恳粋€(gè)DS18B20 有唯一的系列號(hào)(silicon serial number ),因此多個(gè)DS18B20 可以存在于同一條單線總線上。這允許在許多不同的地方放置溫度靈敏器件。此特性的應(yīng)用范圍包括HVAC環(huán)境控制,建筑物、設(shè)備或機(jī)械內(nèi)的溫度檢測(cè),以及過(guò)程監(jiān)視和控制中的溫度檢測(cè)。</p><p><b> 特性</b>&l
70、t;/p><p> 特獨(dú)特的單線接口,只需1個(gè)接口引腳即可通信</p><p> 多點(diǎn)(multidrop)能力使分布式溫度檢測(cè)應(yīng)用得以簡(jiǎn)化</p><p><b> 不需要外部元件</b></p><p><b> 可用數(shù)據(jù)線供電</b></p><p><b&g
71、t; 不需備份電源</b></p><p> 測(cè)量范圍從-55℃至+125℃增量值為0.5℃等效的華氏溫度范圍是-67℉至257℉, 增量值為0.9℉</p><p> 以9位數(shù)字值方式讀出溫度</p><p> 在1秒(典型值)內(nèi)把溫度變換為數(shù)字</p><p> 用戶可定義的,非易失性的溫度告警設(shè)置</p>
72、;<p> 告警搜索命令識(shí)別和尋址溫度在編定的極限之外的器件(溫度告警情況)</p><p> 應(yīng)用范圍包括恒溫控制,工業(yè)系統(tǒng),消費(fèi)類(lèi)產(chǎn)品,溫度計(jì)或任何熱敏系統(tǒng)</p><p><b> 引腳排列</b></p><p> 圖3-6 DS18B20引腳排列</p><p><b> 2
73、)詳細(xì)說(shuō)明</b></p><p><b> 綜述</b></p><p> 圖3-7的方框圖表示DS18B20 的主要部。DS18B20 有三個(gè)主要的數(shù)據(jù)部件:① 64位激光(lasered)ROM;② 溫度靈敏元件;③ 非易失性溫度告警觸發(fā)器TH 和TL。器件從單線的通信線取得其電源,在信號(hào)線為高電平的時(shí)間周期內(nèi),把能量貯存在內(nèi)部的電容器中,在單信
74、號(hào)線為低電平的時(shí)間期內(nèi)斷開(kāi)此電源,直到信號(hào)線變?yōu)楦唠娖街匦陆由霞纳娙荩╇娫礊橹埂W鳛榱硪环N可供選擇的方法,DS18B20也可用外部5V電源供電。</p><p> 圖3-7 DS18B20 方框圖</p><p> 與DS18B20 的通信經(jīng)過(guò)一個(gè)單線接口。在單線接口情況下,在ROM 操作未定建立之前不能使用存貯器和控制操作。主機(jī)必須首先提供五種ROM 操作命令之一:① Read
75、 ROM(讀ROM),② Match ROM(符合ROM),③ Search ROM(搜索ROM),④ Skip ROM(跳過(guò)ROM),或⑤Alarm Search(告警搜索) 這些命令對(duì)每一器件的64位激光ROM部分進(jìn)行操作。如果在單線上有許多器件,那么可以挑選出一個(gè)特定的器件,并給總線上的主機(jī)指示存在多少器件及其類(lèi)型。在成功地執(zhí)行了ROM 操作序列之后,可使用存貯器和控制操作,然后主機(jī)可以提供六種存貯器和控制操作命令之一。</
76、p><p> 一個(gè)控制操作命令指示DS18B20 完成溫度測(cè)量。該測(cè)量的結(jié)果將放入DS18B20的高速暫存(便箋式)存貯器(Scratchpad memory),通過(guò)發(fā)出讀暫存存儲(chǔ)器內(nèi)容的存儲(chǔ)器操作命令可以讀出此結(jié)果。每一溫度告警觸發(fā)器TH和TL 構(gòu)成一個(gè)字節(jié)的EEPROM。如果不對(duì)DS18B20 施加告警搜索命令,這些寄存器可用作通用用戶存儲(chǔ)器。使用存儲(chǔ)器操作命令可以寫(xiě)TH 和TL 。對(duì)這些寄存器的讀訪問(wèn)通過(guò)便箋
77、存儲(chǔ)器。所有數(shù)據(jù)均以最低有效位在前的方式被讀寫(xiě)。</p><p> 寄生電源(parasite power)</p><p> 方框圖(圖3-7)示出寄生電源電路。當(dāng)I/O或VDD引腳為高電平時(shí),這個(gè)電路便“取”得電源。只要符合指定的定時(shí)和電壓要求,I/O將提供足夠的功率。寄生電源的優(yōu)點(diǎn)是雙重的:① 利用此引腳遠(yuǎn)程溫度檢測(cè)無(wú)需本地電源,② 缺少正常電源條件下也可以讀ROM。</p
78、><p> 為了使DS18B20 能完成準(zhǔn)確的溫度變換,當(dāng)溫度變換發(fā)生時(shí),I/O線上必須提供足夠的功率。因?yàn)镈S18B20 的工作電流高達(dá)1mA,5K 的上拉電阻將使I/O線沒(méi)有足夠的驅(qū)動(dòng)能力。如果幾個(gè)DS18B20在同一條I/O 線上而且企圖同時(shí)變換,那么這一問(wèn)題將變得特別尖銳。</p><p> 有兩種方法確保DS18B20 在其有效變換期內(nèi)得到足夠的電源電流。第一種方法是發(fā)生溫度變換
79、時(shí),在I/O線上提供一強(qiáng)的上拉。如圖3-8 所示,通過(guò)使用一個(gè)MOSFET 把I/O 線直接拉到電源可達(dá)到這一點(diǎn)。當(dāng)使用寄生電源方式時(shí)VDD 引腳必須連接到地。</p><p> 向DS18B20 供電的另外一種方法是通過(guò)使用連接到VDD 引腳的外部電源,如圖3-9所示。這種方法的優(yōu)點(diǎn)是在I/O 線上不要求強(qiáng)的上拉??偩€上主機(jī)不需向上連接便在溫度變換期間使線保持高電平。這就允許在變換時(shí)間內(nèi)其它數(shù)據(jù)在單線上傳送。
80、此外,在單線總線上可以放置任何數(shù)目的DS18B20,而且如果它們都使用外部電源,那么通過(guò)發(fā)出跳過(guò)(Skip)ROM命令和接著發(fā)出變換(Convert)T命令,可以同時(shí)完成溫度變換。注意只要外部電源處于工作狀態(tài),GND引腳不可懸空。</p><p> 圖3-8 強(qiáng)上拉在溫度變換期內(nèi)向DS18B20供電</p><p> 在總線上主機(jī)不知道總線上DS18B20 是寄生電源供電還是外部VD
81、D供電的情況下,在DS18B20內(nèi)采取了措施來(lái)通知采用的供電方案。總線上主機(jī)通過(guò)發(fā)出跳過(guò)(Skip)ROM 的操作約定,然后發(fā)出讀電源命令,可以決定是否有需要強(qiáng)上拉的DS18B20 在總線上。在此命令發(fā)出后,主機(jī)接著發(fā)出讀時(shí)間片。如果是寄生供電,DS18B20 將在單線總線上送回“0”:如果由VDD 引腳供電,它將送回“1”。如果主機(jī)接收到一個(gè)“0”它知道它必須在溫度變換期間在I/O 線上供一個(gè)強(qiáng)的上拉。</p><
82、p> 圖3-9 使用VDD 提供溫度變換所需電流</p><p><b> 運(yùn)用--測(cè)量溫度</b></p><p> DS18B20 通過(guò)使用在(on-board)溫度測(cè)量專利技術(shù)來(lái)測(cè)量溫度。溫度測(cè)量電路的方框圖見(jiàn)圖3-10所示。</p><p> 圖3-10 溫度測(cè)量電路</p><p> DS1
83、8B20通過(guò)門(mén)開(kāi)通期間內(nèi)低溫度系數(shù)振蕩器經(jīng)歷的時(shí)鐘周期個(gè)數(shù)計(jì)數(shù)來(lái)測(cè)量溫度,而門(mén)開(kāi)通期由高溫度系數(shù)振蕩器決定。計(jì)數(shù)器予置對(duì)應(yīng)于-55℃的基數(shù),如果在門(mén)開(kāi)通期結(jié)束前計(jì)數(shù)器達(dá)到零,那么溫度寄存器它也被予置到-55℃的數(shù)值將增量,指示溫度高于-55℃。</p><p> 同時(shí),計(jì)數(shù)器用鈄率累加器電路所決定的值進(jìn)行予置。為了對(duì)遵循拋物線規(guī)律的振蕩器溫度特性進(jìn)行補(bǔ)償,這種電路是必需的。時(shí)鐘再次使計(jì)數(shù)器計(jì)值至它達(dá)到零。如果門(mén)
84、開(kāi)通時(shí)間仍未結(jié)束,那么此過(guò)程再次重復(fù)。</p><p> 鈄率累加器用于補(bǔ)償振蕩器溫度特性的非線性,以產(chǎn)生高分辯率的溫度測(cè)量。通過(guò)改變溫度每升高一度,計(jì)數(shù)器必須經(jīng)歷的計(jì)數(shù)個(gè)數(shù)來(lái)實(shí)行補(bǔ)償。因此,為了獲得所需的分辯率,計(jì)數(shù)器的數(shù)值以及在給定溫度處每一攝氏度的計(jì)數(shù)個(gè)數(shù)(鈄率累加器的值)二者都必須知道。</p><p> 此計(jì)算在DS18B20內(nèi)部完成以提供0.5℃的分辯率。溫度讀數(shù)以16位、
85、符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供。表3-7說(shuō)明輸出數(shù)據(jù)對(duì)測(cè)量溫度的關(guān)系。數(shù)據(jù)在單線接口上串行發(fā)送。DS18B20可以以0.5℃的增量值,在0.5℃至+125℃的范圍內(nèi)測(cè)量溫度對(duì)于應(yīng)用華氏溫度的場(chǎng)合必須使用查找表或變換系數(shù)。</p><p> 注意,在DS18B20 中,溫度是以1/2℃LSB(最低有效位)形式表示時(shí),產(chǎn)生以下9 位格式,如圖3-11。</p><p> 圖3-11 溫
86、度是以1/2℃LSB形式表示圖</p><p> 最高有效(符號(hào))位被復(fù)制到存儲(chǔ)器內(nèi)兩字節(jié)的溫度寄存器中較高M(jìn)SB 的所有位,這種“符號(hào)擴(kuò)展”產(chǎn)生了如表3-7所示的16位溫度讀數(shù)。</p><p> 以下的過(guò)程可以獲得較高的分辯率首先讀溫度并從讀得的值截去0.5℃位(最低有效位)。這個(gè)值便是TEMP_READ。然后可以讀留在計(jì)數(shù)器內(nèi)的值。此值是門(mén)開(kāi)通期停止之后計(jì)數(shù)剩余,公式3-1:&l
87、t;/p><p><b> (3-1)</b></p><p> (COUNT_REMAIN)。 所需的最后一個(gè)數(shù)值是在該溫度處每一攝氏度的計(jì)數(shù)個(gè)數(shù)(COUNT_PER_C )于是用戶可以使用下式計(jì)算實(shí)際溫度,表3-7。</p><p> 表3-7 溫度/數(shù)據(jù)關(guān)系</p><p><b> 運(yùn)用告警信號(hào)&
88、lt;/b></p><p> 在DS18B20 完成溫度變換之后,溫度值與貯存在TH和TL內(nèi)的觸發(fā)值相比較因?yàn)檫@些寄存器僅僅是8位,所以0.5℃位在比較時(shí)被忽略。TH 或TL 的最高有較位直接對(duì)應(yīng)于16 位溫度寄存器的符號(hào)位。如果溫度測(cè)量的結(jié)果高于TH 或低于TL,那么器件內(nèi)告警標(biāo)志將置位。每次溫度測(cè)量更新此標(biāo)志。只要告警標(biāo)志置位DS18B20 將對(duì)告警搜索命令作出響應(yīng)。這允許并聯(lián)連接許多DS18B20
89、,同時(shí)進(jìn)行溫度測(cè)量。如果某處溫度超過(guò)極限,那么可以識(shí)別出正在告警的器件并立即將其讀出而不必讀出非告警的器件。</p><p><b> 64 位激光ROM</b></p><p> 每一DS18B20 包括一個(gè)唯一的64 位長(zhǎng)的ROM 編碼。開(kāi)始的8位是單線產(chǎn)品系列編碼</p><p> ?。―S18B20 編碼是10h)。接著的48 位是
90、唯一的系列號(hào)。最后的8位是開(kāi)始56 位CRC (見(jiàn)圖3-12)。64位ROM 和ROM 操作控制部分允許DS18B20 作為一個(gè)單線器件工作并遵循“單線總線系統(tǒng)”一節(jié)中所詳述的單線協(xié)議。直到ROM 操作協(xié)議被滿足,DS18B20 控制部分的功能是不可訪問(wèn)的。此協(xié)議在ROM操作協(xié)議流程圖(圖3-13)中敘述。單線總線主機(jī)必須首先操作五種ROM操作命令之一:① Read ROM(讀ROM),② Match ROM(匹配ROM),③ Sear
91、ch ROM(搜索ROM),④ Skip ROM(跳過(guò)ROM),或⑤ Alarm Search(告警搜索)。在成功地執(zhí)行了ROM 操作序列之后,DS18B20 特定的功能便可訪問(wèn),然后總線上主機(jī)可提供六個(gè)存貯器和控制功能命令之一。</p><p> 圖3-12 64位激光ROM</p><p> 圖3-13 ROM操作流程圖</p><p><b>
92、; CRC 產(chǎn)生</b></p><p> DS18B20 有一存貯在64 位ROM 的最高有效字節(jié)內(nèi)的8 位CRC??偩€上的主機(jī)可以根據(jù)64 位ROM 的前56 位計(jì)算機(jī)CRC 的值并把它與存貯在DS18B20 內(nèi)的值進(jìn)行比較以決定ROM 的數(shù)據(jù)是否已被主機(jī)正確地接收。CRC 的等效多項(xiàng)式函數(shù)為(公式3-2):</p><p><b> (3-2)</b
93、></p><p> DS18B20 也利用與上述相同的多項(xiàng)式函數(shù)產(chǎn)生一個(gè)8 位CRC 值并把此值提供給總線的主機(jī)以確認(rèn)數(shù)據(jù)字節(jié)的傳送。在使用CRC 來(lái)確認(rèn)數(shù)據(jù)傳送的每一種情況中,總線主機(jī)必須使用上面給出的多項(xiàng)式函數(shù)計(jì)算CRC 的值并把計(jì)算所得的值或者與存貯在DS18B20 的64 位ROM 部分中的8 位CRC值(ROM 讀數(shù))或者與DS18B20 中計(jì)算得到的8 位CRC值(在讀暫存存貯器中時(shí),它作為
94、第九個(gè)字節(jié)被讀出),進(jìn)行比較。CRC 值的比較和是否繼續(xù)操作都由總線主機(jī)來(lái)決定。當(dāng)存貯在DS18B20 內(nèi)或由DS18B20計(jì)算得到的CRC 值與總線主機(jī)產(chǎn)生的值不相符合時(shí),在DS18B20 內(nèi)沒(méi)有電路來(lái)阻止命令序列的繼續(xù)執(zhí)行。</p><p> 總線CRC 可以使用如圖3-14所示由一個(gè)移位寄存器和“異或”(XOR)門(mén)組成的多項(xiàng)式產(chǎn)生器來(lái)產(chǎn)生。其它有關(guān)Dallas 公司單線循環(huán)冗余校驗(yàn)的信息可參見(jiàn)標(biāo)題為“理解
95、和使用Dallas 半導(dǎo)體公司接觸式存貯器產(chǎn)品”的應(yīng)用注釋。</p><p> 移位寄存器的所有位被初始化為零。然后從產(chǎn)品系列編碼的最低有效位開(kāi)始,每次移入一位。當(dāng)產(chǎn)品系列編碼的8 位移入以后,接著移入序列號(hào)。在序列號(hào)的第48 位進(jìn)入之后,移位寄存器便包含了CRC 值。移入CRC 的8 位應(yīng)該使移位寄存器返回至全零。</p><p> 圖3-14 單線CRC編碼</p>
96、<p><b> 存貯器</b></p><p> DS18B20 的存貯器如圖所示那樣被組織。存貯器由一個(gè)高速暫存(便箋式)RAM 和一</p><p> 個(gè)非易失性,電可擦除EERAM 組成,后者存貯高溫度和低溫度和觸發(fā)器TH 和TL。暫存存貯器有助于在單線通信時(shí)確保數(shù)據(jù)的完整性。數(shù)據(jù)首先寫(xiě)入暫存存貯器,在那里它可以被讀回。當(dāng)數(shù)據(jù)被校驗(yàn)之后,復(fù)制
97、暫存存貯器的命令把數(shù)據(jù)傳送到非易失性EERAM。這一過(guò)程確保了更改存貯器時(shí)數(shù)據(jù)的完整性。</p><p> 圖3-15 DS18B20存貯器映象圖</p><p> 暫存存貯器是按8 位字節(jié)存儲(chǔ)器來(lái)組織的。頭兩個(gè)字節(jié)包含測(cè)得溫度信息。第三和第四個(gè)字節(jié)是TH和TL的易失性拷貝,在每一次上電復(fù)位時(shí)被刷新。接著的兩個(gè)字節(jié)沒(méi)有使用,但是在讀回時(shí),它們呈現(xiàn)為邏輯全1。</p>&
98、lt;p> 3.2.2 DS18B20的硬件連接</p><p> DS18B20與單片機(jī)的接口極其簡(jiǎn)單,只需將DS18B20的信號(hào)線與單片機(jī)的一位雙向端口相連即可。如圖3-16(a)所示。此時(shí)應(yīng)注意將VDD、DQ、GND三線焊接牢固。另外也可用兩個(gè)端口,即接收口與發(fā)送口分開(kāi),這樣讀寫(xiě)操作就分開(kāi)了,不會(huì)出現(xiàn)信號(hào)競(jìng)爭(zhēng)的問(wèn)題。如圖3-16(b)所示。此圖是采用寄生電源方式,將DS18B20的VDD和GND接
99、在一起。如若VDD脫開(kāi)未接好,傳感器將只送+85.0℃的溫度值。一般測(cè)溫電纜線采用屏蔽4芯雙絞線,其中一對(duì)接地線與信號(hào)線,另一對(duì)接VDD和地線,屏蔽層在源端單點(diǎn)接地。</p><p> 4 溫度監(jiān)控系統(tǒng)的設(shè)計(jì)</p><p><b> 4.1硬件設(shè)計(jì)</b></p><p> 基于單片機(jī)的溫度監(jiān)控主要有以下幾部分:溫度檢測(cè)數(shù)據(jù)采集部分,
100、LED數(shù)碼管顯示電路、報(bào)警及控制輸出部分、單片機(jī)及按鍵電路設(shè)計(jì)等幾個(gè)部分,下面分別加以介紹,硬件模塊如圖4-1所示。</p><p> 圖4-1 硬件模塊圖</p><p> 4.1.1 溫度檢測(cè)部分</p><p> 溫度傳感器有很多種,如熱敏電阻,熱電偶,PN結(jié),半導(dǎo)體溫度傳感器等。這里選用單總線數(shù)字輸出的集成半導(dǎo)體溫度傳感器DS18B20,其特點(diǎn):獨(dú)特
101、的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊;測(cè)溫范圍-55℃~+125℃,固有測(cè)溫分辨率0.5℃;支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫;工作電源:3~5V/DC。</p><p> 溫度檢測(cè)數(shù)據(jù)采集電路如圖4-2所示,由溫度傳感器DS18B20采集被控對(duì)象的實(shí)時(shí)溫度,提供給STC89C52RC的I/O口作為數(shù)據(jù)輸入
102、。在本次設(shè)計(jì)中我們所控的對(duì)象為環(huán)境監(jiān)測(cè)的溫度。</p><p> 圖4-2 溫度傳感器電路</p><p> 4.1.2 LED數(shù)碼管顯示電路</p><p> 顯示器分為數(shù)碼管和液晶顯示,我所采用是的數(shù)碼管顯示,其外形和引腳如下圖4-3所示:</p><p> LED數(shù)碼有共陽(yáng)和共陰兩種,把這些LED發(fā)光二極管的正極接到一塊(一般
103、是拼成一個(gè)8字加一個(gè)小數(shù)點(diǎn))而作為一個(gè)引腳,就叫共陽(yáng)機(jī)極數(shù)碼管;相反的,就叫共陰的(如下圖4-4所示)那么應(yīng)用時(shí)這個(gè)腳就分別的接VCC和GND。再把多個(gè)這樣的8字裝在一起就成了多位的數(shù)碼管了。</p><p> 基于單片機(jī)的溫度控制及檢測(cè)系統(tǒng)采用7段數(shù)LED碼管顯示,這里采用2個(gè)4位數(shù)碼管顯示溫度,三位顯示熱水的當(dāng)前溫度,第一位顯示十位,第二位顯示個(gè)位和小數(shù)點(diǎn),第三位顯示小數(shù)點(diǎn)后第一位。還有用四位顯示兩位設(shè)定溫
104、度的最高值和兩位最低值。</p><p> 8位共陽(yáng)極數(shù)碼管采用掃描形式工作,其8個(gè)數(shù)據(jù)為接在單片機(jī)灌電流驅(qū)動(dòng)能力最大的PO口,STC89C52RC單片機(jī)的P0口的每一個(gè)I/O都能能吸收8個(gè)TTL邏輯器件的輸入漏電流,算下來(lái)能驅(qū)動(dòng)約10mA。能驅(qū)動(dòng)數(shù)碼管的8個(gè)數(shù)據(jù)陰極。</p><p> 數(shù)碼管驅(qū)動(dòng)方式:數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因
105、此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類(lèi)。</p><p> ?、?靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二或十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)C52單片機(jī)可用的I/O端口才32
106、個(gè),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。</p><p> ② 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究
107、竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍
108、感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p> 本系統(tǒng)采用第二種驅(qū)動(dòng),用74HC573鎖存器來(lái)輔助控制,僅用一個(gè)P0口就能控制8個(gè)數(shù)碼管顯示。</p><p> LED數(shù)碼管顯示電路如圖4-5所示。</p><p> 圖4-5 數(shù)碼管顯示電路</p><p> 74HC573為三態(tài)輸
109、出的八D 透明鎖存器,573 的輸出端O0--O7 可直接與總線相連。</p><p> 當(dāng)三態(tài)允許控制端OE為低電平時(shí),O0--O7為正常邏輯狀態(tài),可用來(lái)驅(qū)動(dòng)負(fù)載或總線。當(dāng)OE為高電平時(shí),O0--O7呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。</p><p> 當(dāng)鎖存允許端 LE 為高電平時(shí),O 隨數(shù)據(jù)D而變。當(dāng)LE為低電平時(shí),O被鎖存在</p&
110、gt;<p><b> 已建立的數(shù)據(jù)電平。</b></p><p> 當(dāng) LE 端施密特觸發(fā)器的輸入滯后作用,使交流和直流噪聲抗擾度被改善400mV。</p><p><b> 引出端符號(hào):</b></p><p> ?D0~D7為數(shù)據(jù)輸入端</p><p> ?OE為三
111、態(tài)允許控制端(低電平有效)</p><p> ?LE為鎖存允許端</p><p> ?O0--O7為輸出端</p><p><b> 外部管腿圖:</b></p><p> 圖4-6 74HC573外部管腳圖</p><p><b> 邏輯圖:</b><
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- led顯示器畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---室內(nèi)溫度、濕度、時(shí)間滾動(dòng)顯示器設(shè)計(jì)
- 基于嵌入式系統(tǒng)的雷達(dá)顯示器研究.pdf
- 數(shù)碼顯示器畢業(yè)論文---lcd數(shù)碼顯示器的設(shè)計(jì)與制作
- 畢業(yè)設(shè)計(jì)----led字符顯示器
- 嵌入式畢業(yè)論文-溫度測(cè)量系統(tǒng)
- 嵌入式雷達(dá)信號(hào)模擬器顯示控制設(shè)計(jì).pdf
- 基于ARM嵌入式溫度控制器設(shè)計(jì).pdf
- 顯示器支架沖壓模畢業(yè)設(shè)計(jì)
- 顯示器支架沖壓模畢業(yè)設(shè)計(jì)
- 顯示器支架沖壓模畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----顯示器支架沖壓模
- 畢業(yè)設(shè)計(jì)---led旋轉(zhuǎn)顯示器的設(shè)計(jì)
- 嵌入式模糊pid溫度控制實(shí)現(xiàn)設(shè)計(jì)【自動(dòng)化畢業(yè)論文】
- 畢業(yè)設(shè)計(jì)---led旋轉(zhuǎn)顯示器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--led旋轉(zhuǎn)顯示器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-嵌入式系統(tǒng)開(kāi)發(fā)
- 旋轉(zhuǎn)led顯示器的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---led旋轉(zhuǎn)顯示器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于嵌入式linux公交漢字顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論