單片機綜合系統(tǒng)實訓 (論文)說明書基于DS18B20的溫度控制器_第1頁
單片機綜合系統(tǒng)實訓 (論文)說明書基于DS18B20的溫度控制器_第2頁
單片機綜合系統(tǒng)實訓 (論文)說明書基于DS18B20的溫度控制器_第3頁
單片機綜合系統(tǒng)實訓 (論文)說明書基于DS18B20的溫度控制器_第4頁
單片機綜合系統(tǒng)實訓 (論文)說明書基于DS18B20的溫度控制器_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、編號: 單片機綜合系統(tǒng)實訓 (論文)說明書題 目: 基于ds18b20的溫度控制器 院 (系): 應用科技學院 專 業(yè): 電子信息工程 學生姓名: 學 號: 指導教師: 2011 年 01 月 19 日摘 要本系統(tǒng)采用stc89c52單片機和溫度傳感器為核心,設計電子溫度計。實現(xiàn)對溫度的采集、監(jiān)視和報警。在溫度采集的實現(xiàn)中,使用了stc89c52單片機和數(shù)字溫度傳感器ds18b20,溫度顯示部分利用動態(tài)驅動4位led數(shù)碼管,實現(xiàn)溫度的顯示。溫度的測度范圍-55+125,通過按鍵設置上下限報警溫度。此外,正文還介紹了集成溫度傳感器ds18b20的測溫原理,stc89c52單片機功能和應用,給出了

2、硬件系統(tǒng)各個子模塊電路及相關程序的程序流程圖等。關鍵詞:電子溫度計,單片機,溫度傳感器ds18b20,led數(shù)碼管顯示abstractthe system uses stc89c52 core single chip microcomputer and temperature sensors, design of electronic thermometer. to achieve the collection of temperature, monitoring, and alarm. collection in temperature, the use of the stc89c52 mi

3、crocontroller and digital temperature sensor ds18b20, temperature display some dynamic drive four led digital tube, to achieve the temperature of the display. measure the temperature range of -55 +125 , through the upper and lower alarm temperature setting buttons. in addition, the text also describ

4、es the integrated temperature sensor to thank the temperature measurement device ds18b20 principle, stc89c52 scm features and applications, given the hardware circuit and each module of the program flow chart and other related procedures.字典keywords: electronic thermometer,single chip microcomputer,t

5、emperature sensor ds18b20, light emitting diode digital display目 錄引言11 系統(tǒng)硬件介紹21.1硬件主控芯片概述及功能介紹21.11 stc89c52單片機21.12 stc89c52主要功能特性31.13stc89c52管腳說明31.14 ds18b20數(shù)字溫度傳感器51.15 ds18b20功能特性51.16 ds18b20的內(nèi)部結構71.17 ds18b20工作原理82 系統(tǒng)硬件設計92.1 單片機系統(tǒng)電路92.2溫度采集電路102.3顯示電路112.4繼電器電路113系統(tǒng)軟件設計133.1軟件設計工具的介紹133.11k

6、eil編程軟件133.12 proteus仿真軟件133.13protel 99se電路原理圖設計軟件143.2系統(tǒng)調(diào)試步驟153.3系統(tǒng)程序設計153.31主程序流程圖163.32溫度轉換子程序173.33讀溫度子程序流程圖173.34顯示報警程序流程圖18總結:19謝 辭21參考文獻22附 錄23引言 溫度是一種最基本的環(huán)境參數(shù),人們的生活與環(huán)境的溫度息息相關,在工業(yè)生產(chǎn)過程中需要實時測量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開溫度的測量,在醫(yī)學中經(jīng)常需要對人體體溫進行測量,因此研究溫度的測量方法和裝置具有十分重要的意義。隨著電子技術的發(fā)展,現(xiàn)在的溫度控制系統(tǒng)功能越來越強,可靠性和準確性的要求也越來越高

7、。以前溫度控制系統(tǒng)大部分都是基于數(shù)字電路組成的,其功能較為單一,使用起來也不夠方便,制作過程復雜,而且準確性與可靠性不高,成品面積大,安裝、維護困難。由于近年來單片機發(fā)展迅速,逐漸出現(xiàn)用單片機制作的溫度顯示及控制系統(tǒng),制作過程簡單,而且安裝、維護簡單。溫度控制系統(tǒng)在國內(nèi)各行各業(yè)的應用雖然已經(jīng)十分廣泛,但從國內(nèi)生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進國家相比,仍然有著較大折差距。成熟的溫控產(chǎn)品主要以“點位”控制及常規(guī)的pid控制器為主,它們只能適應一般溫度系統(tǒng)控制,而用于較高控制場合的智能化、自適應控制儀表,國內(nèi)技術還不十分成熟,形成商品化并廣泛應用的控制儀表較少。隨

8、著我國經(jīng)濟的發(fā)展及加入世界貿(mào)易組織wto,我國政府及企業(yè)對此都非常重視,對相關企業(yè)資源進行了重組,相繼建立了一些國家、企業(yè)的研究開發(fā)中心,開展創(chuàng)新性研究,使我國儀表工業(yè)得到了迅速的發(fā)展。目前,溫度控制器產(chǎn)品從模擬、集成溫度控制器發(fā)展到智能數(shù)碼溫度控制器。智能溫控器(數(shù)字溫控器)是微電子技術、計算機技術和自動測試技術的結合,特點是能輸出溫度數(shù)據(jù)及相關的溫度控制量,適配各種控制器,并且它是在硬件的基礎上通過軟件來實現(xiàn)控制功能的,其智能化程度也取決于軟件的開發(fā)水平,現(xiàn)階段正朝著高精度高質量的方向發(fā)展,相信以我國的實力,溫控技術在不久的將來一定會位于世界前列!因此,在這樣的背下,設計出一種用普遍用于工

9、業(yè)和生活中的新型高精度電子溫度計,且數(shù)字溫度計能快速準確的顯示讀數(shù)、攜帶方便和不會造成環(huán)境污染等特點。它在穩(wěn)定性方面比傳統(tǒng)的溫度計有著顯著的優(yōu)勢,精度要求也能和傳統(tǒng)的溫度計相媲美。1 系統(tǒng)硬件介紹1.1硬件主控芯片概述及功能介紹本次設計主要采用stc89c52單片機芯片、ds18b20數(shù)字溫度傳感器芯片和八段數(shù)碼管,下面對它們進行詳細的介紹。1.11 stc89c52單片機圖1.1 stc89c52引腳圖stc89c52是采用可靠的chmos工藝技術制造的高性能8位單片機,屬于標準的mcs-51的hcmos產(chǎn)品。它結合了hmos的高速和高密度技術及chmos的低功耗特征,它基于標準的mcs-5

10、1單片機體系結構和指令系統(tǒng),集成了時鐘輸出和向上或向下計數(shù)器等更多的功能,適合于類似馬達控制等應用場合。stc89c52內(nèi)置8位中央處理單元、8k flash閃速存儲器、 512個字節(jié)內(nèi)部數(shù)據(jù)存儲器ram、8k片內(nèi)程序存儲器(rom)、32個雙向輸入/輸出(i/o)口、3個16位定時/計數(shù)器和5個兩級中斷結構,一個全雙工串行通信口,片內(nèi)時鐘振蕩電路。此外stc89c52還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結cpu而ram定時器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存ram數(shù)據(jù),時鐘振蕩停止,同時停止芯片內(nèi)其他功能。stc89c52有pdip(40pin)

11、和plcc(44pin)兩種封裝形式。1.12 stc89c52主要功能特性標準mcs-51內(nèi)核和指令系統(tǒng)32個雙向i/o口片內(nèi)8k rom(可擴充64kb外部存儲器)3個16位可編程定時/計數(shù)器向上或向下定時計數(shù)器2568bit內(nèi)部ram(可擴充64k外部存儲器)時鐘頻率3.512/24/33mhz6個中斷源全雙工串行通信口布爾處理器4層優(yōu)先級中斷結構兼容ttl和cmos邏輯電平看門狗wdt2k e2prom 存儲器空閑和掉電節(jié)省模式pdip(40)和plcc(44)封裝形式加密性強、低功耗、高速、高可靠、強抗靜電、磁強干擾1.13stc89c52管腳說明p0口:p0口為一個8位漏級開路雙向

12、i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。 p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個tt

13、l門電流,當p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。 p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流,

14、這也是由于上拉的緣故。p3口作為89c52的一些特殊功能口,管腳備選功能 p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 /int0(外部中斷0) p3.3 /int1(外部中斷1) p3.4 t0(定時器0外部輸入) p3.5 t1(定時器1外部輸入) p3.6 /wr(外部數(shù)據(jù)存儲器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲器讀選通) rst(9引腳):rst(reset)復位信號輸入端,高電平有效。當單片運行時,在此引腳加上持續(xù)時間大于2個機器周期(24個時鐘振蕩周期)的高電平時,就可以完成復位操作。在單片機正常工作時,此引腳應為0.5v低電平。ale/prog(

15、address latch enable/programming,30引腳):ale引腳出為地址鎖存允許信號,當單片機上電正常工作后,ale引腳不斷輸出正脈沖信號。當單片機訪問外部存儲器時,ale輸出信號的負跳沿用于單片機發(fā)出的低8位地址經(jīng)外部鎖存器鎖存的鎖存控制信號。即使不訪問外部鎖存器,ale端仍有正脈沖信號輸出,此頻率為時鐘振蕩器頻率fosc1/6。如果想初步判斷單片機芯片的好壞,可用示波器查看ale端是否有正脈沖信號輸出。如果有脈沖信號輸出,則單片機基本上是好的。應當注意的是,每當mcs-51訪問外部數(shù)據(jù)存儲器時(即執(zhí)行的是movx類指令),在1個機器周期中ale只出現(xiàn)1次,即丟失1個

16、ale脈沖。因此嚴格來說,用戶不宜用ale作精確的時鐘源或定時信號。ale端可以驅動8個ls型ttl負載。prog為本引腳的第二功能。在對片內(nèi)eprom型單片機編程寫入時,此引腳作為編程脈沖輸入端。 /psen(program strobe enable,29引腳):程序存儲器允許輸出控制。在單片機訪問外部程序存儲器時,此引腳輸出脈沖負跳沿作為讀外部程序存儲器的選通信號。此引腳接外部程序存儲器的/oe(輸出允許)端。/psen端可以驅動8個ls型ttl負載。如果要檢查一個mcs-51單片機應用系統(tǒng)上電后,cpu能否正常到外部程序存儲器讀取指令碼,可用于示波器檢查/psen端有無脈沖輸出。/ea

17、 / vpp(program strobe enable,31引腳):/ea功能為內(nèi)外程序存儲器選擇控制端。當/ea引腳為高電平時,單片機訪問片內(nèi)程序存儲器,但在pc(程序計數(shù)器)值超過offfh,即超出片內(nèi)程序存儲器的4kb地址范圍時,將自動轉向執(zhí)行外部程序存儲器內(nèi)的程序。當/ea引腳為低電平時,單片機則只訪問外部程序存儲器,不論是否有內(nèi)部程序存儲器。vpp為本引腳的第二功能。在對eprom型單片機8751片內(nèi)eprom固化編程時,用于施加較高的編程電壓。xtal1(19引腳):接外部晶體的1個引腳。該引腳內(nèi)部是1個反相放大器的輸入端。這個反相放大器構成了片內(nèi)振蕩器。如果采用外接晶體振蕩器時

18、,此引腳應接地。xtal2(18腳):接外部晶體的另一端,在該引腳內(nèi)部接至內(nèi)部反相放大器的輸出端。若采用外部時鐘振蕩器時,該引腳接收時鐘振蕩器的信號,即把此信號直接接到內(nèi)部時鐘發(fā)生器的輸入端。1.14 ds18b20數(shù)字溫度傳感器ds18b20是美國dallas公司生產(chǎn)的全新單線(1-wire)數(shù)字式溫度傳感器,不需要另外再接a/d轉換器。它采用單線技術,與單片機通信只需一個引腳2(地址、命令、數(shù)據(jù)輸入或輸出引腳)。獨特的單線接口方式,ds18b20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與ds18b20的雙向通訊。數(shù)字溫度傳感器ds18b20有兩種封裝方式:分別是to-92封裝和8腳

19、soic封裝如圖4.2所示,圖的上方是ds18b20的to-92封裝,圖的下方是ds18b20的8腳soi封裝,本設計采用的是第一種ds18b20 t0-92封裝形式。圖1.2引腳封裝圖1.15 ds18b20功能特性ds18b20的引腳:1:gnd(地)2:dq(地址、命令、數(shù)據(jù)輸入或輸出)3:vdd(可選的+5v電源)ds18b20的溫度檢測范圍是:55125,固有測溫分辨率0.5。在-1085范圍內(nèi)誤差為0.5。工作電源: 3.05.5v/dc。測量結果以912位數(shù)字量方式串行傳送,適用于dn1525, dn40dn250各種介質工業(yè)管道和狹小空間設備測溫,溫度傳感器可編程的分辨率為91

20、2位,溫度轉換為12位數(shù)字格式最大值為750毫秒,用戶可定義的非易失性溫度報警設置。應用范圍包括恒溫控制,工業(yè)系統(tǒng),消費電子產(chǎn)品溫度計,或任何熱敏感系統(tǒng)。ds18b20的數(shù)字溫度計提供9至12位可編程設備溫度讀數(shù)。信息從ds18b20 通過1線接口,所以中央微處理器與ds18b20只有一個一條口線連接。為讀寫以及溫度轉換可以從數(shù)據(jù)線本身獲得能量,不需要外接電源。 因為每一個ds18b20的包含一個獨特的序號,多個ds18b20可以同時存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多,包括空調(diào)環(huán)境控制,感測建筑物內(nèi)溫設備或機器,并進行過程監(jiān)測和控制。并且同一根信息線上可掛多個d

21、s18b20而互不影響,因為每個ds18b20有惟一的63位序號,該序號存放在各自的rom里面。溫度與數(shù)據(jù)的關系如下表4.1所示:表1.1 溫度與數(shù)據(jù)的關系溫度數(shù)據(jù)輸出(二進制)數(shù)據(jù)輸出(十六進制)+12500000000 1111101000fa+2500000000 001100100032+1/200000000 000000010001000000000 000000000000-1/211111111 11111111ffff-2511111111 11001110ffce-5511111111 10010010ff92溫度的讀取:ds18b20在出廠時以配置為12位,讀取溫度時共讀

22、取16位,所以把后11位的二進制轉化為10進制后在乘以0.0625便為所測得的溫度,還需要判斷其正負。前5個數(shù)字為符號位,當前5位為1時,讀取的溫度為負數(shù);當前5位為0時,讀取的溫度為正數(shù)。16位數(shù)字擺放是從低位到高位,ds18b20有兩個字節(jié)的ram用于存儲檢測溫度數(shù)值(以補碼的形式存儲),其格式如下表1.2所示:表1.2 存儲溫度數(shù)值的格式高8位數(shù)據(jù)低8位數(shù)據(jù)符號位檢測溫度整數(shù)檢測溫度小數(shù)sssss262524232221202-12-22-32-4當檢測到正溫度時s為0,當檢測到負溫度時s為1。在默認情況下,ds18b20的分辨率為2-4。例如讀取ds18b20的數(shù)據(jù)為000000111

23、0111010(03bah)則實際檢測到的溫度為正溫度(因符號位為0),數(shù)值=01110111010=026+125+124+123+022+121+120+12-1+02-2+12-3+02-4=59.375。1.16 ds18b20的內(nèi)部結構ds18b20內(nèi)部結構主要由四部分組成:64位光刻rom、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th和tl、配置寄存器,如圖4.3所示。64位rom的結構開始8位是產(chǎn)品類型的編號,接下來是每一個器件的惟一序號,總共有48位,最后8位是前面56位的crc檢驗碼,這也是多個ds18b20可以連接到一根數(shù)據(jù)線上進行通信的原因。溫度報警觸發(fā)器th(保存上限值)和t

24、l(保存下限值),可通過軟件寫入報警上下限。ds18b20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存器ram和一個非易失性的電可擦除的eeram。高速暫存ram的結構為8字節(jié)的存儲器,其結構如表4.3所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)th和tl的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié)為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉換分辨率。ds18b20工作時寄存器器中的分辨率轉換為相應精度的溫度數(shù)值。該字節(jié)各位定義如表4.4所示。低5位一直為1,tm是工作模式位,用于設置ds18b20在工作模式還是在測試模式,ds18b20在出廠時就被設置為0,r1和r0決定溫度轉換的精

25、度位數(shù),來設置分辨率。圖1.3 ds18b20內(nèi)部結構圖表1.3 高速暫存器ram的結構 表1.4 ds18b20的字節(jié)定義溫度lsb溫度msbth用戶字節(jié)1tl有戶字節(jié)2配置寄存器保留保留保留crctmr1r0111111.17 ds18b20工作原理ds18b20的讀寫時序和測溫原理與ds1820相同,只是得到的溫度值的位數(shù)因分辨率的不同而不同,且溫度轉換時的延時時間由2s減為750ms。 ds18b20溫度傳感器的低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄

26、存器被預置在55所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度的溫度值。ds18b20溫度傳感器中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。測溫原理圖如圖1.4所示:圖1.4 測溫原理圖2 系統(tǒng)硬件設計本設計的整體電路是由單片機系統(tǒng)模塊、晶振時鐘電路模塊、復位電路模塊、溫度檢測系統(tǒng)模塊、顯示電路模塊、鍵盤控制模塊

27、和電源電路模塊組成。各部分電路共同作用,完成系統(tǒng)的溫度檢測及顯示。2.1 單片機系統(tǒng)電路mcs-51單片機各功能部件的運行都是以時鐘控制信號為基準,有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路設計有兩種方式,一種是內(nèi)部時鐘方式,另一種方式為外部時鐘方式。1、內(nèi)部時鐘方式mcs-51內(nèi)部有一個用于構成振蕩器的高增益的反相放大器,該高增益反相放大器的輸入端為芯片引腳xatl1,輸出端為引腳xtal2。這兩個引腳跨接石英晶振蕩器(簡稱晶振)和微調(diào)電容,就構成一個穩(wěn)定的自激振蕩器,圖3.1是mcs-51內(nèi)部時鐘方式的振蕩器電路

28、。圖2.1 內(nèi)部時鐘方式電路電路中的電容c1和c2典型值通常選擇為30pf左右。對外接電容的值雖然沒有嚴格要求,但電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶振的振蕩頻率的范圍通常是在1.2mhz12mhz之間。晶振的頻率越高,則系統(tǒng)的時鐘頻率也就越高,單片機的運行速度也就越快。但反過來運行速度快對存儲器的速度要求也就相對高,對印制電路板(也稱印刷電路板)的工藝要求也高,即要求線間的寄生電容要小;晶振和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。為了提高溫度穩(wěn)定性,應采用溫度穩(wěn)定性能好的電容。電路中的電容c1和c2典型值通常選擇為

29、30pf左右。對外接電容的值雖然沒有嚴格要求,但電容的大小會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶振的振蕩頻率的范圍通常是在1.2mhz12mhz之間。晶振的頻率越高,則系統(tǒng)的時鐘頻率也就越高,單片機的運行速度也就越快。但反過來運行速度快對存儲器的速度要求也就相對高,對印制電路板(也稱印刷電路板)的工藝要求也高,即要求線間的寄生電容要小;晶振和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。為了提高溫度穩(wěn)定性,應采用溫度穩(wěn)定性能好的電容。圖2.2 單片機復位電路上電自動復位是通過外部復位電路的電容來實現(xiàn)的。當電源接通時只要vcc的上升時間不

30、超過1ms,就可以實現(xiàn)自動上電位。當時鐘頻率選用6mhz時,c取22uf,r取1k。除了上電復位外,有時還需要按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種。通常實際運用中大都采用的是按鍵與上電復位電路,電平復位是通過rst端經(jīng)電阻與電源vcc接通而實現(xiàn)的。在單片機運行期間,還可以利用按鍵完成復位操作。實際應用中如果單片機斷電后,有可能在較短的時間內(nèi)再次加電,可以在r1上并接一個放電二極管,這樣可以有效的提高此種情況下復位的可能性。2.2溫度采集電路圖2.3 溫度采集電路溫度傳感器ds18b20芯片的數(shù)據(jù)端連接到單片機的p3_4端,向單片機傳送溫度信號,它的1引腳接地,3引腳和數(shù)據(jù)端之間接

31、一個電阻后接電源vcc,這樣實現(xiàn)對溫度的檢測。2.3顯示電路系統(tǒng)采用4個八段數(shù)碼管對溫度進行顯示。4個數(shù)碼管拼接成4位的led數(shù)碼管顯示器,它們有公共的段選線(a,b,c,d,e,f,g,dp),每一位數(shù)碼管有各一個位選線,控制該led顯示位的亮與暗。具體的顯示電路如圖3.4所示。由下圖可知,4位led數(shù)碼管的段選線是由stc89c52的p0口控制,又因為led顯示段碼時至少需要20ma,所以在段選線與單片機引腳之間加上拉電阻驅動數(shù)碼管的段。同時,led顯示器的位選線是由pnp三極管來控制,其中三極管充當?shù)氖情_關作用,它主要是工作在飽和區(qū)和截止區(qū)。三極管的基極接到單片機的i/o口,集電極連接數(shù)

32、碼管的位選端,基極接vcc。圖2.4 顯示電路2.4繼電器電路在各種自動控制設備中,都存在一個低壓的自動控制電路與高壓電氣電路的互相連接問題,一方面要使低壓的電子電路的控制信號能夠控制高壓電氣電路的執(zhí)行元件,如電動機、電磁體、電燈等;另一方面又要為電子線路的電氣電路提供良好的電隔離,以保護電子電路和人身的安全,電磁式繼電器便能完成這一橋梁作用。電磁繼電器是在輸入電路內(nèi)電流的作用下,由機械部件的相對運動產(chǎn)生預定響應的一種繼電器。它包括直流電磁繼電器、交流電磁繼電器、磁保持繼電器、極化繼電器、舌簧繼電器,節(jié)能功率繼電器。(1) 直流電磁繼電器:輸入電路中的控制電流為直流的電磁繼電器。(2) 交流電

33、磁繼電器:輸入電路中的控制電流為交流的電磁繼電器。(3) 磁保持繼電器:將磁鋼引入磁回路,繼電器線圈斷電后,繼電器的銜鐵仍能保持在線圈通電時的狀態(tài),具有兩個穩(wěn)定狀態(tài)。(4) 極化繼電器:狀態(tài)的改變?nèi)Q于輸入激勵量極性的一種直流繼電器。(5) 舌簧繼電器:利用密封在管內(nèi),具有觸點簧片和銜鐵磁路雙重作用的舌簧的動作來開、閉或轉換電路的繼電器。(6) 節(jié)能功率繼電器:輸入電路中的控制電流為交流的電磁繼電器,但它的電流一般為30-100a,體積小,具有節(jié)電功能。電磁式繼電器一般由控制線圈、鐵芯、銜鐵、觸點簧片等組成,控制線圈和接點組之間是相互絕緣的,因此,能夠為控制電路起到良好的電氣隔離作用。當我們在

34、繼電器的線圈兩頭加上其線圈額定的電壓時,線圈中就會流過一定的電流,從而產(chǎn)生電磁效應,銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當線圈斷電后,電磁的吸力也隨之消失,銜鐵就會議在彈簧的反作用力返回原來的位置,使動觸點與原來的靜觸點(常閉觸點)吸合。這樣吸合、釋放,從而達到了在電路中的接通、切斷的開關目的。在本系統(tǒng)中,采用的是直流電磁式繼電器,由pnp三極管驅動繼電器,繼電器的動作由單片機的p1.3端控制。具體的繼電器電路圖如2.5所示:圖3.6 繼電器電路3系統(tǒng)軟件設計3.1軟件設計工具的介紹在本次的設計中采用了keil c51編程軟件、

35、protues仿真軟件和protel 99se電路圖繪制軟件。其中keil c51軟件對系統(tǒng)程序進行編輯、編譯、連接、執(zhí)行,經(jīng)過設置創(chuàng)建生成一個.hex文件,然后將其生成的文件加載到protues仿真電路圖中進行電路的仿真。3.11keil編程軟件keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。keil c51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全 windows界面。另外重要的一點,只要看一下編譯后生成的

36、匯編代碼,就能體會到 keil c51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。keil編譯軟件用來編程,可以用匯編語言也可以用c語言來進行編程實現(xiàn)某些功能。當打開keil后,首先新建一個工程保存在相應位置(在保存時系統(tǒng)會彈出一個選擇單片機cpu的型號的窗口,一般情況下選擇atmel公司的芯片),然后再新建一個文本,將你已經(jīng)編好的程序填寫到這個文本中或是在這個文本進行編寫程序,之后再將其保存為一個以.asm或是.c作為后綴名的文本,再在我們建立的組中將程序文件添加到工程中,再經(jīng)過編譯,然后生成.hex文件再編譯,若提示沒有出現(xiàn)錯

37、誤errors(不含警告warnings)則說明調(diào)試成功,反之則應該對程序進行檢查分析,直到調(diào)試成功為止。c51 工具包的整體結構,如圖5.1所示,其中 uvision 與 ishell 分別是 c51 for windows和for dos的集成開發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用ide本身或其他編輯器編輯c源文件或匯編(.asm)源文件。然后分別由c51及a51編譯器編譯生成目標文件(.obj)。目標文件可由lib51創(chuàng)建生成庫文件,同時也可以與庫文件一起經(jīng) l51 連接定位生成絕對目標文件(.abs)。abs文件由oh51轉換成標準的.he

38、x文件,以供調(diào)試器dscope51或tscope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如eprom中。3.12 proteus仿真軟件proteus isis是由英國labcenter electronics公司開發(fā)的電路分析與實物仿真軟件,是一種eda工具軟件。proteus安裝以后,主要由兩個程序組成:ares和isis。它運行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件具有以下特點:(1)實現(xiàn)了單片機仿真和spice電路仿真相結合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真

39、、rs232動態(tài)仿真、i2c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功能;還有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等等。(2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片,當元器件庫沒有所需要的芯片時,則可以通過加載相對應的元器件庫,然后從庫中就能夠找到相應的元器件了。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟

40、件編譯和調(diào)試環(huán)境,如keil c51 uvision2等軟件。(4)具有強大的原理圖繪制功能??傮w上分析知,該軟件是一款集單片機和spice分析于一身的仿真軟件,功能極其強大。下面將介紹proteus isis軟件的工作環(huán)境和一些基本操作。由于安裝proteus isis軟件較為簡單,在這兒就不具體的介紹如何去安裝該軟件程序了,主要介紹在安裝完成后如何更好的使用proteus isis。安裝好軟件程序后桌面上會出現(xiàn)快捷圖標,雙擊桌面上的isis 7 professional圖標或者單擊屏幕左下方的“開始”“程序”“proteus 7 professional” “isis 7 professi

41、onal”。3.13protel 99se電路原理圖設計軟件protel 99se是澳大利亞protel technology公司推出的基于windows平臺下的eda(electronic design automation)電子輔助設計軟件。protel 99se集在了一系列的電路設計工具,如原理圖設計工具、pcb設計工具及自動布線工具等,同時引入了全新的文件管理方式和網(wǎng)絡設計機制,可以真正的實現(xiàn)電路高效并行設計。protel 99se主要由5個功能模塊組成電路原理圖設計模塊;pcb設計模塊;自動布線模塊;可編程邏輯器件(pld)模塊;電路仿真模塊;通常情況下,后3個模塊為前兩個模塊的設計

42、工作服務的。電路原理圖設計模塊具有強大且靈活的編輯功能、電氣柵格特性、電氣檢查功能、報表生成功能和支持層次化和模塊化設計方式等。同時每一個設計對象都有自己特定的屬性,鼠標左鍵雙擊任何一設計對象,在彈出的屬性對話框中都可以進行相關屬性的編輯修改,并可以通過強大的全局編輯功能,修改一類對象的屬性。另外,它還提供了豐富的元件庫,即使設計者在系統(tǒng)自帶的元件庫中找不到所需元件,也可以通過功能強大的庫元件編輯功能手創(chuàng)建庫元件。pcb設計模塊同電路原理圖設計模塊一樣,pcb設計模塊也具有強大的編輯功能,如多種類型的柵格、庫元件創(chuàng)建、修改功能和報表輸出功能等,除此之外,還具有分層計和編輯、設計規(guī)則檢查、支持制

43、版輸出和電路板數(shù)控加工代碼文件的生成等特點。自動布線模塊是為pcb設計模塊服務的,可以實現(xiàn)電路板布線的自動化。它作為一個服務器程序,內(nèi)嵌于pcb設計組件中。自動布線要模塊基于人工智能技術,它可以自動對pcb板進行優(yōu)化設計,可以同時完成全部信號的自動布線??删幊踢壿嬈骷K中設計者一般采用兩種方法進行可編程邏輯器件的設計,一是使用pld庫元件來繪制pld器件內(nèi)部的邏輯功能原理圖;二是采用cupl語言來編寫pld邏輯描述文件。電路仿真模塊可以幫助設計者檢查電路功能是否滿足要求,并可以減少設計中的錯誤,確保電路的正確性。3.2系統(tǒng)調(diào)試步驟1、打開電路仿真的應用程序isis professional,

44、在其中選擇該設計所需的的單片機或是元件,然后將其放置到要畫圖的區(qū)域中,你可以雙擊該元件改變它相應的屬性及參數(shù)。2、用帶電氣性的連接線來連接各個元件,從而構成了完整的電路圖并保存在為.dsn為后綴名的文件,放在你所需的地方。3、打開程序仿真或調(diào)試應用程序keil uvision2, 首先要建一個工程,再將程序添加到該工程中,再保存。4、再進行程序的編譯與連接,檢查程序是否正確,如果不正確,則進行分析直到正確為止;如果正確,則可以生成.hex文件。5、點擊project菜單,選擇options for target項或是直接點擊常用工具欄中的圖標打開對話框進行設置, 則就可以生成.hex文件了。6

45、、再打開前面所繪制的電路仿真圖文件(假設文件名為:fangzhen.dsn),然后雙擊該電路圖中的主的單片機,同時彈出一個對話框,在對話框中進行選擇所生成的.hex文件,并還可以進行單片機的時鐘頻率設置,再單擊確定。7、點擊運行檢查是否可以運行正確。若完成了以上步驟后,仿真并不能正確的運行,這就要求我們再經(jīng)過仔細認真的檢查整個硬件電路是否連接地正確,通過不斷努力檢查、修改使得電路達到完美的地步;同時,打開keil c編程軟件修改程序(結合仿真電路的設計),然后再通過編譯、連接、調(diào)試,生成.hex文件,將該文件加載到電路設計中的主控芯片(即單片機)上,再進行運行仿真。3.3系統(tǒng)程序設計本次系統(tǒng)程

46、序的設計主要包括主程序、讀溫度子程序、溫度轉換命令子程序、顯示報警子程序、鍵盤控制子程序等等。下面將對部分子程序進行詳細說明。3.31主程序流程圖本系統(tǒng)的功能主要是完成溫度的實時顯示,在測量溫度之前先對系統(tǒng)進行初始化,然后再經(jīng)過ds18b20溫度傳感器檢測溫度,將檢測到的溫度值進行讀取與處理后,最終進行顯示溫度過。其程序流程圖如圖5.4所示:系統(tǒng)初始化開 始啟動ds18b20讀取溫度值處理溫度值顯示溫度與溫度上下限比較?報警提示yn圖3.1 主程序流程圖3.32溫度轉換子程序溫度轉換子程序主要是發(fā)出溫度過轉換開始命令,系統(tǒng)采用12分辨率時轉換時間最大為750ms。在本次程序設計中用地延時法等待

47、溫度轉換的完成,其溫轉換子程序流程圖如圖3.2所示:發(fā)出ds18b20復位命令發(fā)出跳過rom命令溫度轉換結 束圖3.2 溫度轉換子程序流程圖3.33讀溫度子程序流程圖讀出溫度子程序的主要功能是讀出ram中的9個字節(jié),在讀出時需進行crc校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。(高速暫存器ram的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的crc碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。)其程序流程圖如圖5.6所示:發(fā)出ds18b20復位命令發(fā)出跳過rom命令發(fā)出讀溫度命令讀操作,crc校驗移入溫度暫存器9字節(jié)完?crc校驗正確?結 束nnyy圖3.3讀溫度子程序流程

48、圖3.34顯示報警程序流程圖在程序初始化(顯示初始化、ds18b20初始化)完成后,ds18b20溫度傳感器采集當前的溫度,并調(diào)用ds18b20的轉換程序,經(jīng)過數(shù)據(jù)處理后十進制數(shù)的溫度值,再進行實時溫度的顯示。同時,對處理后的溫度值進行判斷是否超出了系統(tǒng)預設的上、下限溫度值,若超出其規(guī)定的溫度范圍,則程序跳轉到報警子程序中去;若沒有超過預定的溫度值,則顯示當前溫度并結束該次測溫過程,準備下一次的溫度檢測。其顯示報警程序流程圖如圖3.4所示:程序初始化調(diào)用18b20轉換程序調(diào)用數(shù)據(jù)處理程序調(diào)用顯示程序小于10大于80n報警報警nyy圖3.4 顯示報警程序流程圖總結:本次設計主要是實現(xiàn)溫度的檢測,在第二章中已詳細的介紹了針對本次設計的方案選擇,采用的是數(shù)字溫度感器ds18b20對溫度進行采集

溫馨提示

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

評論

0/150

提交評論