




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄第1章 緒論1.1 單片機的概述1.2 單片機研究現狀1.3 溫度控制的研究意義和目的1.4 課題設計任務和要求第2章單片機溫度控制系統的概述2.1 MCS-51單片機簡介 MCS-51 單片機的特點及應用2.2 外圍電路 振蕩電路 復位電路 鍵盤電路設計 顯示電路設計2.3 本章小結第3章 系統設計思想及主要應用器件3.1 系統設計的總體思想3.2 系統硬件簡介 硬件設計思想3.3 系統主要器件 核心控制器件 AT89C52 DS1820內部結構及工作原理 LCD1602A 內部結構及工作原理3.4 本章小結第4章 系統軟件設計4.1 軟件設計總體思路及主程序流程圖4.2 測溫模塊 溫度
2、的采集 溫度的測量4.3 顯示模塊流程圖4-4所示4.4 鍵盤掃描流程圖結論謝 辭參考文獻附錄1 原理圖和仿真測試附錄2 軟件程序第1章 緒論1.1 單片機的概述 隨著現代工業的逐步發展,在工業生產中,溫度、壓力、流量和液位是四種最常見的過程變量。其中,溫度是一個非常重要的過程變量。例如:在冶金工業、化工工業、電力工業、機械加工和食品加工等許多領域,都需要對各種加熱爐、熱處理爐、反應爐和鍋爐的溫度進行控制。然而,用常規的控制方法,潛力是有限的,難以滿足較高的性能要求。采用單片機來對它們進行控制不僅具有控制方便、簡單和靈活性大的優點,而且可以大幅度提高被測溫度的技術指標,從而能夠大大提高產品的質
3、量和數量。因此,單片機對溫度的控制問題是一個工業生產中經常會遇到的控制問題。在人類的生活環境中,溫度扮演著極其重要的角色。 單片微型計算機是隨著超大規模集成電路技術的發展而誕生的,由于它具有體積小、功能強、性價比高等特點,所以廣泛應用于電子儀表、家用電器、節能裝置、軍事裝置、機器人、工業控制等諸多領域,使產品小型化、智能化,既提高了產品的功能和質量,又降低了成本,簡化了設計。 1.2 單片機研究現狀 縱觀我們現在生活的各個領域,從導 彈的導航裝置,到飛機上各種儀表的控制,從計算機的網絡通訊與數據傳輸,到工業自動化過程的實時控制和數據 處理,以及我們生活中廣泛使用的各種智能IC 卡、電子寵物等,
4、這些都離不開單片機。以前沒有單片機時,這些 東西也能做,但是只能使用復雜的模擬電路,然而這樣做出來的產品不僅體積大,而且成本高,并且由于長期使用, 元器件不斷老化,控制的精度自然也會達不到標準。在單片機產生后,我們就將控制這些東西變為智能化了,我們 只需要在單片機外圍接一點簡單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產品的體積變小了,成 本也降低了,長期使用也不會擔心精度達不到了。所以,它的魔力不僅是在現在,在將來將會有更多的 人來接受它、使用它。據統計,我國的單片機年容量已達13 億片,且每年以大約16%的速度增長,但相對于世界市場我國的占有率還不到1%。特別是沿海地區的玩具廠等
5、生產產品多數用到單片機,并不斷地輻射向內地。 所以,學習單片機在我國是有著廣闊前景的6。1.3溫度控制的研究意義和目的 溫度是工業生產中常見的工藝參數之一,任何物理變化和化學反應過程都與溫度密切相關,因此溫度控制是生產自動化的重要任務。對于不同生產情況和工藝要求下的溫度控制,所采用的加熱方式,燃料,控制方案也有所不同。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀工業革命以來,工業發展對是否能掌握溫度有著絕對的聯系。在冶金、鋼鐵、石化、水泥、玻璃、醫藥等等行業,可以說幾乎80%的工業部門都不得不考慮著溫度的因素。1.4 課題設計任務和要求 本文所要研究的課題是基于單片機
6、溫度控制及報警系統的設計,介紹了對溫度的顯示、控制及報警,實現了溫度的實時顯示及控制。溫度控制部分,提出了用DS18B20、89C52單片機及LED的硬件電路完成對溫度的實時檢測及顯示,利用DS18B20與單片機連接由軟件與硬件電路配合來實現實時控制及超出設定的上下限溫度的報警系統。課題設計的目的:1.掌握用51單片機控制LCD顯示字符的方法。 2.掌握用單片機進行顯示系統開發的方法。3.掌握單片機軟件、硬件調試技術。4.了解單線器件DS18B20的驅動方法。 5.了解LCD顯示器的一般驅動原理。第2章 單片機溫度控制系統的概述2.1 MCS-51單片機簡介 MCS-51系列單片機無論是片內R
7、AM容量,I/O口功能,系統擴展能力還是指令系統和CPU的處理功能都非常的強。尤其是MCS-51系列就是所特有的布爾處理機,在邏輯處理和控制方面具有突出優點。MCS-51系列單片機適合于實時控制,可構成工業控制器、智能儀表、智能接口以及通用的測控單元等。 MCS-51 單片機的特點及應用MCS-51系列單片機主要產品及特點如2-1所示。表2-1 MCS-51系列單片機特點子系列片內ROM形式片內ROM容量片內RAM容量尋址范圍I/O特性中斷源無ROMEPROM計數器并行口串行口518031805187514KB128B264KB216481580C3180C5187C514KB128B264K
8、B2164815528032805287528KB256B264KB316481680C3280C5287C528KB256B264KB3164816MCS-51單片機(此處以8051為例)芯片的基本組成如圖2-2所示:圖2-28051芯片的內部組成框圖圖中各組成部分:a.中央處理器(CPU)。它是單片機的核心,包括運算器和控制器兩個主要組成部分,用于實現運算和控制功能。運算器主要包括算術邏輯運算部件(ALU)、位處理器、累加器A、寄存器B、緩存器TMP1和TMP2、程序狀態字寄存器PSW以及十進制調整電路等。其主要功能是實現數據的算術運算、邏輯運算、位操作及數據傳送等??刂破髦饕蓵r鐘和時序
9、電路以及一些控制寄存器組成。其主要功能是協調整個單片機的工作,產生時序脈沖和提供控制信號等。b.數據存儲器。MCS-51系列單片機芯片數據存儲器共有128個存儲單元,用于存放可讀寫的數據。為了與外部擴展的數據存儲器相區別,通常稱芯片內部的數據存儲器為內部數據存儲器,簡稱內部RAM。c.程序存儲器。8051芯片內部有4KB掩膜ROM,8751芯片內部有4KB EPROM,用來存放程序和原始數據。通常稱之為內部程序存儲器或內部ROM。d.定時器/計數器。MCS-51共有兩個16位的定時器/計數器,以實現定時和計數功能。e.并行I/O口。MCS-51共有四個8位的I/O口(即P0、P1、P2和P3)
10、,用以完成數據的并行輸入/輸出。f.串行I/O口。MCS-51有一個全雙工串行口,以實現單片機和其他計算機或設備之間的串行數據傳送。g.中斷控制系統。MCS-51共有5個中斷源,分高和低兩個優先級別3。2.2 外圍電路單片機的外圍電路如圖2-3所示,主要包括振蕩電路,復位電路。 圖2-3 單片機外圍電路 振蕩電路 AT89C52的XTAL1和XTAL2引腳分別為單片機內反相放大器的輸入和輸出端,其頻率范圍上限為24MHz。這個內部反相器與外部元件組成皮爾斯振蕩器, C1,C2是30pF的電容。C1,C2沒有嚴格要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩工作的穩定性、起振的難易程度及溫
11、度穩定性,通常選擇在1030pF左右。在任何情況下,振蕩器始終驅動內部時鐘發生器向主機提供時鐘信號。因為時鐘發生器的輸入是個二分頻觸發器,所以對外部振蕩信號的脈寬無特殊要求,但必須保證高低電平的最小寬度。在外接晶振11.0592MHZ時,一個機器周期為ls,一個振蕩周期為1/12s。 復位電路RST為復位信號輸入端口引腳,它是斯密特觸發器的一個輸入端。復位信號是高電平有效,其有效時間應持續24個振蕩脈沖周期(即兩個機器周期)以上。復位電路包括芯片內、外兩部分。外部電路產生的復位信號(RST)送斯密特觸發器,再由片內復位電路在每個機器周期的S5P2時刻對斯密特觸發器的輸出進行采樣,然后才得到內部
12、復位操作所需要的信號。本設計中的復位電路。由C3,R1,R2和按鍵組成按鍵電平復位。復位端經電阻與Vcc電源接通。主控制芯片的復位電路是采用的按鍵復位,而從機采用的是上電復位。 鍵盤電路設計根據設計任務書中要求實現的功能,我選擇了3個鍵盤來設置溫度的上、下限值,此鍵盤設計符合系統設置要求,所以我選擇此鍵盤完成本設計。矩陣鍵盤結構:鍵盤實際上是一組按鍵開關的集合,平時按鍵開關總是處于斷開狀態,當按下鍵時它才閉合。鍵盤結構能夠有效的提高單片機系統中I/O口的利用率。它的結構和產生的波形如圖2-4所示。圖2-4 鍵盤結構及產生的波形圖顯示電路設計溫度顯示工作原理: LCD1602可以采用兩種方式與單
13、片機連接,一種是采用8位數據總線D0D7,和RS、R/W、EN三個控制端口;另一種是只用D4-D7作為四位數據分兩次傳送。本實驗將使用并采用八位數據方式來控制1602顯示。 進行LCD設計主要是LCD的控制/驅動和外界的接口設計。控制主要是通過接口與外界通信、管理內/外顯示RAM,控制驅動器,分配顯示數據;驅動主要是根據控制器要求,驅動LCD進行顯示??刂破鬟€常含有內部ASCII字符庫,或可外擴的大容量漢字庫。2.3 本章小結 單片機具有全電腦功能,且體積小、可靠性高、價格便宜、簡單易學和開發應用方便,深受廣大科技人員的歡迎。單片機具有眾多的I/O口線,豐富的操作指令,較強的邏輯能力,特別適用
14、于各類工業測控系統。今后一段時期內,單片機發展的總趨勢將是不斷推出高檔和高性能的機型;重點提高8位單片機的性能;采用新工藝,實現低功耗、寬電壓、高速度、高可靠性;以及日趨單片化。 單片機以其高可靠性、高性能價格比廣泛地用于各種實時控制系統中,將測量技術、自動控制技術和單片機技術相結合,充分發揮數據處理和實時控制的功能,使系統處于最佳狀態,在工業控制系統、數據采集系統、智能化儀表等諸多領域得到廣泛應用。目前,可用于單片機開發的硬件越來越多,與之配套的開發系統和各種應用軟件也日趨完善。第3章 系統設計思想及主要應用器件3.1 系統設計的總體思想 根據單片機溫度控制要實現的功能,設計了基于ATMEL
15、公司的AT89C52芯片的溫度測量系統。這是一種低成本的利用單片機多余I/O口實現的溫度檢測電路。整個系統硬件部分包括溫度檢測系統、信號放大系統、A/D轉換、單片機、I/O設備、控制執行系統等.。溫度控制部分用DS18B20、89C52單片機及LED的硬件電路完成對溫度的實時檢測及顯示。3.2 系統硬件簡介硬件大致構成:核心控制器件AT89C52 ,溫度傳感器DS18B20,顯示器1602A 報警控制LED。 硬件設計思想 本設計是以AT89C52為單片機作為控制核心,提出了一種基于DS18B20的單總線多點溫度測控系統,多個溫度傳感節點通過單總線與單片機相聯形成分布式系統。單片機通過實時監控
16、溫度的變化,通過LCD1602字符型液晶顯示各節點溫度的數值,當溫度值超出所設定的值時,報警器開始報警,從而遠程實現對整個溫度系統的管理和控制。這種分布式溫度測量系統具有成本低廉、傳感精度高、系統穩定、易于管理等優點。3.3 系統主要器件 核心控制器件AT89C52 AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為
17、您提供許多較復雜系統控制應用場合。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本1。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應不同產品的需求。主要功能特性: 兼容MCS51指令系統 32個雙向I/O口 3個16位可編程定時/計數器中斷 2個串行中斷 2個外部中斷源 2個讀寫中斷口線 低功耗空閑和掉電
18、模式 AT89C52各引腳及管腳如圖3-1所示圖3-1 AT89C52各引腳概述:AT89C52為40 腳雙列直插封裝的8 位通用微處理器,采用工業標準的C51內核,在內部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調整時的功能控制。功能包括對會聚主IC 內部寄存器、數據RAM及外部接口等功能部件的初始化,會聚調整控制,會聚測試圖控制,紅外遙控信號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 的相應功能端,用于當前制式的檢測及會聚調整狀態進入的控制功能。P0 口:P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數據總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8 個TTL邏輯門電路
20、,對端口P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8 位)和數據總線復用,在訪問期間激活內部上拉電阻。在Flash 編程時,P0 口接收指令字節,而在程序校驗時,輸出指令字節,校驗時,要求外接上拉電阻。P1 口:P1 是一個帶內部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為
21、定時/計數器2 的外部計數輸入(P1.0/T2)和輸入(P1.1/T2EX),Flash 編程和程序校驗期間,P1 接收低8 位地址。 P1.0和P1.1的第二功能如表3-2所示。表3-2 P1.0和P1.1的第二功能引腳號功能特性P1.0T2,時鐘輸出P1.1T2EX(定時/計數器2) P2 口:P2 是一個帶有內部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口P2 寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲
22、器或16 位地址的外部數據存儲器時,P2 口送出高8 位地址數據。在訪問8 位地址的外部數據存儲器(如執行MOVX RI 指令)時,P2 口輸出P2 鎖存器的內容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。P3 口:P3 口是一組帶有內部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL 邏輯門電路。對P3 口寫入“1”時,它們被內部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗
23、的控制信號。RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。ALE/PROG: 當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE 脈沖。對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。
24、此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ALE 禁止位無效。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52 由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數據存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復位時內部會鎖存EA端狀態。如EA端為高電平(接Vcc端),CPU 則執行內部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+1
25、2V 的編程允許電源Vpp,當然這必須是該器件是使用12V 編程電壓Vpp。XTAL1:振蕩器反相放大器的及內部時鐘發生器的輸入端。XTAL2:振蕩器反相放大器的輸出端5。 DS1820內部結構及工作原理 DS18B20數字溫度傳感器是DALLAS公司生產的1Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。1.DS18B20產品的特點:l 只要求一個端口即可實現通信。l 在DS18B20中的每個器件上都有獨一無二的序列號。l 實際應用中不需要外部任何元器件即可實現測溫。l 測量溫度范圍在55.C到
26、125.C之間。l 數字溫度計的分辨率用戶可以從9位到12位選擇。l 內部有溫度上、下限告警設置。TO92封裝的DS18B20的引腳排列見圖3-3所示。 圖3-3 DS18B20的引腳排列DS18B20引腳功能描述見表3-4所示。表3-4 DS18B20引腳功能序號名稱引腳功能描述1GND地信號2DQ數字輸入輸出引腳,開漏單總線接口引腳,當使用寄生電源時,可向電源提供電源3VDD可選擇的VDD引腳,當工作于寄生電源時,該引腳必須接地2. DS18B20的內部結構DS18B20的內部框圖下圖3-5所示。64位ROM存儲器件獨一無二的序列號。暫存器包含兩字節(0和1字節)的溫度寄存器,用于存儲溫度
27、傳感器的數字輸出。暫存器還提供一字節的上線警報觸發(TH)和下線警報觸發(TL)寄存器(2和3字節),和一字節的配置寄存器(4字節),使用者可以通過配置寄存器來設置溫度轉換的精度。暫存器的5、6和7字節器件內部保留使用。第八字節含有循環冗余碼(CRC )。 圖3-5 DS18B20的內部框圖3.DS18B20的4個主要數據部件:光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環冗余校驗碼(CRC=X8+X5+X4+1)。光刻RO
28、M的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.0625/LSB形式表達,其中S為符號位。這是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。例如+125的數字輸出為07D0H,+25.0625的數字輸出為0191H
29、,-25.0625的數字輸出為FF6FH,-55的數字輸出為FC90H。DS18B20溫度數據表表如3-6所示。表3-6 DS18B20溫度數據表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溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發器TH、TL和結構寄存器。配置寄存器表3-7 配置寄存器0R1R011111低五位一直都是1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設置為0,用戶不要去改動。R1和R0用來設置分辨率,
31、如下表3-8所示。(DS18B20出廠時被設置為12位)表3-8 R1與R0確定傳感器分辨率設置表R1R0傳感器精度/bit轉換時間/ms00993.750110187.5101137511127504.DS18B20的工作過程l 初始化l ROM命令跟隨著需要交換的數據;l 功能命令跟隨著需要交換的數據。訪問DS18B20必須嚴格遵守這一命令序列,如果丟失任何一步或序列混亂,DS18B20都不會響應主機(除了Search ROM 和Alarm Search這兩個命令,在這兩個命令后,主機都必須返回到第一步)。a初始化:DS18B20所有的數據交換都由一個初始化序列開始。由主機發出的復位脈沖和
32、跟在其后的由DS18B20發出的應答脈沖構成。當DS18B20發出響應主機的應答脈沖時,即向主機表明它已處在總線上并且準備工作。b. ROM命令:ROM命令通過每個器件64-bit的ROM碼,使主機指定某一特定器件(如果有多個器件掛在總線上)與之進行通信。DS18B20的ROM如表3-4所示,每個ROM命令都是8 bit長。c. 功能命令:主機通過功能命令對DS18B20進行讀/寫Scratchpad存儲器,或者啟動溫度轉換。DS18B20的功能命令如表3-9所示。表3-9 DS18B20的功能命令指令協議功能讀ROM33H讀DS18B20中的編碼(即64位地址)符合ROM55H發出此命令后,
33、接著發出64位ROM編碼,訪問單總線上與該編碼相對應的DS18B20,使之作出響應,為下一步對該DS18B20的讀寫作準備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數和識別64位ROM地址,為操作各器件作好準備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20溫度轉換命令,適用于單個DS18B20工作報警搜索命令0ECH執行后,只有溫度超過廟宇值上限或下限的片子才做出響應溫度轉換44H啟動DS18B20進行溫度轉換,轉換時間最長為500ms(典型為200ms),結果豐入內部9字節RAM中讀暫存器BEH讀內部RAM中9字節的內容寫暫存器4EH發出向內部RAM的第3、4
34、字節寫上、下溫度數據命令,緊該溫度命令之后,傳達兩字節的數據復制暫存器48H將RAM中第3、4字內容復制到E2PROM中重調E2PROM0B8H將E2PROM中內容恢復到RAM中的第3、4字節讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發送“0”,外部供電時DS18B20發送“1”5.DS18B20的信號方式DS18B20采用嚴格的單總線通信協議,以保證數據的完整性。該協議定義了幾種信號類型:復位脈沖、應答脈沖、寫0、寫1、讀0和讀1。除了應答脈沖所有這些信號都由主機發出同步信號??偩€上傳輸的所有數據和命令都是以字節的低位在前。a.初始化序列:復位脈沖和應答脈沖在初始
35、化過程中,主機通過拉低單總線至少480s,以產生復位脈沖(TX)。然后主機釋放總線并進入接收(RX)模式。當總線被釋放后,5k的上拉電阻將單總線拉高。DS18B20檢測到這個上升沿后,延時15s60s,通過拉低總線60s240s產生應答脈沖。初始化波形如圖3-10所示。 圖 3-10 初始化脈沖b.讀和寫時序在寫時序期間,主機向DS18B20寫入指令;而在讀時序期間,主機讀入來自DS18B20的指令。在每一個時序,總線只能傳輸一位數據。l 寫時序存在兩種寫時序:“寫1”和“寫0”。主機在寫1時序向DS18B20寫入邏輯1,而在寫0時序向DS18B20寫入邏輯0。所有寫時序至少需要60s,且在兩
36、次寫時序之間至少需要1s的恢復時間。兩種寫時序均以主機拉低總線開始。產生寫1時序:主機拉低總線后,必須在15s內釋放總線,然后由上拉電阻將總線拉至高電平。產生寫0時序:主機拉低總線后,必須在整個時序期間保持低電平(至少60s)。在寫時序開始后的15s60s期間,DS18B20采樣總線的狀態。如果總線為高電平,則邏輯1被寫入DS18B20;如果總線為低電平,則邏輯0被寫入DS18B20。l DS18B20讀/寫時序圖3-11所示。 圖3-11 DS18B20讀/寫時序 DS18B20只能在主機發出讀時序時才能向主機傳送數據。所以主機在發出讀數據命令后,必須馬上產生讀時序,以便DS18B20能夠傳
37、送數據。所有讀時序至少60s,且在兩次獨立的讀時序之間至少需要1s的恢復時間。每次讀時序由主機發起,拉低總線至少1s。在主機發起讀時序之后,DS18B20開始在總線上傳送1或0。若DS18B20發送1,則保持總線為高電平;若發送0,則拉低總線。當傳送0時,DS18B20在該時序結束時釋放總線,再由上拉電阻將總線拉回空閑高電平狀態。DS18B20發出的數據在讀時序下降沿起始后的15s內有效,因此主機必須在讀時序開始后的15s內釋放總線,并且采樣總線狀態。DS18B20 在使用時,一般都采用單片機來實現數據采集。只需將DS18B20 信號線與單片機1 位I/O線相連,且單片機的1 位I/O 線可掛
38、接多個DS18B20,就可實現單點或多點溫度檢測9。6.DS18B20的溫度計算DS18B20允許通過程序對傳感器的分辨率,溫度報警的上、下限等參數進行配置。它的內部存儲器包括一個高速暫存存儲器和一個非易失性可擦除EPROM。速暫存存儲器共有8個字節(byte),每個字節8位(bit)。根據溫度的計算方法如下: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個公式來計算溫度。在這里,有兩點應當注意:一是公式中中括號內的數值為二進制,在計算口號內計算完成后應轉化為十進制;二是這里的7與0.0625是假設傳感器的分辨率設置0.0625時的計算值。如果分辨率的設置值不是0.0625,那么就應當作相應的變化。第3和第4個字節分別用來存放溫度報警的上限(TH)和下限值(TL)。DS18B20在完成溫度變換后,會將所測溫度值與貯存在TH和TL內的上下限值相比較,如果測溫結果高于TH或低于TL,DS18B20內部的告警標志就會被置位,表示溫
40、值超出了測量范圍。并且該值在掉電后不會丟失,而是記憶其設定的上下限值。第5字節是配置寄存器,該寄存器用于對溫度轉換值的分辨率進行設置。其中,最高位用于設置傳感器是工作模式還是測試模式,是生產廠家為便于檢驗使用。其出廠時的默認值為0,為工作模式(即用戶使用時的模式)。并且在用戶使用中,該位總是保持為0。R1與R0確定傳感器的分辨率,DS18B20有4種分辨率可供選擇。使用時可以根據實際需要來設置,出廠時的默認設置是12位。最后5位總保持為18。 LCD1602A內部結構及工作原理工作原理 LCD內部結構:由CGRAM(自建字型產生器)、DDRAM(數據顯示存儲器)、CGROM(內含字型產生器)、
41、指令寄存器、數據寄存器、地址計數器、指令譯碼器等組成 LCD顯示原理:利用旋光效應對光進行偏轉,再利用偏振片濾去不需要透過光的相應像素,從而實現圖像顯示。 LCD驅動原理:分成兩大步,即寫指令,寫數據,其中寫數據之前要找到顯示的位置。本實驗所采用的液晶型號為LCD1602A 。它位數多,可顯示32位,32個數碼管體積相當龐大了,顯示內容豐富,可顯示所有數字和大、小寫字母,程序簡單,如果用數碼管動態顯示,會占用很多時間來刷新顯示,而LCD1602A自動完成此功能。1602A采用標準的16腳接口如圖3-12所示。圖3-12 1602A的接口圖第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:
42、V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度(建議接地,弄不好有的模塊會不顯示)第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。第714腳:D0D7為8位雙向數據線。第1516腳:空腳(有的用來接背光) 1602A液晶模塊內部的字符發生存儲器(CGROM)已經存儲了不同的點陣字符圖形,這些字符有,阿拉伯數字、英文字母的大小寫、常用的符號
43、、和日文假名等,每一個字符都有一個固定的代碼,其中數字與字母同ASCII碼兼容。其內部還有自定義字符(CGRAM),可用業存儲自已定義的字符。3.4 本章小結本章簡單介紹了系統的設計思想、硬件組成及主要器件的工作原理。第4章 系統軟件設計4.1 軟件設計總體思路及主程序流程圖本系統采用C語言編寫,主程序主要由四部分構成,系統通電后首先初始化系統,依次完成溫度采集、溫度處理、數據顯示、鍵盤處理等四項功能。溫度采集部分主要完成溫度測試點的溫度數據采集任務;溫度處理部分主要是將采集到的溫度數據與用戶設定的各點上下限溫度值進行比較處理,并判斷是否超出設定的上下限值,如果超出則led燈亮報警;數據顯示部
44、分主要實現溫度數據的顯示,顯示方式根據設計要求支持溫度測試點的輪流循環顯示和固定顯示兩種方式;鍵盤處理部分主要實現用戶對系統參數的設置,結合顯示部分,實現用戶與系統之間的人機接口。系統軟件主流程如圖4-1所示。 開始系統初始化溫度采集溫度處理數據顯示鍵盤處理圖4-1 系統軟件總流程圖4.2 測溫模塊測溫流程圖4-2所示。讀溫度初始化溫度傳感器掃描鍵盤選定所需芯片選定所需芯片進行溫度轉換讀取溫度調試顯示子程序子程序返回圖4-2 DSl8B20操作流程圖 溫度的采集DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內ROM中,主機在進入操作程序前必須逐一接入DSl8B20,用讀
45、ROM(33H)命令將該DSl8B20的序列號讀出并登錄。當主機需要對眾多在線DSl8B20的某一個進行操作時首先要發出匹配ROM命令(55H),緊接著主機提供64位序列(包括該DSl8B20的48位序列號)之后的操作就是針對該DSl8B20的,而所謂跳過ROM命令即為之后的操作,是對所有DSl8B20的框圖中先有跳過ROM即是啟動所有DSl8B20進行溫度變換之后通過匹配ROM再逐一地讀回每個DSl8B20的溫度數據在DSl8B20組成的測溫系統中主機在發出跳過ROM命令之后再發出統一的溫度轉換啟動碼44H就可以實現所有DSl8B20的統一轉換再經過1s后就可以用很少的時間去逐一讀取這種方式
46、,使其T值往往小于傳統方式7。 溫度的測量單總線已經掛接了DS18B20。由于已經在上面獲取了DS18B20的ROM代碼并在AT89C52單片機內部的中建立了測量位置點和傳感器64位ROM代碼之間的關系表,因此對溫度的巡回測量的步驟如下:(1)發跳過ROM命令CCH。(2)發啟動所有在線的DS18B20進行溫度轉換命令44H。(3)延遲1s。(4)發匹配ROM命令55H。(5)按照AT89C51中建立的關系表的順序取出64位ROM代碼發送到單總線。(6)發讀溫度值命令BEH,讀取溫度值。(7)進行CRC校驗和數據處理后送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?結束開始液晶初始化送顯示地址寫指令送顯示字符Y忙判斷P0.7=1?寫數據YNN 圖4-4 LCD顯示流程圖 4.4 鍵盤掃描流程圖按鍵處理程序通過掃描按鍵情況,讀取鍵值。主要完成各點溫度傳感器上下限報警參數設置和顯示模式設置。(1)通過掃描鍵盤讀取鍵值,流程圖如圖4-5所示。YN鍵盤掃描有鍵閉合延時去鍵抖動動掃描鍵盤找到閉合鍵計算鍵值閉
48、合鍵釋放建立有效標志返回建立無效標志NYNY圖4-5 鍵盤掃描程序流程圖(2)設置報警上、下限值 DS18B20設有溫度上下限報警功能。DSl8B20的存儲器由兩部分組成:一個是9字節的靜態RAM,其中第0和第1字節用于存儲16位的溫度轉換值,第2(高溫限TH)和第3字節(低溫限TL)作為溫度報警限值或通用存儲器單元供用戶使用;另一個是非易失性的EPROM。當靜態RAM作為溫度報警限值使用時,可以在系統安裝和工作前,用寫RAM命令4EH將高溫限TH和低溫限TL寫入第2和第3字節單元。由于靜態RAM掉電后信息即丟失,因此需要再通過拷貝RAM命令48H將第2和第3字節單元的溫度報警限值拷貝到EPR
49、OM中。主程序只要在初始化部分使用重調EPROM命令B8H,就可以將EPROM中的溫度報警限值重新拷貝到靜態RAM中。讀取DDRAM或CGRAM中的內容。結論經過幾個月的不斷學習和努力,在劉老師的諄諄教導下,在其他老師及同學們的熱心幫助與指導下,基于單片機的溫度測控系統的畢業實踐報告即將結束,基本完成了老師所規定的各項工作任務。 本報告介紹了用單片機AT89C52控制DS18B20以及著重分析各單元電路的設計,以及各電路與單片機的接口技術。最后還給出系統的軟件的設計過程,使用了C語言進行程序設計。本文是采用模塊化的方式進行敘述,對各模塊的設計進行了比較詳細地闡述。通過本次溫度監控系統的設計,我
50、大有收獲,在制作過程中,一定要注意的每個工驟的檢查,確保制作成功。比如在合理選擇模塊,檢查裝配無誤的情況下,如果還出現電路無輸出的情況,那么可以肯定是原理圖錯誤,這時就要回到原理圖進行檢查。從整體來說這是一個復雜的過程,要細心謹慎,沉著冷靜,反復檢查,直到找到原因為止。經過三年學習的積累,在已經掌握相關專業方面知識及其它各方面知識的情況下,我認真嚴肅的完成了我的畢業實踐報告。從得到題目到查找資料,從對題目的研究設定到程序的調試,從電路圖的仿真調試到失敗后再一次全部重新開始在這一個充滿挑戰伴隨挫折,充滿熱情伴隨打擊的過程中,我感觸頗深,它已不僅是一個對我學習知識情況和我的應用動手能力的檢驗,而且
51、還是對我的鉆研精神,面對困難的心態,做事的毅力和耐心的考驗。我在這個過程中深刻的感受到了做畢業設計的意義所在,和我一樣真正投入了身心去做的人也一定會有同樣的感觸。本課題的重點、難點是:(1) 初步接觸溫度傳感器,要對傳感器的原理、結構、應用等各方面;(2) 考慮從非電量信號到電量信號的電路實現原理以及與單片機的接口;(3) 熟悉編程的技術;(4) 考究調整電路的實現過程以及怎么樣通過單片機來間接的控制。通過做本課題,我了解并掌握了傳感器的基本理論知識,更深入的掌握單片機的開發應用和PC編程控制。為以后從事單片機軟硬件產品的設計開發、PC軟件開發打下了良好的基礎,樹立獨立從事產品研發的信心,并在
52、這種能力上得到了比較充分的鍛煉。謝 辭在本次實踐報告中,我得到了指導老師黃培老師的指導。自始至終關心督促進程和進度。幫助解決畢業設計(論文)中遇到的許多問題。還不斷向我傳授分析問題和解決問題的辦法,并指出了正確的努力方向,使我在畢業設計(論文過程中少走很多彎路。并致以誠摯的謝意!另外,系里的領導和老師也給了我們很多的指導,我也向系和年級的領導們表示衷心的感謝!最后感謝學院對我這幾年的培養。參考文獻1何立民,單片機高級教程.北京航空航天大學出版社,2004.72 粟世明,劉湘濤.單片機原理與應用.電子工業出版社,2006.83 何立民,單片機中級教程.北京航空航天大學出版社,1999.124 李華,MCU-51系列單片機實用接口技術.北京:北京航空航天大學出版
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自考行政管理數據分析試題及答案
- 科研機構建筑弱電系統維護保養及數據安全保障合同
- 游艇船體及配件保險經紀合同
- 屋頂防水保溫材料供應與施工技術培訓合同
- 娛樂產業分成補充協議
- 跨境商務出行保障-保鏢車輛租賃與翻譯服務合同
- 商標侵權糾紛處理補充協議
- 大國工匠活動方案
- 高級會計的道德困境與解決方案試題及答案
- 重點解析2024中級審計師試題及答案
- 新概念英語第二冊習題答案全部
- jgd280同步控制器使用說明
- 現代漢語下冊(黃廖版)期末考試試題
- 建設項目管理流程圖
- 同等學力申碩英語寫作模板十篇
- 2023年新疆喀什地區中級人民法院招考聘用聘用制書記員20名參考題庫+答案詳解
- 中式烹調師(技師)考試(重點)題庫300題(含答案解析)
- 危重患者搶救記錄表
- 2023年農業綜合行政執法理論考試題庫(含答案)
- NY/T 605-2002焙炒咖啡豆
- JJF 1665-2017流式細胞儀校準規范
評論
0/150
提交評論