基于單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)(硬件)_第1頁(yè)
基于單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)(硬件)_第2頁(yè)
基于單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)(硬件)_第3頁(yè)
基于單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)(硬件)_第4頁(yè)
基于單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)(硬件)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘要 本設(shè)計(jì)以STC89S51單片機(jī)為核心的溫度控制系統(tǒng)的工作原理和設(shè)計(jì)方法。溫度信號(hào)由溫度芯片DS18B20采集,并以數(shù)字信號(hào)的方式傳送給單片機(jī)。文中介紹了該控制系統(tǒng)的硬件部分,包括:溫度檢測(cè)電路、溫度控制電路。單片機(jī)通過(guò)對(duì)信號(hào)進(jìn)行相應(yīng)處理,從而實(shí)現(xiàn)溫度控制的目的。文中還著重介紹了軟件設(shè)計(jì)部分,在這里采用模塊化結(jié)構(gòu),主要模塊有:數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號(hào)處理程序、led控制程序。關(guān)鍵詞:STC89S51;單片機(jī);DS18B20;溫度芯片;LED目錄引言11.設(shè)計(jì)概述21.1 設(shè)計(jì)目標(biāo)和要求21.2 設(shè)計(jì)思路22.系統(tǒng)方案及硬件設(shè)計(jì)32.1 設(shè)計(jì)方案32.2 方案的硬件總

2、體方框圖32.3 溫度傳感器DS18B20測(cè)溫原理42.4 硬件設(shè)計(jì)92.4.1主控制器電路92.4.2復(fù)位電路102.4.3時(shí)鐘振蕩電路102.4.4正相驅(qū)動(dòng)電路112.4.5反相驅(qū)動(dòng)電路112.4.6顯示電路12 2.5 軟件設(shè)計(jì)123.系統(tǒng)原理圖144.proteus軟件仿真結(jié)果154.1系統(tǒng)仿真設(shè)計(jì)154.2仿真結(jié)果分析155.結(jié)論166.參考文獻(xiàn)17II引言單片機(jī)以其體積小、功能完善、抗干擾能力強(qiáng)、價(jià)格低廉等優(yōu)點(diǎn)而被廣泛應(yīng)用于工業(yè)控制、可編程序控制器、通信、家電等領(lǐng)域。89C51系列單片機(jī)經(jīng)過(guò)多年的發(fā)展,在性能、指令功能、運(yùn)算速度、控制能力等方面都有很大的提高,已被越來(lái)越多的科學(xué)工作

3、者所關(guān)注。 目前,大學(xué)院校相關(guān)電子、機(jī)電、自動(dòng)化、計(jì)算機(jī)等專業(yè)都在開(kāi)設(shè)這門課程。單片機(jī)課程設(shè)計(jì)是學(xué)生加深理論知識(shí)理解、提高實(shí)際設(shè)計(jì)能力的重要環(huán)節(jié),從設(shè)計(jì)電路板,到程序編制與調(diào)試,最后完成一個(gè)單片機(jī)系統(tǒng)的設(shè)計(jì),可以使學(xué)生體驗(yàn)到成功的快樂(lè)。Proteus虛擬單片機(jī)仿真軟件可以成功地進(jìn)行絕大部分的單片機(jī)硬件仿真,輕松實(shí)現(xiàn)程序功能的展示。161.設(shè)計(jì)概述1.1 設(shè)計(jì)目標(biāo)和要求1.用所學(xué)的單片機(jī)知識(shí)設(shè)計(jì)制作數(shù)字溫度計(jì);2.測(cè)溫范圍是-50-100;3.誤差小于0.5;4.所測(cè)的溫度值可以由LCD數(shù)碼管直接顯示;5.進(jìn)一步熟悉proteus,protel,word軟件的功能和使用方法;1.2 設(shè)計(jì)思路 首

4、先確定我們所設(shè)計(jì)的是一個(gè)數(shù)字溫度計(jì),由單片機(jī)、溫度傳感器以及其他電路共同實(shí)現(xiàn)。 根據(jù)所要實(shí)現(xiàn)的功能,先在proteus軟件上仿真。根據(jù)所選用的硬件可以將整個(gè)軟件設(shè)計(jì)分為若干子程序,有初始化、查詢時(shí)間、發(fā)送指令、讀取數(shù)據(jù)、顯示溫度等構(gòu)成,可將以上子程序分別設(shè)計(jì),實(shí)現(xiàn)各自的功能,再在子程序中調(diào)用,就可以實(shí)現(xiàn)預(yù)期的目標(biāo)。 在proteus軟件里畫出相應(yīng)的電路圖,將編寫好的程序的編譯后的文件下載到proteus電路圖的單片機(jī)里,進(jìn)行仿真,對(duì)溫度傳感器設(shè)置不同的參數(shù),看是否達(dá)到了我們?cè)O(shè)計(jì)所要求的目標(biāo),如果不符合要求,需要檢查程序算法和硬件連接是否有誤。若仿真成功,就按照電路圖焊接硬件。2.系統(tǒng)方案及硬件

5、設(shè)計(jì)2.1 設(shè)計(jì)方案 采用數(shù)字溫度芯片DS18B20測(cè)量溫度,輸出信號(hào)全數(shù)字化。采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和AT89C51單片機(jī)構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),也可直接與計(jì)算機(jī)連接。采用AT89C51單片機(jī)控制,軟件編程的自由度大,可通過(guò)編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。該系統(tǒng)利用AT89C51芯片控制溫度傳感器DS18B20進(jìn)行實(shí)時(shí)溫度檢測(cè)并顯示,能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限溫度。該系統(tǒng)擴(kuò)展性非常強(qiáng)。該測(cè)溫系統(tǒng)電路簡(jiǎn)單、精確度較高、實(shí)現(xiàn)方便、軟件設(shè)計(jì)也比較簡(jiǎn)單。2.2 方案的硬件總體方框圖 基

6、于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器AT89C51,溫度傳感器采用的DS18B20,用四位數(shù)碼管顯示溫度。圖2.2.1 硬件總體方框圖2.3 溫度傳感器DS18B20測(cè)溫原理DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:(1)獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。(2)DS18B20支持多點(diǎn)組網(wǎng)

7、功能,多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)測(cè)溫;(3)無(wú)須外部器件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi);(4)可通過(guò)數(shù)據(jù)線供電,電壓范圍為3.0-5.5;(5)零待機(jī)功耗;(6)溫度以9或12位數(shù)字,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫;(7)用戶可定義報(bào)警設(shè)置;(8)報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件;(9)負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作;(10)測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一線總線"串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)

8、碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力DS18B20采用3腳PR35封裝或8腳SOIC封裝,其引腳排列及內(nèi)部結(jié)構(gòu)框圖如圖2及圖3以及圖4的測(cè)溫原理圖如下所示:圖2.3.1 引腳排列圖圖2.3.2 內(nèi)部結(jié)構(gòu)框圖圖2.3.3 DS18B20測(cè)溫原理圖 64位ROM的結(jié)構(gòu)開(kāi)始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫入戶報(bào)警上下限。 DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器

9、,結(jié)構(gòu)如圖2.3.3所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.3.4所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。溫度 LSB溫度 MSBTH用戶字節(jié)1TL用戶字節(jié)2配置寄存器保留保留保留CRCTMR1R011111圖2.3.4 DS18B20的字

10、節(jié)定義圖 DS18B20的分辨率定義如表2-1所示。表2-1 分辨率設(shè)置表R0R1分辨率最大溫度轉(zhuǎn)移時(shí)間009位96.75ms0110位187.5ms1011位375ms1112位750ms 由表2-1可見(jiàn),DS18B20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。 主機(jī)控制DS18B20完成溫度轉(zhuǎn)換過(guò)程是:每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位,即將數(shù)據(jù)總線下拉500us,然后釋放,DS18B20收到信號(hào)后等待16-60us左右,之后發(fā)出60-240us的存在低脈沖,主CPU收到此此信號(hào)表示復(fù)位成功;復(fù)位成功后發(fā)送一

11、條ROM指令,然后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)訂的讀寫操作。表2-2 ROM指令集指令約定代碼功能讀ROM33H讀DS18B20中的編碼符合ROM55H發(fā)出此命令后,接著發(fā)出64位ROM編碼,訪問(wèn)單線總線上與該編輯相對(duì)應(yīng)的DS18B20使之做出響應(yīng),為下一步對(duì)該DS18B20的讀寫作準(zhǔn)備搜索ROM0F0H用于確定掛接在同一總線上的DS18B20個(gè)數(shù)和識(shí)別64位ROM地址,為操作各器件作準(zhǔn)備跳過(guò)ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)送溫度變換指令告警搜索命令0ECH執(zhí)行后,只有溫度跳過(guò)設(shè)定值上限或下限的片子才能做出反應(yīng)表2-3 RAM指令集指令約定代碼功能溫

12、度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換讀暫存器0BEH讀暫存器9個(gè)字節(jié)內(nèi)容寫暫存器4EH將數(shù)據(jù)寫入暫存器的TH、TL字節(jié)復(fù)制暫存器48H把暫存器的TH、TL字節(jié)寫到E2RAM中重調(diào)E2RAM0B8H把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)讀供電方式0B4H啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU DS18B20的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開(kāi)時(shí),DS18B20就對(duì)低溫度

13、系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將最低溫所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度寄存器中,計(jì)數(shù)器1和溫度寄存器被預(yù)置在最低溫所對(duì)應(yīng)的一個(gè)基數(shù)值。 減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄

14、存器值大致被測(cè)溫度值。2.4 硬件設(shè)計(jì)2.4.1主控制器電路 AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。 AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。引腳圖如圖2.4.1

15、所示。圖2.4.1 AT89C51引腳圖2.4.2復(fù)位電路 在這里采用的是按鈕加上電復(fù)位,系統(tǒng)每次上電和每次按下復(fù)位按鈕,系統(tǒng)就會(huì)復(fù)位。復(fù)位電路圖如圖2.4.2所示。圖2.4.2 復(fù)位電路圖2.4.3時(shí)鐘振蕩電路 在這里采用的是1MHZ的晶振頻率,它與單片機(jī)的硬件連接電路如圖2.4.3所示。圖2.4.3 晶振電路圖2.4.4正相驅(qū)動(dòng)電路74LS245為數(shù)碼管的斷碼驅(qū)動(dòng)芯片,P0.0P0.7輸出段碼控制信號(hào)。正相驅(qū)動(dòng)電路圖如圖2.4.4所示。圖2.4.4 正相驅(qū)動(dòng)電路圖2.4.5反相驅(qū)動(dòng)電路7407為反相驅(qū)動(dòng)芯片,P2.0P2.3輸出位掃描控制信號(hào),經(jīng)由7407反相后驅(qū)動(dòng)4位共陰極數(shù)碼管的位選信

16、號(hào)。反相驅(qū)動(dòng)電路圖如圖2.4.5所示。 圖2.4.5 反相驅(qū)動(dòng)電路圖2.4.6顯示電路 顯示電路采用集成的四位一體的數(shù)碼管,為共陰極結(jié)構(gòu),通過(guò)設(shè)置不同的段碼可以顯示溫度。圖2.4.6 顯示電路圖2.5軟件設(shè)計(jì)系統(tǒng)程序主要包括DS1820初始程序,向DS1820讀字節(jié)程序,向DS1820寫字節(jié)程序,溫度讀取及轉(zhuǎn)換程序,計(jì)算溫度子程序,溫度顯示程序。主程序流程圖如圖2.5.1所示。圖2.5.1 主程序流程圖3.系統(tǒng)原理圖 通過(guò)Proteus進(jìn)行元器件的查找與電路圖的連接得到如圖3.1.1的系統(tǒng)原理圖。圖3.1.1 系統(tǒng)原理圖4. proteus軟件仿真結(jié)果4.1系統(tǒng)仿真設(shè)計(jì) 本設(shè)計(jì)是在Proteu

17、s環(huán)境下進(jìn)行仿真的,仿真所用到的器件有:?jiǎn)纹瑱C(jī)AT89C51,DS1820溫度傳感器,74LS245芯片,7407芯片,液晶顯示器,一些電阻,電容等。4.2仿真結(jié)果分析 本設(shè)計(jì)在仿真的條件下可以正確的顯示溫度,且本設(shè)計(jì)溫度顯示可以精確到0.1滿足設(shè)計(jì)要求,仿真時(shí)溫度顯示如圖4.2.1所示。 圖4.2.1 仿真結(jié)果分析圖5.結(jié)論 單片機(jī)的設(shè)計(jì)至今為止已經(jīng)進(jìn)入了令人鼓舞的階段,在進(jìn)行了長(zhǎng)達(dá)兩周的時(shí)間的摸索與實(shí)驗(yàn),使我不僅僅是對(duì)于單片機(jī)入門軟件與硬件的常用設(shè)計(jì)與功能,還使我對(duì)于一項(xiàng)設(shè)計(jì)研究的制作過(guò)程所需要的詳細(xì)步驟和具體的實(shí)現(xiàn)方法的力度的掌握?;诖俗髌纷鳛閱纹瑱C(jī)課程設(shè)計(jì)設(shè)計(jì)的創(chuàng)作成果,在當(dāng)其中機(jī)器

18、的功能等方面并非處于一個(gè)成熟的階段,而且僅僅是因?yàn)橛嗬蠋煹囊笠约拔覀兊某醪絿L試,當(dāng)中的缺點(diǎn)是無(wú)可非議地存在著。 當(dāng)然在這次寶貴的課程設(shè)計(jì)活動(dòng)中,經(jīng)驗(yàn)才是對(duì)于我們最大的收獲,而且還增強(qiáng)了自身對(duì)未知問(wèn)題以及對(duì)知識(shí)的深化認(rèn)識(shí)的能力,用受益匪淺這個(gè)詞語(yǔ)來(lái)概括這次難忘的活動(dòng)我覺(jué)得再合適不過(guò)了。但是,光是完成了作品還是不可以自我滿足的,在從一開(kāi)始的時(shí)候就懷著將作品制作得更加人性化,更加令人滿意,更加地使功能完美又方便地被應(yīng)用領(lǐng)域這個(gè)最終目的下,隨著對(duì)單片機(jī)這門學(xué)科的認(rèn)識(shí)加深,到達(dá)了拓展的程度,我想這個(gè)目的將在不遠(yuǎn)的時(shí)期內(nèi)被實(shí)現(xiàn)。 總之,這次設(shè)計(jì)從軟件編寫、調(diào)試到軟硬件聯(lián)機(jī)調(diào)試,我們傾注了大量的時(shí)間和心血。真是曾經(jīng)為程序的編寫而冥思查找過(guò),曾經(jīng)為無(wú)法找出錯(cuò)誤而郁悶苦惱過(guò),也曾經(jīng)

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論