版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 本科生畢業(yè)論文(設(shè)計)系(院)物理與電子信息科學(xué) 專 業(yè) 電子信息工程論文題目 基于51單片機(jī)的多路溫度采集 和報警系統(tǒng) 學(xué)生姓名 指導(dǎo)教師 (講師)班 級 2007級電信1班 學(xué) 號 07331021 完成日期: 2010年11月基于51單片機(jī)的多路溫度采集 和報警系統(tǒng)設(shè)計物理與電子信息科學(xué)系 電子信息工程 07331021摘要本設(shè)計利用單片機(jī)及keil編程軟件編程和proteus單片機(jī)仿真軟件和電子電工等方面知識,用keil編程軟件編程,用proteus單片機(jī)仿真軟件仿真。最后制作實物,將程序下載到單片機(jī)中,利用(i/o)口采集來自多路溫度的數(shù)據(jù),根據(jù)各路溫度的不同,集中準(zhǔn)確的顯示出來,
2、并且根據(jù)所設(shè)溫度的上下限通過驅(qū)動蜂鳴器進(jìn)行聽覺上的報警,同時還可以通過led燈協(xié)助進(jìn)行視覺上的報警,從而達(dá)到多點溫度的采集和報警的目的。以keil編程軟件和proteus軟件來進(jìn)行仿真、分析,調(diào)試,為設(shè)計提供了一個方便、快捷的途徑,為設(shè)計節(jié)約了設(shè)計時間。關(guān)鍵詞:at89s52單片機(jī) 溫度 采集 報警 目 錄1 緒論11.1 本系統(tǒng)功能11.1.1 溫度測量功能11.1.2 溫度報警功能11.1.3 系統(tǒng)工作流程11.2 本系統(tǒng)的設(shè)計思路21.2.1 本系統(tǒng)的設(shè)計思想和工作原理. 21.2.2 設(shè)計功能要求21.2.3 方案對比21.2.4系統(tǒng)總體設(shè)計方案31.3 本系統(tǒng)優(yōu)點41.3.1 線路簡
3、單41.3.2測量溫度精確41.3.2報警溫度可調(diào)42.1本系統(tǒng)硬件和軟件組成52.1.1 硬件組成52.1.2軟件組成52.2 stc單片機(jī)介紹62.2.1 stc單片機(jī)功能介紹62.3 ds18b20數(shù)字溫度傳感器介紹72.3.1 功能介紹82.3.2 ds18b20溫度傳感器是存儲器92.3.3 ds18b20內(nèi)部邏輯圖102.3.4 ds18b20溫度傳感器讀寫時序132.3.5 ds18b20存儲器操作命令142.4 lcd1602液晶152.4.1 lcd1602液晶顯示模塊基本技術(shù)152.4.2技術(shù)參數(shù)152.4.3時序特性表152.4.4引腳和指令功能162.4.5指令功能16
4、2.4.6顯示位與dd ram 地址的對應(yīng)關(guān)系172.5部分電路功能172.5.1晶振電路182.5.2復(fù)位電路182.5.2溫度采集電路182.5.2顯示電路192.5.2報警電路193 程序的編寫與調(diào)試203.1 程序的編寫203.1.1 新建工程213.1.2編寫程序213.2 程序的調(diào)試224 系統(tǒng)原理圖的繪制234.1 繪制原理圖庫244.1.1軟件啟動244.1.2繪制原理圖元件254.2 繪制pcb庫254.2.1 繪制pcb元件264.3 系統(tǒng)完整原理圖265 系統(tǒng)pcb圖275.1 為覆銅pcb圖285.2覆銅pcb圖286 系統(tǒng)工作過程296.1 溫度的測量307 程序框圖
5、及c語言程序317.1溫度采集系統(tǒng)原理框圖317.1.1溫度顯示模塊317.1.2讀溫度子程序327.1.3溫度轉(zhuǎn)換子程序327.1.4計算溫度子程序337.2溫度采集系統(tǒng)c語言程序33結(jié)論45致謝46參考文獻(xiàn)471 緒論1.1 系統(tǒng)功能1.1.1 溫度采集功能利用多個ds18b20數(shù)字溫度傳感器實現(xiàn)對多個地點溫度進(jìn)行同時準(zhǔn)確的測量,單片機(jī)作為控制器件,使多點溫度值顯示到lcd1602液晶上,實現(xiàn)多點溫度的實時采集。1.1.2 溫度報警功能利用ds18b20數(shù)字溫度傳感器進(jìn)行溫度的采集,單片機(jī)作為控制器件,將采集的數(shù)據(jù)與軟件程序所設(shè)定的范圍進(jìn)行對比,如果超過了安全范圍,系統(tǒng)將通過蜂鳴器和led
6、燈進(jìn)行模擬聽覺和視覺上的報警,達(dá)到對多點實時溫度的報警目的。1.1.3系統(tǒng)工作流程,見圖1-1系統(tǒng)上電初始化ds18b20進(jìn)行數(shù)據(jù)的采集并將數(shù)據(jù)以二進(jìn)制的形式傳至單片機(jī)單片機(jī)對數(shù)據(jù)進(jìn)行處理lcd1602進(jìn)行溫度顯示通過數(shù)據(jù)分析進(jìn)行報警圖1-1系統(tǒng)工作流程1.2本系統(tǒng)的設(shè)計思路1.2.1 本系統(tǒng)的設(shè)計思想和工作原理設(shè)計思想:隨著時代的發(fā)展人們的生活水平越來越高,對生活的要求也越來越高,單片機(jī)已在各行業(yè)得到廣泛應(yīng)用,為適應(yīng)更多的應(yīng)用領(lǐng)域,廠家采取了在一塊單片機(jī)芯片上集成多種功能部件和大容量存儲器的方法。因而,整個應(yīng)用系統(tǒng)不需要擴(kuò)展,而體積變小、可靠性增高,使單片機(jī)成為真正意義上的單片機(jī)系統(tǒng)。同時隨
7、著現(xiàn)代信息技術(shù)的飛速發(fā)展,溫度測量采集以及報警系統(tǒng)在工業(yè)、農(nóng)業(yè)、軍事及人們的日常生活中扮演著一個越來越重要的角色,它對人們的生活具有很大的影響,所以溫度采集報警系統(tǒng)的設(shè)計與研究有十分重要的意義。設(shè)計原理:本設(shè)計采用單片機(jī)作為數(shù)據(jù)處理與控制單元,為了進(jìn)行數(shù)據(jù)處理,單片機(jī)控制數(shù)字溫度傳感器,把溫度信號通過單總線從數(shù)字溫度傳感器傳遞到單片機(jī)上。單片機(jī)數(shù)據(jù)處理之后,發(fā)出控制信息改變報警和控制執(zhí)行模塊的狀態(tài),同時將當(dāng)前溫度信息發(fā)送到lcd進(jìn)行顯示。本系統(tǒng)可以實現(xiàn)多路溫度信號采集與顯示,可以使用程序來設(shè)置溫度限定值,通過進(jìn)行溫度數(shù)據(jù)的運算處理,發(fā)出控制信號達(dá)到控制蜂鳴器和led進(jìn)行報警。1.2.2 設(shè)計功
8、能要求(1)檢測的溫度范圍:0100。(2)檢測分辨率0.1。(3)顯示的多路的溫度值不相互干擾,而且對各個傳感器的所屬溫度都能進(jìn)行報警。(4)設(shè)計并制作各檢測器以及主控器所用的直流穩(wěn)壓電源。由單相220v交流電壓供電。(不可使用定型產(chǎn)品)。1.2.3 方案對比1.2.3.1電源提供方案為使模塊穩(wěn)定工作,必須有可靠電源。我們考慮了兩種電源方案。方案一:采用獨立的穩(wěn)壓電源。此方案的優(yōu)點是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點是各模塊都采用獨立電源,會使系統(tǒng)復(fù)雜,且可能影響電路電平。方案二:采用usb線直接提供電源。該方案的優(yōu)點是系統(tǒng)簡明扼要,節(jié)約設(shè)計時間和設(shè)計成本,且穩(wěn)定。綜上所述,我們選擇第
9、二種方案。1.2.3.2電路板制作方案電路板的制作直接關(guān)系到設(shè)計所需要的時間和成本,更關(guān)系到設(shè)計最終的成敗,我們考慮了兩種電路板制作方案。方案一:用萬通板做電路。方案二:用pcb板做電路。萬通板焊接可以省去用軟件繪制電路圖,腐蝕電路板打孔等過程,使設(shè)計的工序大大減少,而且用pcb板打印的時候打印機(jī)打印電路不清晰,轉(zhuǎn)印效果不好導(dǎo)致腐蝕的時候電路出現(xiàn)斷開等現(xiàn)象,考慮到我做的硬件布線不是很復(fù)雜,用萬通板很容易實現(xiàn),所以我還是選擇了第一種方案來制作電路板。1.2.4系統(tǒng)總體設(shè)計方案系統(tǒng)總體主要由對單片機(jī)進(jìn)行編程后得到控制,系統(tǒng)的其他功能部件分別接至單片機(jī)的對應(yīng)i/o口。p1口 p0口at89s52p3
10、lcd1602液晶電路報警電路多路溫度傳感器晶振.復(fù)位 圖1 整體模塊1.3 本系統(tǒng)優(yōu)點1.3.1 線路簡單ds18b20與單片機(jī)之間一根導(dǎo)線進(jìn)行數(shù)據(jù)傳輸,不需要對數(shù)據(jù)進(jìn)行轉(zhuǎn)換,接線簡單。1.3.2 溫度測量準(zhǔn)確ds18b20的溫度分辨率為0.0625,所以對溫度值可以進(jìn)行準(zhǔn)確的溫度轉(zhuǎn)換。1.3.3 報警溫度的范圍可調(diào) 此系統(tǒng)的報警溫度的范圍是通過軟件設(shè)定的,因此想要改變不需要任何硬件上的改變,只需要對程序進(jìn)行簡單的改變,非常方便。2系統(tǒng)硬件介紹2.1系統(tǒng)硬件及軟件組成2.11硬件組成本系統(tǒng)所用的硬件有:見表2-1。表2-1系統(tǒng)硬件清單器件名稱數(shù)量stc89c52單片機(jī)1個12m晶振1個led
11、發(fā)光二級管2個蜂鳴器1個獨立鍵盤2個lcd16021個萬通板1個ds18b204個max232電平轉(zhuǎn)換芯片1個電容若干電阻若干導(dǎo)線若干2.1.2軟件組成軟件有:keil軟件、proteus軟件、windows操作系統(tǒng)和protel 99se等軟件組成。2.2 stc單片機(jī)介紹單片機(jī)作為微型計算機(jī)的一個重要分支,其應(yīng)用范圍很廣,發(fā)展也很快。1971年intel公司首次宣布4004的4位微處理器,1974年12月fairchild(仙童)公司即推出了8位單片機(jī)f8,開創(chuàng)了單片機(jī)的門戶。單片機(jī)在我國的應(yīng)用始于20世紀(jì)70年代末,那時我國的科研工作者開始對單片機(jī)的應(yīng)用進(jìn)行了初期探索,20世紀(jì)80年代,
12、單片機(jī)在我國得以廣泛的應(yīng)用,各理工科院校陸續(xù)開設(shè)了有關(guān)應(yīng)用課程。在教學(xué)及應(yīng)用上,zilog公司生產(chǎn)的z80cpu成為我國工業(yè)控制的主流,以z80為cpu組成的tp801單板機(jī)在教學(xué)上及應(yīng)用領(lǐng)域發(fā)揮過巨大作用。20世紀(jì)80年代末至90年代初,我國在工業(yè)控制領(lǐng)域開始轉(zhuǎn)向使用intel公司生產(chǎn)的mcs-51。單片機(jī)從1976年公布8位機(jī)至今不到30年的時間,它沒有像微處理器那樣從8位、16位,一直發(fā)展到32位、64位,8位機(jī)目前依然是單片機(jī)的主流機(jī)型。但是,它突破了原有的集成結(jié)構(gòu),在內(nèi)部繼承了越來越多的外圍電路和外設(shè)接口,從而發(fā)展成為控制器(microcontroller)的體系結(jié)構(gòu),其發(fā)展歷程大致
13、分為以下幾步:第一階段:單片機(jī)的控索階段第二階段:單片機(jī)的完善階段第三階段:8位單片機(jī)的鞏固發(fā)展及16位單片機(jī)的推出階段第四階段:微控制器的全面發(fā)展階段單片機(jī)已在各行業(yè)得到廣泛應(yīng)用,為適應(yīng)更多的應(yīng)用領(lǐng)域,廠家采取了在一塊單片機(jī)芯片上集成多種功能部件和大容量存儲器的方法。因而,整個應(yīng)用系統(tǒng)不需要擴(kuò)展,而體積變小、可靠性增高,使單片機(jī)成為真正意義上的單片機(jī)系統(tǒng)2.2.1 stc單片機(jī)功能介紹單片機(jī)是隨著大規(guī)模集成電路的出現(xiàn)極其發(fā)展,將計算機(jī)的cpu,ram,rom,定時/計數(shù)器和多種i/o接口集成在一片芯片上,形成了芯片級的計算機(jī),因此單片機(jī)早期的含義稱為單片微型計算機(jī)(single chipmi
14、crocomputer).它擁有優(yōu)異的性價比、集成度高、體積小、可靠性高、控制功能強、低電壓、低功耗的顯著優(yōu)點.主要應(yīng)用于智能儀器儀表、工業(yè)檢測控制、機(jī)電一體化等方面,并且取得了顯著的成果.單片機(jī)應(yīng)用系統(tǒng)可以分為:(1)最小應(yīng)用系統(tǒng)是指能維持單片機(jī)運行的最簡單配置的系統(tǒng)。這種系統(tǒng)成本低廉,結(jié)構(gòu)簡單,常構(gòu)成一些簡單的控制系統(tǒng),如開關(guān)狀態(tài)的輸入/輸出控制等。片內(nèi)有rom/eprom的單片機(jī),其最小應(yīng)用系統(tǒng)即為配有晶振,復(fù)位電路,電源的單個單片機(jī).片內(nèi)無rom/eprom的單片機(jī),其最小應(yīng)用系統(tǒng)除了外部配置晶振,復(fù)位電路,電源外,還應(yīng)外接eprom或eeprom作為程序存儲器用.(2)最小功耗應(yīng)用系
15、統(tǒng)是指為了保證正常運行,系統(tǒng)的功耗最小.(3)典型應(yīng)用系統(tǒng)是指單片機(jī)要完成工業(yè)測控功能所必須的硬件結(jié)構(gòu)系統(tǒng)。stc89c52 是一種低功耗、高性能 cmos8 位微控制器,具有8k 在系統(tǒng)可編程 flash 存儲器。使用 atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51產(chǎn)品指令和引腳完全兼容。片上 flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 cpu 和在系統(tǒng)可編程 flash,使得 stc89c52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。stc89c52 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) flash,256 字節(jié) ram
16、,32 位 i/o 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個 16 位定時器/計數(shù)器一個 6 向量 2 級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,stc89c52 可降至 0hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式。空閑模式下,cpu停止工作,允許 ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。2211引腳結(jié)構(gòu),見圖2-1圖2-1單片機(jī)封裝及引腳結(jié)構(gòu)2212內(nèi)部邏輯圖,見圖2-2圖2-2內(nèi)部邏輯圖2213 引腳功能描述vcc :電源gnd:地p0 口:p0 口是一個 8 位漏極
17、開路的雙向 i/o 口。作為輸出口,每位能驅(qū)動 8 個 ttl 邏輯電平。對 p0 端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,p0 口也被作為低 8 位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0 具有內(nèi)部上拉電阻。在 flash 編程時,p0 口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。p1 口:p1 口是一個具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p1 輸出緩沖器能驅(qū)動 4 個ttl 邏輯電平。對 p1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil
18、)。此外,p1.0 和 p1.2 分別作定時器/計數(shù)器 2 的外部計數(shù)輸入(p1.0/t2)和時器/計數(shù)器 2的觸發(fā)輸入(p1.1/t2ex),具體如下表所示。在 flash 編程和校驗時,p1 口接收低 8 位地址字。p2 口:p2 口是一個具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器能驅(qū)動 4 個ttl邏輯電平。對p2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲器或用 16 位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行 movx dptr)時, p2 口送出高八位地址。在這
19、種應(yīng)用中,p2 口使用很強的內(nèi)部上拉發(fā)送 1。在使用8 位地址(如 movx ri)訪問外部數(shù)據(jù)存儲器時,p2 口輸出 p2 鎖存器的內(nèi)容。在 flash 編程和校驗時,p2 口也接收高 8 位地址字節(jié)和一些控制信號。p3 口:p3 口是一個具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器能驅(qū)動 4 個ttl 邏輯電平。對 p3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。p3 口亦作為 stc89c52 特殊功能(第二功能)使用,如下表所示。在 flash 編程和校驗時,p3 口也接收一
20、些控制信號。rst:復(fù)位輸入。晶振工作時,rst 腳持續(xù) 2 個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計時完成后,rst 腳輸出 96 個晶振周期的高電平。特殊寄存器 auxr(地址 8eh)上的 disrto 位可以使此功能無效。disrto 默認(rèn)狀態(tài)下,復(fù)位高電平有效。ale/prog:地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在 flash 編程時,此引腳(prog)也用作編程輸入脈沖。在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ale 脈沖將會跳過。如果需要,通過將地址
21、為 8eh 的 sfr 的第 0 位置“1”,ale 操作將無效。這一位置“1”,ale 僅在執(zhí)行 movx 或 movc 指令時有效。否則,ale 將被微弱拉高。這個 ale 使能標(biāo)志位地址為 8eh 的 sfr 的第 0 位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。psen:外部程序存儲器選通信號psen是外部程序存儲器選通信號。當(dāng) stc89c52 從外部程序存儲器執(zhí)行外部代碼時,psen 在每個機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,psen 將不被激活。 xtal1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。xtal2:振蕩器反相放大器的輸出端。2.3 ds18b20數(shù)字溫度
22、傳感器介紹2.3.1 功能介紹dallas最新單線數(shù)字溫度傳感器ds18b20的“一線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì) dallas 半導(dǎo)體公司的數(shù)字化溫度傳感器ds1820是世界上第一片支持 “一線總線”接口的溫度傳感器。一線總線獨特而且經(jīng)濟(jì)的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。ds18b20、 ds1822 “一線總線”字化溫度傳感器 同ds1820一樣,ds18b20也 支持“一線總線”接口,測量溫度范圍為 -55c+125c,-10+85c范圍內(nèi),精度為0.5c。ds1822的精度較差為 2c ?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)
23、的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:境控制、設(shè)備或過程控制、測溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3v5.5v的電壓范圍,使系統(tǒng)設(shè)計更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 ds18b20、 ds1822 的特性 ds18b20可以程序設(shè)定912位的分辨率,精度為0.5c。可選更小的方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報警溫度存儲在eeprom中,掉電依然保存。ds18b20的性能是新一代產(chǎn)品中最好的!性能價格比也非常出色! ds1822ds18b20軟件兼容,是ds18b20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的eeprom,精度降低
24、為2c,適用于對性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。 繼“一線總線”的早期產(chǎn)品后,ds1820開辟了溫度傳感器技術(shù)的新概念。ds18b20和ds1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測溫系統(tǒng)。ds18b20的內(nèi)部結(jié)構(gòu)ds18b20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻rom、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th和tl、配置寄存器。ds18b20的管腳排列如下: dq為數(shù)字信號輸入/輸出端;gnd為電源地;vdd為外接供電電源輸入端(在寄生電源接線方式時接地)。光刻rom中的64位序列號是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼。64
25、位光刻rom的排列是:開始8位(28h)是產(chǎn)品類型標(biāo)號,接著的48位是該ds18b20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(crc=x8+x5+x4+1)。光刻rom的作用是使每一個ds18b20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個ds18b20的目的。ds18b20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補碼讀數(shù)形式提供,以0.0625/lsb形式表達(dá),其中s為符號位,見表2-1。表2-1ds18b20內(nèi)部溫度表示形式這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18b20的兩個8比特的ram中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大
26、于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。例如+125的數(shù)字輸出為07d0h,+25.0625的數(shù)字輸出為0191h,-25.0625的數(shù)字輸出為ff6fh,-55的數(shù)字輸出為fc90h。見表2-2表2-2ds18b20轉(zhuǎn)化溫度形式實際溫度值數(shù)字輸出(二進(jìn)制)數(shù)字輸出(十六進(jìn)制)+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000
27、1010 001000a2h+0.50000 0000 0000 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000fff8h-10.1251111 1111 0101 1110ff5eh-25.06251111 1110 0110 1111fe6eh-551111 1100 1001 0000fc90h2.3.2 ds18b20溫度傳感器的存儲器ds18b20溫度傳感器的內(nèi)部存儲器包括一個高速暫存ram和一個非易失性的可電擦除的e2ppram,后者存放高溫度和低溫度觸發(fā)器th、t和結(jié)構(gòu)寄存器。暫存存儲器包含了8個連續(xù)字節(jié),前兩個
28、字節(jié)是測得的溫度信息,第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是th、tl的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復(fù)位時被刷新。第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗字節(jié),見表2-3。表2-3ds18b20暫存存儲器的8個連續(xù)字節(jié)寄存器內(nèi)容字節(jié)地址溫度最低數(shù)字位0溫度最高數(shù)字位1高溫限值2低溫限值3保留4保留5計數(shù)剩余值6每度計數(shù)值7ctr校驗8該字節(jié)各位的意義如下: tm r1 r0 1 1 1 1 1 低五位一直都是1 ,tm是測試模式位,用于設(shè)置ds18b20在工作模式還是在測試模式。在ds18b20
29、出廠時該位被設(shè)置為0,用戶不要去改動。r1和r0用來設(shè)置分辨率,如下表所示:(ds18b20出廠時被設(shè)置為12位),見表2-4表2-4分辨率設(shè)置表 根據(jù)ds18b20的通訊協(xié)議,主機(jī)控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對ds18b20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條rom指令,最后發(fā)送ram指令,這樣才能對ds18b20進(jìn)行預(yù)定的操作。復(fù)位要求主cpu將數(shù)據(jù)線下拉500微秒,然后釋放,ds18b20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主cpu收到此信號表示復(fù)位成功。 ds1820使用中注意事項ds1820雖然具有測溫系統(tǒng)簡單、測溫精度高、
30、連接方便、占用口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題: (1)較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補償,由于ds1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對ds1820進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用pl/m、c等高級語言進(jìn)行系統(tǒng)程序計時,對ds1820操作部分最好采用匯編語實現(xiàn)。 (2)在ds1820的有關(guān)資料中均未提及單總線上所掛ds1820數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個ds1820,在實際應(yīng)用中并非如此。當(dāng)單總線上所掛ds1820超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進(jìn)行多點測溫系統(tǒng)設(shè)計時要加以注意。(3)連
31、接ds1820的總線電纜是有長度限制的。試驗中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用ds1820進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。 (4)在ds1820測溫程序設(shè)計中,向ds1820發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待ds1820的返回信號,一旦某個ds1820接觸不好或斷線,當(dāng)程序讀該ds1820時,將沒有返回信號,程序進(jìn)入死循環(huán)。這一點在進(jìn)行ds
32、1820硬件連接和軟件設(shè)計時也要給予一定的重視。測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接vcc和地線,屏蔽層在源端單點接地。2.3.3 ds18b20的內(nèi)部邏輯圖,見圖2-3。c64 位rom和單線接口高速緩存存儲器與控制邏輯溫度傳感器高溫觸發(fā)器th低溫觸發(fā)器tl配置寄存器8位crc發(fā)生器vdd圖2-3ds18b20內(nèi)部內(nèi)部邏輯圖2.3.4 ds18b20讀寫時序主機(jī)使用時間隙(time slots)來讀寫 dsl820 的數(shù)據(jù)位和寫命令字的位2.3.4.1初始化時序見圖 2-4主機(jī)總線 to 時刻發(fā)送一復(fù)位脈沖(最短為 480us 的低電平信號)接著在 tl 時刻
33、釋放總線并進(jìn)入接收狀態(tài)dsl820 在檢測到總線的上升沿之后 等待 15-60接著 ds1820 在 t2 時刻發(fā)出存在脈沖(低電平持續(xù) 60-240 us)如圖中虛線所示圖2-4ds18b20初始化時序圖程序:init_ds18b20(void)/初始化ds1820 dq = 1; /dq復(fù)位 _nop_(); _nop_(); /稍做延時2ms dq = 0; /單片機(jī)將dq拉低,發(fā)出復(fù)位脈沖(要求480us960us) delay(70); /精確延時566us dq = 1; /拉高總線(要求1660us) delay(5); /延時46us presence = dq; /如果=0則
34、初始化成功 =1則初始化失敗 delay(25); dq = 1; return(presence); /返回信號,0=presence,1= no presence2.3.4.2寫時間隙當(dāng)主機(jī)總線 t o 時刻從高拉至低電平時 就產(chǎn)生寫時間隙從 to 時刻開始 15us 之內(nèi)應(yīng)將所需寫的位送到總線dsl820 在 t1為15-60us 間對總線采樣 若低電平 寫入的位是 0見若高電平 寫入的位是連續(xù)寫 2 位間的間隙應(yīng)大于 1us ,見圖2-5。 圖2-5寫時間隙程序:writeonechar(unsigned char dat)unsigned char i=0;for (i=8; i0;
35、 i-) dq = 0; dq = dat&0x01; delay(5); dq = 1; dat=1;2.3.4.3讀時間隙見圖 2-6 主機(jī)總線 to 時刻從高拉至低電平時總線只須保持低電平 l 7ts之后15捍 s也就是說t z 時刻前主機(jī)必須完成讀位 并在 t o 后的 60 尸 s 一 120 fzs 內(nèi)釋放總線讀位子程序(讀得的位到 c 中) 圖2-6讀時序程序:readonechar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) dq = 0; / 給脈沖信號 dat=1; dq = 1; / 給脈沖信號
36、 if(dq) dat|=0x80; delay(4);return(dat);2.3.5存儲器操作命令,見表2-5表2-5存儲器操作命令指令約定代碼功能讀rom33h讀取ds18b20rom中的編碼(64位地址)符合rom55h發(fā)出命令后,接著發(fā)出64位rom編碼,訪問單總線上與該編碼相同的ds18b20,使之做出反應(yīng),為下一步讀寫作準(zhǔn)備。搜索rom0f0h用于確定掛在同一總線上ds18b20的個數(shù),和識別64位rom地址,微操作各器件做準(zhǔn)備。跳過rom0cch忽略64位rom地址,直接向ds18b20發(fā)送溫度轉(zhuǎn)換命令,適用于單片工作。告警搜索命令0ech執(zhí)行后只有溫度值超過限度值才做出反應(yīng)
37、,溫度變換命令44h啟動ds18b20進(jìn)行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為500毫秒,結(jié)果存入內(nèi)部就九字節(jié)ram中。讀暫存器0beh讀內(nèi)部ra九字節(jié)內(nèi)容寫暫存器4eh發(fā)出向內(nèi)部ram的第3、4字節(jié)寫上下限溫度命令,緊隨該命令之后是傳送兩個字節(jié)數(shù)據(jù)。復(fù)制暫存器48h將ram中的第3、4字節(jié)內(nèi)容寫到eepram中。重調(diào)eepram0b8h將eepram中的第3、4字節(jié)內(nèi)容寫到ram中。讀供電方式0b4h讀ds18b20供電模式,寄生供電ds18b20時發(fā)送“1”,外接電源發(fā)送“1”。2.4 lcd1602液晶2.4.1lcd1602液晶顯示模塊基本技術(shù):主要功能: a、 40通道點陣lcd 驅(qū)動; b、
38、可選擇當(dāng)作行驅(qū)動或列驅(qū)動; c、 輸入/輸出信號:輸出,能產(chǎn)生202個lcd驅(qū)動波形;輸入,接受控制器送出的串行數(shù)據(jù)和控制信號,偏壓(v1v6); d、 通過單片機(jī)控制將所測的頻率信號讀數(shù)顯示出來 2.4.2技術(shù)參數(shù): 極限參數(shù)表:名 稱 符 號 標(biāo) 準(zhǔn) 值 單 位 mintypemax電路電源 vdd - vss-0.37.0vlcd驅(qū)動電壓 vdd - veevdd - 13.5vdd + 0.3v輸入電壓 vin-0.3vdd + 0.3v靜電電壓 -100v工作溫度 -20+70儲存溫度 -30+80電參數(shù)表: 名 稱 符 號 測 試 條 件 標(biāo) 準(zhǔn) 值 單位 mintypemax輸入
39、高電平 vih-2.2vddv輸入低電平 vil-0.30.6v輸出高電平 vohioh = 0.2ma2.4-v輸出低電平 voliol = 1.2ma-0.4v工作電流 iddvdd = 5.0v2.0ma液晶驅(qū)動電壓 vdd-veeta = 04.9vta = 254.7ta = 504.52.4.3時序特性表: 項 目符 號 測試條件 標(biāo) 準(zhǔn) 值 單位 mintypemax允許時間周期 tcyce 5.1a 5.1b1000ns允許脈沖寬度,高電平 pweh450-ns允許上升和下降時間 ter tef-25ns地址建立時間 tas140-ns數(shù)據(jù)延遲時間 tddr-320ns數(shù)據(jù)建立
40、時間 tdsw195-ns數(shù)據(jù)保持時間 th10-nsdata hold timetdhr20-ns地址保持時間 tah10-ns2.4.4引腳和指令功能模塊引腳功能表: 符 號 名 稱 功 能 1vss接地 0v2vdd電路電源 5v10%3vee液晶驅(qū)動電壓 保證vdd-vee=4.55v電壓差 4rs寄存器選擇信號 h:數(shù)據(jù)寄存器 l:指令寄存器 5r/w讀/寫信號 h:讀 l:寫 6e片選信號 下降沿觸發(fā),鎖存數(shù)據(jù) 7-14db0-db7數(shù)據(jù)線 數(shù)據(jù)傳輸 寄存器選擇功能表: rs r/w操 作 00指令寄存器(ir)寫入 01忙標(biāo)志和地址計數(shù)器讀出 10數(shù)據(jù)寄存器(dr)寫入 11數(shù)據(jù)
41、寄存器讀出 (注:忙標(biāo)志為1時,表明正在進(jìn)行內(nèi)部操作,此時不能輸入指令或數(shù)據(jù),要等內(nèi)部操作結(jié)束,即忙標(biāo)志為0時。) 2.4.5 指令功能 格式:rs r/w db7 db6 db5 db4 db3 db2 db1 db0共11種指令:清除,返回,輸入方式設(shè)置,顯示開關(guān),控制,移位,功能設(shè)置,cgram地址設(shè) 置,ddram地址設(shè)置,讀忙標(biāo)志,寫數(shù)據(jù)到cg/ddram,讀數(shù)據(jù)由cg/ddram。 2.4.6顯示位與dd ram 地址的對應(yīng)關(guān)系: 顯 示 位 序 號 1 2 3 4 5 40 dd ram地 址(hex)第 一 行 00 01 02 03 04 . 27第 二 行 40 41 42
42、 43 44 . 672.5 部分電路功能 2.5.1 晶振電路圖2 晶振電路在晶振電路中,這兩個電容叫晶振的負(fù)載電容,分別接在晶振的兩個腳上和對地的電容,電路取了30pf。它會影響到晶振的諧振頻率和輸出幅度2。 晶振的負(fù)載電容=(cd*cg)/(cd+cg)+cic+c式中cd,cg為分別接在晶振的兩個腳上和對地的電容,cic(集成電路內(nèi)部電容)+c(pcb上電容)經(jīng)驗值為3至5pf。晶振引腳的內(nèi)部通常是一個反相器, 或者是奇數(shù)個反相器串聯(lián)。在晶振輸出引腳 xo 和晶振輸入引腳 xi 之間用一個電阻連接, 很多芯片的引腳內(nèi)部已經(jīng)包含了這個電阻, 引腳外部就不用接了。這個電阻是為了使反相器在振
43、蕩初始時處與線性狀態(tài),反相器就如同一個有很大增益的放大器, 以便于起振。2.5.2 復(fù)位電路圖3 復(fù)位電路系統(tǒng)板上采用上電自動復(fù)位和手動復(fù)位兩種方式。上電復(fù)位要求接通電源后,自動進(jìn)行復(fù)位操作。手動復(fù)位要求接通電源的前提下,在單片機(jī)運行的條件下,在單片機(jī)運行期間,用按鈕開關(guān)操作使單片機(jī)進(jìn)行復(fù)位的操作。上電自動復(fù)位通過外部復(fù)位電容充電來實現(xiàn)。按鍵手動復(fù)位通過復(fù)位端經(jīng)電阻和vcc接通來實現(xiàn)的3。二極管是用來防止反相放電。2.5.3 溫度采集電路圖4 溫度采集電路此多路溫度采集采用的是四路溫度采集模擬的。如上如所示,各路都接有一個ds18b20溫度傳感器,他們之間互不干擾,而且可以各自同時采集,通過p
44、1口傳到單片機(jī)進(jìn)行數(shù)據(jù)分析和顯示。2.5.4 顯示電路圖5 顯示電路 此系統(tǒng)的顯示電路采用lcd1602來實現(xiàn),如上圖所示,四路溫度可以準(zhǔn)確的同時顯示在液晶上,一目了然。2.5.5報警電路圖6 報警電路此系統(tǒng)的報警電路采用兩個led和一個蜂鳴器來模擬實現(xiàn),如上圖所示,當(dāng)所采集的四路溫度都處于安全溫度范圍內(nèi)時d1和d2都不亮,當(dāng)其中有任何一路溫度低于安全穩(wěn)定范圍內(nèi)時,d1亮而且蜂鳴器響。同理當(dāng)其中有任何一路溫度高于安全穩(wěn)定范圍內(nèi)時,d2亮而且蜂鳴器響。3 程序的編寫與調(diào)試3.1 程序的編寫 本系統(tǒng)軟程序采用c語言編寫,所用軟件位keil,見圖3-1。圖3-1keil軟件編程界面3.1.1新建工程
45、 打開keil軟件,單擊project-new project輸入工程名選擇相應(yīng)單片機(jī),見圖3-2。圖3-2新建工程3.1.2編寫程序 根據(jù)電路編寫程序,見圖3-3。圖3-3編寫程序3.2調(diào)試程序 編譯程序,檢查錯誤。如果沒有錯誤,按ctrl+f5進(jìn)行程序調(diào)試,見圖3-4。圖3-4調(diào)試程序4 繪制系統(tǒng)原理圖本系統(tǒng)是用altium designer 09 進(jìn)行原理圖的繪制,放置元器件在放置元器件之前首先應(yīng)該繪制系統(tǒng)所用的原理圖庫和pcb庫。4.1繪制原理圖庫4.1.1打開軟件filenewlibrarysch library,見圖4-1。 4.1.2繪制原理圖元件 單擊toolnew compe
46、nnent元件名繪制元件,見圖4-2。圖4-2繪制原理圖元件4.2繪制pcb庫打開軟件filenewlibrarypcb library ,見圖4-3。圖4-3繪制pcb庫4.2.1繪制pcb元件單擊toolnew blank compennent元件名繪制元件,見圖4-4。圖4-4繪制pcb元件4.3系統(tǒng)完整原理圖,見圖4-5。圖4-5系統(tǒng)總原理圖5 系統(tǒng)pcb圖5.1未覆銅pcb圖,見圖5-1。圖5-1未覆銅pcb5.2覆銅,見圖5-2。圖5-2覆銅pcb6 系統(tǒng)工作過程6.1 溫度的測量 ds18b20數(shù)字溫度傳感器溫度數(shù)據(jù)以數(shù)字的形式傳至單片機(jī),單片機(jī)將數(shù)據(jù)轉(zhuǎn)換成十進(jìn)制,送到數(shù)碼管進(jìn)行
47、顯示,這也就完成了,溫度的測量,6-1。圖6-1溫度測量7程序框圖及c語言程序7.1溫度采集系統(tǒng)原理框圖,見圖7-1初始化調(diào)用顯示子程序1s到?初次上電?讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉(zhuǎn)換開始命令ny主流程圖y主流程圖n圖7-1溫度采集系統(tǒng)原理框圖7.1.1溫度顯示模塊顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時將符號顯示位移入下一位。程序流程,見圖7-2。溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?n y百位數(shù)0? ny百位數(shù)顯示數(shù)據(jù) (不顯示符號)十位數(shù)顯示符號百位數(shù)不顯示 y 結(jié)束圖7-2溫度顯示模塊流程圖7.1.2讀溫度子程序讀出溫度子程序的主要功能是讀出ram中的9字節(jié),在讀出時需要進(jìn)行crc校驗,其程序流程,見圖7-2。發(fā)ds18b20復(fù)位命令發(fā)跳過r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024自然人之間借款合同范本
- 2025年度城市綜合體場地合作經(jīng)營合同
- 2025年度文化產(chǎn)業(yè)園物業(yè)管理與文化活動策劃服務(wù)協(xié)議3篇
- 2024版教育機(jī)構(gòu)裝潢工程合同樣本
- 二零二四年度9A文智能家居系統(tǒng)定制開發(fā)合同
- 2024版環(huán)評工程服務(wù)合同范本大全
- 2025年度生態(tài)農(nóng)業(yè)用地承包種植合作合同規(guī)范文本3篇
- 二零二四年度BIM可視化展示與演示合同
- 二零二五年度廁所改造工程環(huán)保標(biāo)準(zhǔn)制定合同2篇
- 二零二五年度金融借款合同電子化轉(zhuǎn)型的法律挑戰(zhàn)3篇
- 離職分析報告
- 春節(jié)家庭用電安全提示
- 醫(yī)療糾紛預(yù)防和處理條例通用課件
- 廚邦醬油推廣方案
- 乳腺癌診療指南(2024年版)
- 高三數(shù)學(xué)寒假作業(yè)1
- 保險產(chǎn)品創(chuàng)新與市場定位培訓(xùn)課件
- (完整文本版)體檢報告單模版
- 1例左舌鱗癌手術(shù)患者的圍手術(shù)期護(hù)理體會
- (完整)100道兩位數(shù)加減兩位數(shù)口算題(難)
- 鋼結(jié)構(gòu)牛腿計算
評論
0/150
提交評論