畢業(yè)設計44576_第1頁
畢業(yè)設計44576_第2頁
畢業(yè)設計44576_第3頁
畢業(yè)設計44576_第4頁
畢業(yè)設計44576_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、目錄第1章 緒論1.1 單片機的概述1.2 單片機研究現(xiàn)狀1.3 溫度控制的研究意義和目的1.4 課題設計任務和要求第2章單片機溫度控制系統(tǒng)的概述2.1 MCS-51單片機簡介 MCS-51 單片機的特點及應用2.2 外圍電路 振蕩電路 復位電路 鍵盤電路設計 顯示電路設計2.3 本章小結(jié)第3章 系統(tǒng)設計思想及主要應用器件3.1 系統(tǒng)設計的總體思想3.2 系統(tǒng)硬件簡介 硬件設計思想3.3 系統(tǒng)主要器件 核心控制器件 AT89C52 DS1820內(nèi)部結(jié)構(gòu)及工作原理 LCD1602A 內(nèi)部結(jié)構(gòu)及工作原理3.4 本章小結(jié)第4章 系統(tǒng)軟件設計4.1 軟件設計總體思路及主程序流程圖4.2 測溫模塊 溫度

2、的采集 溫度的測量4.3 顯示模塊流程圖4-4所示4.4 鍵盤掃描流程圖結(jié)論謝 辭參考文獻附錄1 原理圖和仿真測試附錄2 軟件程序第1章 緒論1.1 單片機的概述 隨著現(xiàn)代工業(yè)的逐步發(fā)展,在工業(yè)生產(chǎn)中,溫度、壓力、流量和液位是四種最常見的過程變量。其中,溫度是一個非常重要的過程變量。例如:在冶金工業(yè)、化工工業(yè)、電力工業(yè)、機械加工和食品加工等許多領域,都需要對各種加熱爐、熱處理爐、反應爐和鍋爐的溫度進行控制。然而,用常規(guī)的控制方法,潛力是有限的,難以滿足較高的性能要求。采用單片機來對它們進行控制不僅具有控制方便、簡單和靈活性大的優(yōu)點,而且可以大幅度提高被測溫度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)

3、量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的控制問題。在人類的生活環(huán)境中,溫度扮演著極其重要的角色。 單片微型計算機是隨著超大規(guī)模集成電路技術(shù)的發(fā)展而誕生的,由于它具有體積小、功能強、性價比高等特點,所以廣泛應用于電子儀表、家用電器、節(jié)能裝置、軍事裝置、機器人、工業(yè)控制等諸多領域,使產(chǎn)品小型化、智能化,既提高了產(chǎn)品的功能和質(zhì)量,又降低了成本,簡化了設計。 1.2 單片機研究現(xiàn)狀 縱觀我們現(xiàn)在生活的各個領域,從導 彈的導航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù) 處理,以及我們生活中廣泛使用的各種智能IC 卡、電子寵物等,

4、這些都離不開單片機。以前沒有單片機時,這些 東西也能做,但是只能使用復雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長期使用, 元器件不斷老化,控制的精度自然也會達不到標準。在單片機產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀?只需要在單片機外圍接一點簡單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,成 本也降低了,長期使用也不會擔心精度達不到了。所以,它的魔力不僅是在現(xiàn)在,在將來將會有更多的 人來接受它、使用它。據(jù)統(tǒng)計,我國的單片機年容量已達13 億片,且每年以大約16%的速度增長,但相對于世界市場我國的占有率還不到1%。特別是沿海地區(qū)的玩具廠等

5、生產(chǎn)產(chǎn)品多數(shù)用到單片機,并不斷地輻射向內(nèi)地。 所以,學習單片機在我國是有著廣闊前景的6。1.3溫度控制的研究意義和目的 溫度是工業(yè)生產(chǎn)中常見的工藝參數(shù)之一,任何物理變化和化學反應過程都與溫度密切相關(guān),因此溫度控制是生產(chǎn)自動化的重要任務。對于不同生產(chǎn)情況和工藝要求下的溫度控制,所采用的加熱方式,燃料,控制方案也有所不同。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。1.4 課題設計任務和要求 本文所要研究的課題是基于單片機

6、溫度控制及報警系統(tǒng)的設計,介紹了對溫度的顯示、控制及報警,實現(xiàn)了溫度的實時顯示及控制。溫度控制部分,提出了用DS18B20、89C52單片機及LED的硬件電路完成對溫度的實時檢測及顯示,利用DS18B20與單片機連接由軟件與硬件電路配合來實現(xiàn)實時控制及超出設定的上下限溫度的報警系統(tǒng)。課題設計的目的:1.掌握用51單片機控制LCD顯示字符的方法。 2.掌握用單片機進行顯示系統(tǒng)開發(fā)的方法。3.掌握單片機軟件、硬件調(diào)試技術(shù)。4.了解單線器件DS18B20的驅(qū)動方法。 5.了解LCD顯示器的一般驅(qū)動原理。第2章 單片機溫度控制系統(tǒng)的概述2.1 MCS-51單片機簡介 MCS-51系列單片機無論是片內(nèi)R

7、AM容量,I/O口功能,系統(tǒng)擴展能力還是指令系統(tǒng)和CPU的處理功能都非常的強。尤其是MCS-51系列就是所特有的布爾處理機,在邏輯處理和控制方面具有突出優(yōu)點。MCS-51系列單片機適合于實時控制,可構(gòu)成工業(yè)控制器、智能儀表、智能接口以及通用的測控單元等。 MCS-51 單片機的特點及應用MCS-51系列單片機主要產(chǎn)品及特點如2-1所示。表2-1 MCS-51系列單片機特點子系列片內(nèi)ROM形式片內(nèi)ROM容量片內(nèi)RAM容量尋址范圍I/O特性中斷源無ROMEPROM計數(shù)器并行口串行口518031805187514KB128B264KB216481580C3180C5187C514KB128B264K

8、B2164815528032805287528KB256B264KB316481680C3280C5287C528KB256B264KB3164816MCS-51單片機(此處以8051為例)芯片的基本組成如圖2-2所示:圖2-28051芯片的內(nèi)部組成框圖圖中各組成部分:a.中央處理器(CPU)。它是單片機的核心,包括運算器和控制器兩個主要組成部分,用于實現(xiàn)運算和控制功能。運算器主要包括算術(shù)邏輯運算部件(ALU)、位處理器、累加器A、寄存器B、緩存器TMP1和TMP2、程序狀態(tài)字寄存器PSW以及十進制調(diào)整電路等。其主要功能是實現(xiàn)數(shù)據(jù)的算術(shù)運算、邏輯運算、位操作及數(shù)據(jù)傳送等??刂破髦饕蓵r鐘和時序

9、電路以及一些控制寄存器組成。其主要功能是協(xié)調(diào)整個單片機的工作,產(chǎn)生時序脈沖和提供控制信號等。b.數(shù)據(jù)存儲器。MCS-51系列單片機芯片數(shù)據(jù)存儲器共有128個存儲單元,用于存放可讀寫的數(shù)據(jù)。為了與外部擴展的數(shù)據(jù)存儲器相區(qū)別,通常稱芯片內(nèi)部的數(shù)據(jù)存儲器為內(nèi)部數(shù)據(jù)存儲器,簡稱內(nèi)部RAM。c.程序存儲器。8051芯片內(nèi)部有4KB掩膜ROM,8751芯片內(nèi)部有4KB EPROM,用來存放程序和原始數(shù)據(jù)。通常稱之為內(nèi)部程序存儲器或內(nèi)部ROM。d.定時器/計數(shù)器。MCS-51共有兩個16位的定時器/計數(shù)器,以實現(xiàn)定時和計數(shù)功能。e.并行I/O口。MCS-51共有四個8位的I/O口(即P0、P1、P2和P3)

10、,用以完成數(shù)據(jù)的并行輸入/輸出。f.串行I/O口。MCS-51有一個全雙工串行口,以實現(xiàn)單片機和其他計算機或設備之間的串行數(shù)據(jù)傳送。g.中斷控制系統(tǒng)。MCS-51共有5個中斷源,分高和低兩個優(yōu)先級別3。2.2 外圍電路單片機的外圍電路如圖2-3所示,主要包括振蕩電路,復位電路。 圖2-3 單片機外圍電路 振蕩電路 AT89C52的XTAL1和XTAL2引腳分別為單片機內(nèi)反相放大器的輸入和輸出端,其頻率范圍上限為24MHz。這個內(nèi)部反相器與外部元件組成皮爾斯振蕩器, C1,C2是30pF的電容。C1,C2沒有嚴格要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩工作的穩(wěn)定性、起振的難易程度及溫

11、度穩(wěn)定性,通常選擇在1030pF左右。在任何情況下,振蕩器始終驅(qū)動內(nèi)部時鐘發(fā)生器向主機提供時鐘信號。因為時鐘發(fā)生器的輸入是個二分頻觸發(fā)器,所以對外部振蕩信號的脈寬無特殊要求,但必須保證高低電平的最小寬度。在外接晶振11.0592MHZ時,一個機器周期為ls,一個振蕩周期為1/12s。 復位電路RST為復位信號輸入端口引腳,它是斯密特觸發(fā)器的一個輸入端。復位信號是高電平有效,其有效時間應持續(xù)24個振蕩脈沖周期(即兩個機器周期)以上。復位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復位信號(RST)送斯密特觸發(fā)器,再由片內(nèi)復位電路在每個機器周期的S5P2時刻對斯密特觸發(fā)器的輸出進行采樣,然后才得到內(nèi)部

12、復位操作所需要的信號。本設計中的復位電路。由C3,R1,R2和按鍵組成按鍵電平復位。復位端經(jīng)電阻與Vcc電源接通。主控制芯片的復位電路是采用的按鍵復位,而從機采用的是上電復位。 鍵盤電路設計根據(jù)設計任務書中要求實現(xiàn)的功能,我選擇了3個鍵盤來設置溫度的上、下限值,此鍵盤設計符合系統(tǒng)設置要求,所以我選擇此鍵盤完成本設計。矩陣鍵盤結(jié)構(gòu):鍵盤實際上是一組按鍵開關(guān)的集合,平時按鍵開關(guān)總是處于斷開狀態(tài),當按下鍵時它才閉合。鍵盤結(jié)構(gòu)能夠有效的提高單片機系統(tǒng)中I/O口的利用率。它的結(jié)構(gòu)和產(chǎn)生的波形如圖2-4所示。圖2-4 鍵盤結(jié)構(gòu)及產(chǎn)生的波形圖顯示電路設計溫度顯示工作原理: LCD1602可以采用兩種方式與單

13、片機連接,一種是采用8位數(shù)據(jù)總線D0D7,和RS、R/W、EN三個控制端口;另一種是只用D4-D7作為四位數(shù)據(jù)分兩次傳送。本實驗將使用并采用八位數(shù)據(jù)方式來控制1602顯示。 進行LCD設計主要是LCD的控制/驅(qū)動和外界的接口設計??刂浦饕峭ㄟ^接口與外界通信、管理內(nèi)/外顯示RAM,控制驅(qū)動器,分配顯示數(shù)據(jù);驅(qū)動主要是根據(jù)控制器要求,驅(qū)動LCD進行顯示。控制器還常含有內(nèi)部ASCII字符庫,或可外擴的大容量漢字庫。2.3 本章小結(jié) 單片機具有全電腦功能,且體積小、可靠性高、價格便宜、簡單易學和開發(fā)應用方便,深受廣大科技人員的歡迎。單片機具有眾多的I/O口線,豐富的操作指令,較強的邏輯能力,特別適用

14、于各類工業(yè)測控系統(tǒng)。今后一段時期內(nèi),單片機發(fā)展的總趨勢將是不斷推出高檔和高性能的機型;重點提高8位單片機的性能;采用新工藝,實現(xiàn)低功耗、寬電壓、高速度、高可靠性;以及日趨單片化。 單片機以其高可靠性、高性能價格比廣泛地用于各種實時控制系統(tǒng)中,將測量技術(shù)、自動控制技術(shù)和單片機技術(shù)相結(jié)合,充分發(fā)揮數(shù)據(jù)處理和實時控制的功能,使系統(tǒng)處于最佳狀態(tài),在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀表等諸多領域得到廣泛應用。目前,可用于單片機開發(fā)的硬件越來越多,與之配套的開發(fā)系統(tǒng)和各種應用軟件也日趨完善。第3章 系統(tǒng)設計思想及主要應用器件3.1 系統(tǒng)設計的總體思想 根據(jù)單片機溫度控制要實現(xiàn)的功能,設計了基于ATMEL

15、公司的AT89C52芯片的溫度測量系統(tǒng)。這是一種低成本的利用單片機多余I/O口實現(xiàn)的溫度檢測電路。整個系統(tǒng)硬件部分包括溫度檢測系統(tǒng)、信號放大系統(tǒng)、A/D轉(zhuǎn)換、單片機、I/O設備、控制執(zhí)行系統(tǒng)等.。溫度控制部分用DS18B20、89C52單片機及LED的硬件電路完成對溫度的實時檢測及顯示。3.2 系統(tǒng)硬件簡介硬件大致構(gòu)成:核心控制器件AT89C52 ,溫度傳感器DS18B20,顯示器1602A 報警控制LED。 硬件設計思想 本設計是以AT89C52為單片機作為控制核心,提出了一種基于DS18B20的單總線多點溫度測控系統(tǒng),多個溫度傳感節(jié)點通過單總線與單片機相聯(lián)形成分布式系統(tǒng)。單片機通過實時監(jiān)控

16、溫度的變化,通過LCD1602字符型液晶顯示各節(jié)點溫度的數(shù)值,當溫度值超出所設定的值時,報警器開始報警,從而遠程實現(xiàn)對整個溫度系統(tǒng)的管理和控制。這種分布式溫度測量系統(tǒng)具有成本低廉、傳感精度高、系統(tǒng)穩(wěn)定、易于管理等優(yōu)點。3.3 系統(tǒng)主要器件 核心控制器件AT89C52 AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為

17、您提供許多較復雜系統(tǒng)控制應用場合。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本1。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。主要功能特性: 兼容MCS51指令系統(tǒng) 32個雙向I/O口 3個16位可編程定時/計數(shù)器中斷 2個串行中斷 2個外部中斷源 2個讀寫中斷口線 低功耗空閑和掉電

18、模式 AT89C52各引腳及管腳如圖3-1所示圖3-1 AT89C52各引腳概述:AT89C52為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復位輸入端口,外接電阻電容組成的復位電路。VCC(40 腳)和VSS(20

19、 腳)為供電端口,分別接+5V電源的正負端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設計中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應功能端,用于當前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。P0 口:P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8 個TTL邏輯門電路

20、,對端口P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時,P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1 口:P1 是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為

21、定時/計數(shù)器2 的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),F(xiàn)lash 編程和程序校驗期間,P1 接收低8 位地址。 P1.0和P1.1的第二功能如表3-2所示。表3-2 P1.0和P1.1的第二功能引腳號功能特性P1.0T2,時鐘輸出P1.1T2EX(定時/計數(shù)器2) P2 口:P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲

22、器或16 位地址的外部數(shù)據(jù)存儲器時,P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX RI 指令)時,P2 口輸出P2 鎖存器的內(nèi)容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對P3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗

23、的控制信號。RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。ALE/PROG: 當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE 脈沖。對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。

24、此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE 禁止位無效。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+1

25、2V 的編程允許電源Vpp,當然這必須是該器件是使用12V 編程電壓Vpp。XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端5。 DS1820內(nèi)部結(jié)構(gòu)及工作原理 DS18B20數(shù)字溫度傳感器是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。1.DS18B20產(chǎn)品的特點:l 只要求一個端口即可實現(xiàn)通信。l 在DS18B20中的每個器件上都有獨一無二的序列號。l 實際應用中不需要外部任何元器件即可實現(xiàn)測溫。l 測量溫度范圍在55.C到

26、125.C之間。l 數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。l 內(nèi)部有溫度上、下限告警設置。TO92封裝的DS18B20的引腳排列見圖3-3所示。 圖3-3 DS18B20的引腳排列DS18B20引腳功能描述見表3-4所示。表3-4 DS18B20引腳功能序號名稱引腳功能描述1GND地信號2DQ數(shù)字輸入輸出引腳,開漏單總線接口引腳,當使用寄生電源時,可向電源提供電源3VDD可選擇的VDD引腳,當工作于寄生電源時,該引腳必須接地2. DS18B20的內(nèi)部結(jié)構(gòu)DS18B20的內(nèi)部框圖下圖3-5所示。64位ROM存儲器件獨一無二的序列號。暫存器包含兩字節(jié)(0和1字節(jié))的溫度寄存器,用于存儲溫度

27、傳感器的數(shù)字輸出。暫存器還提供一字節(jié)的上線警報觸發(fā)(TH)和下線警報觸發(fā)(TL)寄存器(2和3字節(jié)),和一字節(jié)的配置寄存器(4字節(jié)),使用者可以通過配置寄存器來設置溫度轉(zhuǎn)換的精度。暫存器的5、6和7字節(jié)器件內(nèi)部保留使用。第八字節(jié)含有循環(huán)冗余碼(CRC )。 圖3-5 DS18B20的內(nèi)部框圖3.DS18B20的4個主要數(shù)據(jù)部件:光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻RO

28、M的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/LSB形式表達,其中S為符號位。這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。例如+125的數(shù)字輸出為07D0H,+25.0625的數(shù)字輸出為0191H

29、,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H。DS18B20溫度數(shù)據(jù)表表如3-6所示。表3-6 DS18B20溫度數(shù)據(jù)表TEMPERATUREDIGITAL OUTPUTDIGITAL OUTPUT+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 111

30、1 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90HDS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。配置寄存器表3-7 配置寄存器0R1R011111低五位一直都是1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1和R0用來設置分辨率,

31、如下表3-8所示。(DS18B20出廠時被設置為12位)表3-8 R1與R0確定傳感器分辨率設置表R1R0傳感器精度/bit轉(zhuǎn)換時間/ms00993.750110187.5101137511127504.DS18B20的工作過程l 初始化l ROM命令跟隨著需要交換的數(shù)據(jù);l 功能命令跟隨著需要交換的數(shù)據(jù)。訪問DS18B20必須嚴格遵守這一命令序列,如果丟失任何一步或序列混亂,DS18B20都不會響應主機(除了Search ROM 和Alarm Search這兩個命令,在這兩個命令后,主機都必須返回到第一步)。a初始化:DS18B20所有的數(shù)據(jù)交換都由一個初始化序列開始。由主機發(fā)出的復位脈沖和

32、跟在其后的由DS18B20發(fā)出的應答脈沖構(gòu)成。當DS18B20發(fā)出響應主機的應答脈沖時,即向主機表明它已處在總線上并且準備工作。b. ROM命令:ROM命令通過每個器件64-bit的ROM碼,使主機指定某一特定器件(如果有多個器件掛在總線上)與之進行通信。DS18B20的ROM如表3-4所示,每個ROM命令都是8 bit長。c. 功能命令:主機通過功能命令對DS18B20進行讀/寫Scratchpad存儲器,或者啟動溫度轉(zhuǎn)換。DS18B20的功能命令如表3-9所示。表3-9 DS18B20的功能命令指令協(xié)議功能讀ROM33H讀DS18B20中的編碼(即64位地址)符合ROM55H發(fā)出此命令后,

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

34、字節(jié)寫上、下溫度數(shù)據(jù)命令,緊該溫度命令之后,傳達兩字節(jié)的數(shù)據(jù)復制暫存器48H將RAM中第3、4字內(nèi)容復制到E2PROM中重調(diào)E2PROM0B8H將E2PROM中內(nèi)容恢復到RAM中的第3、4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外部供電時DS18B20發(fā)送“1”5.DS18B20的信號方式DS18B20采用嚴格的單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號類型:復位脈沖、應答脈沖、寫0、寫1、讀0和讀1。除了應答脈沖所有這些信號都由主機發(fā)出同步信號??偩€上傳輸?shù)乃袛?shù)據(jù)和命令都是以字節(jié)的低位在前。a.初始化序列:復位脈沖和應答脈沖在初始

35、化過程中,主機通過拉低單總線至少480s,以產(chǎn)生復位脈沖(TX)。然后主機釋放總線并進入接收(RX)模式。當總線被釋放后,5k的上拉電阻將單總線拉高。DS18B20檢測到這個上升沿后,延時15s60s,通過拉低總線60s240s產(chǎn)生應答脈沖。初始化波形如圖3-10所示。 圖 3-10 初始化脈沖b.讀和寫時序在寫時序期間,主機向DS18B20寫入指令;而在讀時序期間,主機讀入來自DS18B20的指令。在每一個時序,總線只能傳輸一位數(shù)據(jù)。l 寫時序存在兩種寫時序:“寫1”和“寫0”。主機在寫1時序向DS18B20寫入邏輯1,而在寫0時序向DS18B20寫入邏輯0。所有寫時序至少需要60s,且在兩

36、次寫時序之間至少需要1s的恢復時間。兩種寫時序均以主機拉低總線開始。產(chǎn)生寫1時序:主機拉低總線后,必須在15s內(nèi)釋放總線,然后由上拉電阻將總線拉至高電平。產(chǎn)生寫0時序:主機拉低總線后,必須在整個時序期間保持低電平(至少60s)。在寫時序開始后的15s60s期間,DS18B20采樣總線的狀態(tài)。如果總線為高電平,則邏輯1被寫入DS18B20;如果總線為低電平,則邏輯0被寫入DS18B20。l DS18B20讀/寫時序圖3-11所示。 圖3-11 DS18B20讀/寫時序 DS18B20只能在主機發(fā)出讀時序時才能向主機傳送數(shù)據(jù)。所以主機在發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便DS18B20能夠傳

37、送數(shù)據(jù)。所有讀時序至少60s,且在兩次獨立的讀時序之間至少需要1s的恢復時間。每次讀時序由主機發(fā)起,拉低總線至少1s。在主機發(fā)起讀時序之后,DS18B20開始在總線上傳送1或0。若DS18B20發(fā)送1,則保持總線為高電平;若發(fā)送0,則拉低總線。當傳送0時,DS18B20在該時序結(jié)束時釋放總線,再由上拉電阻將總線拉回空閑高電平狀態(tài)。DS18B20發(fā)出的數(shù)據(jù)在讀時序下降沿起始后的15s內(nèi)有效,因此主機必須在讀時序開始后的15s內(nèi)釋放總線,并且采樣總線狀態(tài)。DS18B20 在使用時,一般都采用單片機來實現(xiàn)數(shù)據(jù)采集。只需將DS18B20 信號線與單片機1 位I/O線相連,且單片機的1 位I/O 線可掛

38、接多個DS18B20,就可實現(xiàn)單點或多點溫度檢測9。6.DS18B20的溫度計算DS18B20允許通過程序?qū)鞲衅鞯姆直媛?溫度報警的上、下限等參數(shù)進行配置。它的內(nèi)部存儲器包括一個高速暫存存儲器和一個非易失性可擦除EPROM。速暫存存儲器共有8個字節(jié)(byte),每個字節(jié)8位(bit)。根據(jù)溫度的計算方法如下:S S S S S = 11111 b 溫度值:T = (MSB and 7) 256 + LSB 0.0625 SSSSS = 00000 b 溫度值:T = - (256 - MSB) 256 - LSB 0.0625 如果,存儲器高位寄存器MS的S S S S S 均為1 ,則被測

39、溫度為正值,用上面第1個公式來計算溫度。如果存儲器高位寄存器MSB的S S S S S均為0,則被測溫度為負值,用上面第2個公式來計算溫度。在這里,有兩點應當注意:一是公式中中括號內(nèi)的數(shù)值為二進制,在計算口號內(nèi)計算完成后應轉(zhuǎn)化為十進制;二是這里的7與0.0625是假設傳感器的分辨率設置0.0625時的計算值。如果分辨率的設置值不是0.0625,那么就應當作相應的變化。第3和第4個字節(jié)分別用來存放溫度報警的上限(TH)和下限值(TL)。DS18B20在完成溫度變換后,會將所測溫度值與貯存在TH和TL內(nèi)的上下限值相比較,如果測溫結(jié)果高于TH或低于TL,DS18B20內(nèi)部的告警標志就會被置位,表示溫

40、值超出了測量范圍。并且該值在掉電后不會丟失,而是記憶其設定的上下限值。第5字節(jié)是配置寄存器,該寄存器用于對溫度轉(zhuǎn)換值的分辨率進行設置。其中,最高位用于設置傳感器是工作模式還是測試模式,是生產(chǎn)廠家為便于檢驗使用。其出廠時的默認值為0,為工作模式(即用戶使用時的模式)。并且在用戶使用中,該位總是保持為0。R1與R0確定傳感器的分辨率,DS18B20有4種分辨率可供選擇。使用時可以根據(jù)實際需要來設置,出廠時的默認設置是12位。最后5位總保持為18。 LCD1602A內(nèi)部結(jié)構(gòu)及工作原理工作原理 LCD內(nèi)部結(jié)構(gòu):由CGRAM(自建字型產(chǎn)生器)、DDRAM(數(shù)據(jù)顯示存儲器)、CGROM(內(nèi)含字型產(chǎn)生器)、

41、指令寄存器、數(shù)據(jù)寄存器、地址計數(shù)器、指令譯碼器等組成 LCD顯示原理:利用旋光效應對光進行偏轉(zhuǎn),再利用偏振片濾去不需要透過光的相應像素,從而實現(xiàn)圖像顯示。 LCD驅(qū)動原理:分成兩大步,即寫指令,寫數(shù)據(jù),其中寫數(shù)據(jù)之前要找到顯示的位置。本實驗所采用的液晶型號為LCD1602A 。它位數(shù)多,可顯示32位,32個數(shù)碼管體積相當龐大了,顯示內(nèi)容豐富,可顯示所有數(shù)字和大、小寫字母,程序簡單,如果用數(shù)碼管動態(tài)顯示,會占用很多時間來刷新顯示,而LCD1602A自動完成此功能。1602A采用標準的16腳接口如圖3-12所示。圖3-12 1602A的接口圖第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:

42、V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度(建議接地,弄不好有的模塊會不顯示)第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第1516腳:空腳(有的用來接背光) 1602A液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了不同的點陣字符圖形,這些字符有,阿拉伯數(shù)字、英文字母的大小寫、常用的符號

43、、和日文假名等,每一個字符都有一個固定的代碼,其中數(shù)字與字母同ASCII碼兼容。其內(nèi)部還有自定義字符(CGRAM),可用業(yè)存儲自已定義的字符。3.4 本章小結(jié)本章簡單介紹了系統(tǒng)的設計思想、硬件組成及主要器件的工作原理。第4章 系統(tǒng)軟件設計4.1 軟件設計總體思路及主程序流程圖本系統(tǒng)采用C語言編寫,主程序主要由四部分構(gòu)成,系統(tǒng)通電后首先初始化系統(tǒng),依次完成溫度采集、溫度處理、數(shù)據(jù)顯示、鍵盤處理等四項功能。溫度采集部分主要完成溫度測試點的溫度數(shù)據(jù)采集任務;溫度處理部分主要是將采集到的溫度數(shù)據(jù)與用戶設定的各點上下限溫度值進行比較處理,并判斷是否超出設定的上下限值,如果超出則led燈亮報警;數(shù)據(jù)顯示部

44、分主要實現(xiàn)溫度數(shù)據(jù)的顯示,顯示方式根據(jù)設計要求支持溫度測試點的輪流循環(huán)顯示和固定顯示兩種方式;鍵盤處理部分主要實現(xiàn)用戶對系統(tǒng)參數(shù)的設置,結(jié)合顯示部分,實現(xiàn)用戶與系統(tǒng)之間的人機接口。系統(tǒng)軟件主流程如圖4-1所示。 開始系統(tǒng)初始化溫度采集溫度處理數(shù)據(jù)顯示鍵盤處理圖4-1 系統(tǒng)軟件總流程圖4.2 測溫模塊測溫流程圖4-2所示。讀溫度初始化溫度傳感器掃描鍵盤選定所需芯片選定所需芯片進行溫度轉(zhuǎn)換讀取溫度調(diào)試顯示子程序子程序返回圖4-2 DSl8B20操作流程圖 溫度的采集DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM中,主機在進入操作程序前必須逐一接入DSl8B20,用讀

45、ROM(33H)命令將該DSl8B20的序列號讀出并登錄。當主機需要對眾多在線DSl8B20的某一個進行操作時首先要發(fā)出匹配ROM命令(55H),緊接著主機提供64位序列(包括該DSl8B20的48位序列號)之后的操作就是針對該DSl8B20的,而所謂跳過ROM命令即為之后的操作,是對所有DSl8B20的框圖中先有跳過ROM即是啟動所有DSl8B20進行溫度變換之后通過匹配ROM再逐一地讀回每個DSl8B20的溫度數(shù)據(jù)在DSl8B20組成的測溫系統(tǒng)中主機在發(fā)出跳過ROM命令之后再發(fā)出統(tǒng)一的溫度轉(zhuǎn)換啟動碼44H就可以實現(xiàn)所有DSl8B20的統(tǒng)一轉(zhuǎn)換再經(jīng)過1s后就可以用很少的時間去逐一讀取這種方式

46、,使其T值往往小于傳統(tǒng)方式7。 溫度的測量單總線已經(jīng)掛接了DS18B20。由于已經(jīng)在上面獲取了DS18B20的ROM代碼并在AT89C52單片機內(nèi)部的中建立了測量位置點和傳感器64位ROM代碼之間的關(guān)系表,因此對溫度的巡回測量的步驟如下:(1)發(fā)跳過ROM命令CCH。(2)發(fā)啟動所有在線的DS18B20進行溫度轉(zhuǎn)換命令44H。(3)延遲1s。(4)發(fā)匹配ROM命令55H。(5)按照AT89C51中建立的關(guān)系表的順序取出64位ROM代碼發(fā)送到單總線。(6)發(fā)讀溫度值命令BEH,讀取溫度值。(7)進行CRC校驗和數(shù)據(jù)處理后送LCD顯示器顯示。(8)重復第4步到第7步,直到所有的DS18B20測量處

47、理完。(9)再重復第1步到第8步,進行下一輪的巡回測量。溫度測量電路流程如圖4-3所示。初始化跳過ROM等待1S初始化設置18B20符合ROM讀存儲器緩沖指針增一初始化B1=0?否 圖4-3 溫度測量電路流程4.3 顯示模塊流程圖4-4所示 忙判斷P0.7=1?結(jié)束開始液晶初始化送顯示地址寫指令送顯示字符Y忙判斷P0.7=1?寫數(shù)據(jù)YNN 圖4-4 LCD顯示流程圖 4.4 鍵盤掃描流程圖按鍵處理程序通過掃描按鍵情況,讀取鍵值。主要完成各點溫度傳感器上下限報警參數(shù)設置和顯示模式設置。(1)通過掃描鍵盤讀取鍵值,流程圖如圖4-5所示。YN鍵盤掃描有鍵閉合延時去鍵抖動動掃描鍵盤找到閉合鍵計算鍵值閉

48、合鍵釋放建立有效標志返回建立無效標志NYNY圖4-5 鍵盤掃描程序流程圖(2)設置報警上、下限值 DS18B20設有溫度上下限報警功能。DSl8B20的存儲器由兩部分組成:一個是9字節(jié)的靜態(tài)RAM,其中第0和第1字節(jié)用于存儲16位的溫度轉(zhuǎn)換值,第2(高溫限TH)和第3字節(jié)(低溫限TL)作為溫度報警限值或通用存儲器單元供用戶使用;另一個是非易失性的EPROM。當靜態(tài)RAM作為溫度報警限值使用時,可以在系統(tǒng)安裝和工作前,用寫RAM命令4EH將高溫限TH和低溫限TL寫入第2和第3字節(jié)單元。由于靜態(tài)RAM掉電后信息即丟失,因此需要再通過拷貝RAM命令48H將第2和第3字節(jié)單元的溫度報警限值拷貝到EPR

49、OM中。主程序只要在初始化部分使用重調(diào)EPROM命令B8H,就可以將EPROM中的溫度報警限值重新拷貝到靜態(tài)RAM中。讀取DDRAM或CGRAM中的內(nèi)容。結(jié)論經(jīng)過幾個月的不斷學習和努力,在劉老師的諄諄教導下,在其他老師及同學們的熱心幫助與指導下,基于單片機的溫度測控系統(tǒng)的畢業(yè)實踐報告即將結(jié)束,基本完成了老師所規(guī)定的各項工作任務。 本報告介紹了用單片機AT89C52控制DS18B20以及著重分析各單元電路的設計,以及各電路與單片機的接口技術(shù)。最后還給出系統(tǒng)的軟件的設計過程,使用了C語言進行程序設計。本文是采用模塊化的方式進行敘述,對各模塊的設計進行了比較詳細地闡述。通過本次溫度監(jiān)控系統(tǒng)的設計,我

50、大有收獲,在制作過程中,一定要注意的每個工驟的檢查,確保制作成功。比如在合理選擇模塊,檢查裝配無誤的情況下,如果還出現(xiàn)電路無輸出的情況,那么可以肯定是原理圖錯誤,這時就要回到原理圖進行檢查。從整體來說這是一個復雜的過程,要細心謹慎,沉著冷靜,反復檢查,直到找到原因為止。經(jīng)過三年學習的積累,在已經(jīng)掌握相關(guān)專業(yè)方面知識及其它各方面知識的情況下,我認真嚴肅的完成了我的畢業(yè)實踐報告。從得到題目到查找資料,從對題目的研究設定到程序的調(diào)試,從電路圖的仿真調(diào)試到失敗后再一次全部重新開始在這一個充滿挑戰(zhàn)伴隨挫折,充滿熱情伴隨打擊的過程中,我感觸頗深,它已不僅是一個對我學習知識情況和我的應用動手能力的檢驗,而且

51、還是對我的鉆研精神,面對困難的心態(tài),做事的毅力和耐心的考驗。我在這個過程中深刻的感受到了做畢業(yè)設計的意義所在,和我一樣真正投入了身心去做的人也一定會有同樣的感觸。本課題的重點、難點是:(1) 初步接觸溫度傳感器,要對傳感器的原理、結(jié)構(gòu)、應用等各方面;(2) 考慮從非電量信號到電量信號的電路實現(xiàn)原理以及與單片機的接口;(3) 熟悉編程的技術(shù);(4) 考究調(diào)整電路的實現(xiàn)過程以及怎么樣通過單片機來間接的控制。通過做本課題,我了解并掌握了傳感器的基本理論知識,更深入的掌握單片機的開發(fā)應用和PC編程控制。為以后從事單片機軟硬件產(chǎn)品的設計開發(fā)、PC軟件開發(fā)打下了良好的基礎,樹立獨立從事產(chǎn)品研發(fā)的信心,并在

52、這種能力上得到了比較充分的鍛煉。謝 辭在本次實踐報告中,我得到了指導老師黃培老師的指導。自始至終關(guān)心督促進程和進度。幫助解決畢業(yè)設計(論文)中遇到的許多問題。還不斷向我傳授分析問題和解決問題的辦法,并指出了正確的努力方向,使我在畢業(yè)設計(論文過程中少走很多彎路。并致以誠摯的謝意!另外,系里的領導和老師也給了我們很多的指導,我也向系和年級的領導們表示衷心的感謝!最后感謝學院對我這幾年的培養(yǎng)。參考文獻1何立民,單片機高級教程.北京航空航天大學出版社,2004.72 粟世明,劉湘濤.單片機原理與應用.電子工業(yè)出版社,2006.83 何立民,單片機中級教程.北京航空航天大學出版社,1999.124 李華,MCU-51系列單片機實用接口技術(shù).北京:北京航空航天大學出版

溫馨提示

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

評論

0/150

提交評論