畢業(yè)設(shè)計畢業(yè)論文溫度控制系統(tǒng)的設(shè)計_第1頁
畢業(yè)設(shè)計畢業(yè)論文溫度控制系統(tǒng)的設(shè)計_第2頁
畢業(yè)設(shè)計畢業(yè)論文溫度控制系統(tǒng)的設(shè)計_第3頁
畢業(yè)設(shè)計畢業(yè)論文溫度控制系統(tǒng)的設(shè)計_第4頁
畢業(yè)設(shè)計畢業(yè)論文溫度控制系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

溫度控制系統(tǒng)的設(shè)計獨創(chuàng)性聲明本人鄭重聲明:所呈交的畢業(yè)論文(設(shè)計)是本人在指導(dǎo)老師指導(dǎo)下取得的研究成果。除了文中特別加以注釋和致謝的地方外,論文(設(shè)計)中不包含其他人已經(jīng)發(fā)表或撰寫的研究成果。與本研究成果相關(guān)的所有人所做出的任何貢獻均已在論文(設(shè)計)中作了明確的說明并表示了謝意。簽名:

年月日授權(quán)聲明本人完全了解許昌學(xué)院有關(guān)保留、使用本科生畢業(yè)論文(設(shè)計)的規(guī)定,即:有權(quán)保留并向國家有關(guān)部門或機構(gòu)送交畢業(yè)論文(設(shè)計)的復(fù)印件和磁盤,允許畢業(yè)論文(設(shè)計)被查閱和借閱。本人授權(quán)許昌學(xué)院可以將畢業(yè)論文(設(shè)計)的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存、匯編論文(設(shè)計)。本人論文(設(shè)計)中有原創(chuàng)性數(shù)據(jù)需要保密的部分為(如沒有,請?zhí)顚憽盁o”):簽名:

年月日指導(dǎo)教師簽名:

年月日摘要該設(shè)計采用單片機AT89C52控制DS18B20數(shù)字溫度傳感器對溫度的控制(PROTEUS軟件仿真)。電路的精確度和集成度都比老式的溫度控制電路提高很多,并且添加了警示燈和報警器,使得溫控系統(tǒng)的安全性更高,直觀性更強。當(dāng)溫度低于預(yù)設(shè)溫度值(20℃)時系統(tǒng)開始加熱,(此時黃色發(fā)光二極管點亮);當(dāng)溫度超過預(yù)設(shè)溫度值(100℃)時,紅色發(fā)光二極管點亮,同時喇叭發(fā)出警示,溫度由LCD顯示(關(guān)鍵詞:溫度控制;AT89C52;DS18B20;PROTEUSABSTRACTThisdesignadoptsSCMAT89C52controlstemperatureofdigitaltemperaturesensorDS18B20(PROTEUSsoftwaresimulation).Theaccuracyandintegrationofthiscircuitismoreperfectthanoldcircuit.Bymeansofaddingwarminglightandalarm,whichmakesthisdesignmoresaferandintuitive.Whenwatertemperaturebelowsthepresettemperature,thesystemstartsheating(lighteningyellowledsaysheatingcondition),Whenthetemperaturereachesthepresettemperature,theredledstartslightning,meanwhilethespeakerstartswhistling.ThetemperatureisshowedbyLCD.(displayingthecurrenttime)Keywords:Temperature;AT89C52;DS18B20;Control;PROTEUS目錄1緒論 11.1溫度控制系統(tǒng)設(shè)計的背景、發(fā)展前景及意義 11.2溫度控制系統(tǒng)的目的 11.3溫度控制系統(tǒng)的功能 12溫度控制系統(tǒng)總體設(shè)計方案 22.1方案一 22.2方案二 22.3方案三 23單片機AT89C52 33.1單片機AT89C52的簡介 33.2AT89C52的管腳說明 43.3時鐘電路 63.4復(fù)位電路 73.5單片機的發(fā)展 84DS18B20溫度傳感器 94.1DS18B20溫度傳感器簡介 94.2DS18B20主要特性 94.3DS18B20的外形和內(nèi)部結(jié)構(gòu) 94.4DS18B20的使用方法 104.5溫度轉(zhuǎn)換 124.5.1DS18B20的分辨率與配置寄存器的關(guān)系 124.5.2實際溫度與數(shù)字輸出的轉(zhuǎn)換 134.6DS18B20測溫流程 145單片機接口設(shè)計 145.1接口設(shè)計原則 145.2引腳鏈接 145.2.1串口引腳 145.2.2晶振電路 155.2.3其他引腳 156系統(tǒng)整體設(shè)計 166.1系統(tǒng)硬件電路設(shè)計 166.1.1各部分電路 167系統(tǒng)軟件設(shè)計 197.1系統(tǒng)軟件整體設(shè)計思路 197.2系統(tǒng)程序流圖 207.3調(diào)試與仿真 217.3.1調(diào)試 217.3.2仿真結(jié)果 21總結(jié)與展望 24參考文獻 25附錄(C程序) 26致謝 371緒論1.1溫度控制系統(tǒng)設(shè)計的背景、發(fā)展前景及意義隨著社會的發(fā)展,科技的進步,以及測溫儀器的在各個領(lǐng)域的應(yīng)用,智能化已是現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方向,近年來,溫度控制系統(tǒng)已經(jīng)應(yīng)用到人們生活的各個方面。溫度是工業(yè)對象中的一個重要的被控參數(shù),物理、生物、化學(xué)等學(xué)科都離不開溫度。然而,各個領(lǐng)域所采用的測溫元件和測量方法也不盡相同;控制溫度的精度不同,產(chǎn)品的工藝也不同。傳統(tǒng)的控制方式不能滿足高速度,高精度的控制要求,如溫度控制表溫度接觸器,其主要缺點是溫度波動范圍大,因為它主要是通過控制接觸器的通斷時間比例來達(dá)到改變加熱功率的目的,受儀表本身誤差和交流接觸器的壽命限制,所以通斷率很低。近些年來快速發(fā)展了多種先進的溫度控制方式,如:神經(jīng)網(wǎng)絡(luò)控制、PID控制及模糊控制等等。這些控制技術(shù)大大提高了控制精度,使得產(chǎn)品的質(zhì)量更好,降低了成本。本設(shè)計采用單片機作為核心控制。單片機具有集成度高,通用性好,抗干擾能力強、體積小、耗能低等特點,進而,各種適用于不同場合的智能溫度控制器便應(yīng)運而生。1.2溫度控制系統(tǒng)的目的該設(shè)計的內(nèi)容是溫度測試控制系統(tǒng)。以往溫度控制是由人工完成的而且不夠重視,其實在很多溫控系統(tǒng)中都需要監(jiān)控以防止意外。針對此問題,本系統(tǒng)設(shè)計的目的是實現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應(yīng)用廣泛,小巧美觀,功能強大,且配合溫度監(jiān)視報警裝置,是一款既實用又廉價的溫控系統(tǒng)。1.3溫度控制系統(tǒng)的功能該設(shè)計對溫度進行實時監(jiān)測與控制,設(shè)計的溫度控制系統(tǒng)實現(xiàn)了基本的溫度控制功能:當(dāng)溫度低于預(yù)設(shè)溫度(20℃)時,系統(tǒng)自動啟動加熱繼電器加熱,使溫度上升(此時黃色發(fā)光二極管點亮表示加熱狀態(tài)),當(dāng)溫度高于預(yù)設(shè)溫度(100℃)時2溫度控制系統(tǒng)總體設(shè)計方案2.1方案一使用熱敏電阻,它是通過對溫度敏感的這種特性,用半導(dǎo)體材料制成。這種熱敏的阻值隨溫度變化會有明顯的變化。負(fù)溫度系數(shù)熱敏電阻器通常是由錳、鈷的氧化物燒制成半導(dǎo)體陶瓷制成。它的特點是,在工作溫度范圍內(nèi)電阻值隨溫度的升高而降低。能夠滿足40℃~90℃測量范圍,可是熱敏電阻的精度及其重復(fù)性和可靠性較差,不大適用于檢測小于1℃2.2方案二采用溫度傳感器,結(jié)合單片機電路設(shè)計,采用DS18B20溫度傳感器,直接讀取被測溫度值,然后進行轉(zhuǎn)化,完成設(shè)計要求。2.3方案三使用溫度傳感器鉑熱電阻。鉑熱電阻PT1000的化學(xué)及其物理特性在氧化介質(zhì)和高溫中相當(dāng)穩(wěn)定,因此在工業(yè)測溫中有廣泛的應(yīng)用,并且元件線性比較好。在0℃~100℃時,最大非線性偏差小于0.5℃。鉑熱電阻與溫度的關(guān)系是Rm=R0(1+At+BT*t);其中Rm是溫度為t℃時的電阻;R0比較以上方案,很容易看出,采用方案二,電路比較簡單,成本低,軟硬件設(shè)計容易實現(xiàn),故實際設(shè)計中常采用方案二。本設(shè)計的電路設(shè)計方框圖如圖2-1所示,它由三部分組成:①控制部分主芯片采用單片機AT89C52;②溫度采集部分采用DS18B20數(shù)字溫度傳感器;③顯示部分采用液晶顯示器LCD。DS18B20DS18B20LCD顯示報警電路指示燈AT89C52圖2-1溫度控制電路總體設(shè)計方案1.控制部分該控制系統(tǒng)采用AT89C52單片機,此單片機具有低電壓、高性能的特點2.溫度采集部分DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度。這一部分主要完成對溫度信號的采集和轉(zhuǎn)換工作,由DS18B20數(shù)字溫度傳感器及其與單片機的接口部分組成。數(shù)字溫度傳感器DS18B20把采集到的溫度通過數(shù)據(jù)引腳傳到單片機的P1.5口,單片機接收溫度并存儲。此部分只用到DS18B20和單片機。3.顯示部分顯示電路采用液晶顯示器(16*2)。3單片機AT89C523.1單片機AT89C52的簡介AT89C52是一個高性能,低電壓的八位單片機,片內(nèi)包含256字節(jié)的隨機存取數(shù)據(jù)存儲器和8千字節(jié)的Flash只讀程序存儲器,該器件具有高密度性、并且采用易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)51系列指令系統(tǒng)。單片機AT89C52在電子行業(yè)等工科行業(yè)中有著廣泛的應(yīng)用。圖3-1所示為AT89C52的封裝圖。圖3-1AT89C52的封裝圖3.2AT89C52的管腳說明AT89C52為8位的通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核。它的主要引腳有電源及其時鐘引腳:VCC、Vss;XTAL2、XTAL1;I/O口引腳:P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7;復(fù)位引腳RST;地址鎖存引腳ALE;程序存儲器允許引腳PSEN,51系列的單片機只有20個引腳,其中因為沒有P2和P0端口引腳,故不能進行外部擴展,所以也沒有PSEN引腳。該單片機內(nèi)部有一個模擬比較器,相比較的模擬信號由P1.1及其P1.0輸入,模擬比較器的輸出由P3.6輸入,這個端口在內(nèi)部已連接,因為它體積小的優(yōu)良特性,因此在一些小型的設(shè)備儀器中使用較為廣泛。圖3-2PDIP封裝的AT89C52引腳圖P0~P3接口功能P0口雙向8位三態(tài)I/O口,該接口為地址總線及數(shù)據(jù)總線分時復(fù)用,可以驅(qū)動8個TTL負(fù)載。雙重功能:①它有外接存儲器和I/O口時常常作為低8位數(shù)據(jù)線與地址線分時使用P0口,在此期間低8位地址有ALE信號的下跳艷使它鎖存到外部地址鎖存器中,然后,P0口出現(xiàn)數(shù)據(jù)信息;②能夠作為輸入/輸出口,可以外接輸入/輸出設(shè)備。P1口8位的準(zhǔn)雙向I/O口,能夠驅(qū)動4個TTL負(fù)載——該接口的每一位都可以用作可編程的輸出或者輸入口線。P2口——①同P0口一樣可用作輸入輸出口,能夠外接輸入輸出設(shè)備;②在有輸入輸出口和外接存儲器時,用作系統(tǒng)的地址總線,輸出高8位地址,與P0口的低8位地址一并組成了16位的地址總線。對于那些內(nèi)部沒有程序存儲器的單片機來說,P2口只能用作地址總線來使用,不能把它當(dāng)做I/O口使用。P3口——雙重功能口①用作輸入/輸出口,外接輸入/輸出設(shè)備②第二功能如下表3-1:表3-1P3口的第二功能端口引腳第二功能P3.0RXD(串行輸入線)P3.1TXD(串行輸出線)P3.2INT0(外部中斷0輸入線)P3.3INT1(外部中斷1輸入線)P3.4T0(定時器0外部計數(shù)脈沖輸入)P3.5T1(定時器1外部計數(shù)脈沖輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通信號輸出)P3.7RD(外部數(shù)據(jù)存儲器讀選通信號輸出)P1口、P2口、P3口的I/O口線內(nèi)部都有固定的上拉電阻,在這三個雙線輸入/輸出口用作輸入口使用時,要向該口線先寫‘1’,此外I/O口無高阻的浮空狀態(tài)。因為P0口內(nèi)沒有固定的上拉電阻,它有兩個MOSVPP/EA:①在單片機片內(nèi)EPROM編程期間,該引腳可以接入21V的編程電源VPP;②EA=1時,單片機訪問內(nèi)部程序存儲器。對于內(nèi)部有程序存儲器的51單片機,這個引腳接高電平,如果地址值超過4千字節(jié)范圍,單片機將會自動訪問外部程序存儲器;EA=0時,AT89C52將只會訪問外部程序存儲器。PSEN輸出讀外部程序存儲器的選通信號。取指令期間,該選通信號的頻率為振蕩頻率的1/6,如果在這個期間有訪問外部數(shù)據(jù)存儲器的操作,那么將有一個機器周期中的PSEN信號不會出現(xiàn)。XTAL1:接外部晶體的一個引腳,CHMOS單片機使用外部時鐘信號時,外部時鐘信號從這個引腳接入。XTAL2:接外部晶體的一個引腳,HMOS單片機使用外部時鐘信號時,外部時鐘信號從這個引腳接入。RST:VCC掉電后,從這個引腳可以接入備用的電源,在低功耗條件下,它能夠保持內(nèi)部RAM中的數(shù)據(jù)。ALE/PROG:ALE是地址鎖存允許信號,單片機上電正常工作時,ALE引腳不斷輸出正脈沖信號。訪問單片機外部存儲器時,ALE輸出信號的負(fù)跳沿用作低8位地址的鎖存信號。即使是不訪問外部鎖存器,該端子仍然有正脈沖信號輸出。每當(dāng)訪問外部數(shù)據(jù)存儲器時,在兩個機器周期中ALE只出現(xiàn)一次,即丟失一個ALE脈沖。所以,用戶不宜用ALE作精確的定時信號。ALE端可以驅(qū)動8個TTL負(fù)載。若想要判斷芯片的好壞,可以通過示波器查看這個端子是否有正脈沖信號輸出,若有,單片機基本完好。3.3時鐘電路單片機的時鐘信號通常使用兩種電路形式得到:外部振蕩和內(nèi)部振蕩方式。在兩個晶振引腳上外接陶瓷諧振器或者是晶體振蕩器,這樣就構(gòu)成了內(nèi)部振蕩的方式。因為單片機內(nèi)部有一個高增益的反相放大器,在外部連接上晶體振蕩后,構(gòu)成了自激振蕩器而且產(chǎn)生了振蕩時鐘脈沖。晶振一般選用6MHZ、12MHZ、24MHZ。在圖3-3中,電容器C2、C1有著快速起振、振蕩頻率的作用,電容值一般為5~30pf。內(nèi)部振蕩方式所得到的時鐘信號相對來說比較穩(wěn)定,電路中使用較多。XTAL2XTAL2XTAL1GND89C52C1C2圖3-3內(nèi)部振蕩器方式3.4復(fù)位電路根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本方式:開關(guān)復(fù)位、上電復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。開關(guān)復(fù)位要求在電源接通的條件下,如果在單片機運行期間,發(fā)生了死機故障,可以通過按鈕開關(guān)使得單片機復(fù)位。一般來說,常用的開關(guān)復(fù)位及其上電復(fù)位電路如圖3-4所示,上電后,因為電容充電,會使得RST持續(xù)一段高電平。單片機在運行之中時,此時,按下復(fù)位鍵也可以讓RST持續(xù)一段較長時間的高電平,這樣就實現(xiàn)了上電并且復(fù)位的操作。我們一般選擇C=12~30uF,R=10~1000。RSTRSTAT89C52VCCCR圖3-4復(fù)位電路3.5單片機的發(fā)展單片機的發(fā)展趨勢將會是朝著高性能、大容量化及其外圍電路內(nèi)裝化等方面發(fā)展。1.CPU的不斷改進①為了使處理能力更加強大,使用雙CPU結(jié)構(gòu)。②使用流水線結(jié)構(gòu)。指令通過隊列形式呈現(xiàn)在CPU中,并具有很快的運算速度,特別適用于數(shù)字信號處理應(yīng)用。③使用新型總線即I2C總線結(jié)構(gòu)。這種總線是三條數(shù)據(jù)線代替現(xiàn)在流行的8位數(shù)據(jù)總線,因此極大地減少了單片機引線,縮減了成本。④采用十六位數(shù)據(jù)總線,數(shù)據(jù)處理能力明顯提高。2.存儲器的發(fā)展①片內(nèi)可擦除可編程ROM使用FLASH或者是E2PROM。因為片內(nèi)EPROM需要在高壓條件下寫入程序,紫外線有很大不便。若使用E2PROM或閃存,則能夠在5V下讀寫,不再需要紫外線擦除。不僅在掉電時數(shù)據(jù)不會丟失,并且有靜態(tài)RAM讀寫操作的簡單易行特點。②存儲容量加大,現(xiàn)在一般為8Kbyte,甚至可能達(dá)到16Kbyte。③程序的保密性能大大提升。一些公司為了價錢保密,采用KEPROM寫入程序,有的則采用E2PROM、EPROM加鎖方式。3.I/O口的改進I/O制功能有所加強。一些中、高檔的單片機可以對I/O進行位操作及其位尋址,這樣就大大提升了該口線控制的高度靈活性。并行口的驅(qū)動能力不斷加強。一些單片機設(shè)置了具有串行接口性能的接口,為未來網(wǎng)絡(luò)化系統(tǒng)提供了極為方便的條件??v觀幾十年來單片機的發(fā)展歷程,今后單片機將向著高速度、高性能、多功能、低電壓、低耗能、低價格、外圍電路內(nèi)裝化及其內(nèi)存儲量不斷增加和閃存方向不斷發(fā)展,我們可以預(yù)言,未來的單片機將會是集成度、可靠性更高,耗能更低,功能更強以及使用起來更加方便的人性化方向發(fā)展。4DS18B20溫度傳感器4.1DS18B20溫度傳感器簡介DS18B20數(shù)字溫度傳感器是美國DALLAS公司推出的一種具有耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。如圖4-1所示。圖4-1DS18B204.2DS18B20主要特性只需要一個端口就能夠?qū)崿F(xiàn)通信。DS18B20的測量溫度范圍為-55℃——+125該數(shù)字溫度傳感器的分辨率用戶可以從9~12位選擇。此數(shù)字溫度傳感器內(nèi)部有溫度上下限報警裝置。在DS18B20中的每個器件上都具有獨一無二的序列號。在實際應(yīng)用中我們不需要任何外部器件就可實現(xiàn)測量溫度的功能。4.3DS18B20的外形和內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形及管腳排列如下圖4-2所示:圖4-2表4-1引腳功能引腳名稱引腳功能描述UDD可供選擇的UDD引腳。工作于寄生電源狀態(tài)下,這個引腳必須接地DQ數(shù)據(jù)輸出輸入端引腳,開漏單總線接口。在寄生電源下,它也可以用作電源來使用GND地信號4.4DS18B20的使用方法因為DS18B20使用的是1—Wire的總線協(xié)議方式,也就是在一條數(shù)據(jù)線上實現(xiàn)數(shù)據(jù)的雙向傳輸,但是對于AT89C52單片機,硬件上不支持單總線協(xié)議,所以,必須軟件方法模擬單總線的協(xié)議時序完成對該芯片的訪問。因為該數(shù)字溫度傳感器是在一根I/O線上讀寫數(shù)據(jù),因此,對于讀寫的數(shù)據(jù)位有著極其嚴(yán)格的時序要求。此協(xié)議定義了幾種信號的時序:初始化時序,讀時序,寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。并且每一次命令和數(shù)據(jù)的傳輸都是從主機自動啟動時寫時序開始,若要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需要啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。(1)時序的初始化圖4-3初始化時序(2)寫時序圖4-4寫時序?qū)τ贒S18B20來說,寫時序分為寫0時序和寫1時序。在寫0時序時,單總線要被拉低至少60us,保證DS18B20可以在15~45us之間正確地采樣輸入輸出總線上的低電平,在寫1時序時,單總線被拉低后,將會在15us釋放單總線。(3)讀時序圖4-5讀時序?qū)τ跀?shù)字溫度傳感器的讀時序是從主機把單總線拉低之后在15us就得釋放單總線,讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。數(shù)字溫度傳感器在完成一個讀時序過程,至少需要60us才能完成。4.5溫度轉(zhuǎn)換4.5.1DS18B20的分辨率與配置寄存器的關(guān)系數(shù)字溫度傳感器在工作時按寄存器中的分辨率將溫度變換成相應(yīng)精度的數(shù)值,它的各位定義如圖4-6所示:TMTMR1R011111MSBLSB圖4-6各位定義圖在此圖中,TM是測試模式標(biāo)志位。在出廠時被寫入0,不能做變化。R0、R1是溫度計分辨率設(shè)置位,它對應(yīng)4種分辨率如下表4-2。在出廠時R1、R0可設(shè)置位默認(rèn)值;如R1=0,R0=1也就是12位分辨率。表4-2分辨率與寄存器分辨率關(guān)系R1R0分辨率最大轉(zhuǎn)換時間(ms)00993.751010187.5011137511127504.5.2實際溫度與數(shù)字輸出的轉(zhuǎn)換下表4-3中舉出了數(shù)字溫度傳感器溫度采集轉(zhuǎn)換得到的16位數(shù)據(jù),然后存儲在數(shù)字溫度傳感器的兩個8位的RAM中,其中,二進制的前5位是符號位。若測得的溫度大于等于0,符號位便為0,這樣只需要將測得數(shù)據(jù)數(shù)值除16就可以得到實際溫度,若測得溫度小于0,那么符號位為1,這樣測得的數(shù)值要取反然后加1再除以16就能得到實際溫度。表4-3數(shù)字輸出與實際溫度的轉(zhuǎn)換關(guān)系232221202-12-22-32-4LSByteSSSSS262324MSByte實際溫度數(shù)字輸出(B)數(shù)字輸出-551111110010010000FC90H-10.1251111111101011110FF5EH-0.51111111111111000FFF8H000000000000000000000H+10.125000000001010001000A2H+8500000101010100000550H+125000001111101000007D0H當(dāng)數(shù)字溫度傳感器采集到125℃時,輸出的十六進制位為07D0H,那么實際溫度℃當(dāng)數(shù)字溫度傳感器采集到-55℃時,輸出為FC90H,應(yīng)先將11位數(shù)據(jù)取反加1得0370H,則實際溫度℃4.6DS18B20測溫流程初始化初始化DS18B20跳過ROM匹配LCD顯示轉(zhuǎn)換成顯示碼讀暫存器跳過ROM匹配溫度變換延時1S圖4-6DS18B20測溫流程5單片機接口設(shè)計5.1接口設(shè)計原則DS18B20可以采用兩種方式供電,一種是寄生電源供電方式,為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管來完成對總線的上拉。另一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源,故本設(shè)計采用的是電源供電方式。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟。初始化;ROM操作命令;存儲器操作指令。5.2引腳鏈接5.2.1串口引腳P0口接8個10KΩ的排阻,然后接到顯示電路上,P1.5接溫度傳感器DS18B20,如圖5-1所示。DS18B20DS18B20P1.5GNDVCC5-1溫度觸感器電路AT89C52P3.0紅色LED燈,P3.1接黃色LED燈,P2.3接藍(lán)色LED燈,P2.0、P2.1、P2.2分別接LCD的RS、RW、E端子,P3.5、P3.6、P3.7分別接時鐘電路的RST、SCLK、I/O的端子。5.2.2晶振電路單片機的XIAL1和XIAL2分別接22PF的電容,中間再并個12MHZ的晶振,形成單片機的晶振電路。5.2.3其他引腳VSS接地,VCC接電源,RST接復(fù)位電路,VCC2接+5V電源,VCC1接兩節(jié)1.5V的干電池,其他引腳懸空。6系統(tǒng)整體設(shè)計6.1系統(tǒng)硬件電路設(shè)計ATAT89C52復(fù)位電路溫度測量顯示電路時鐘電路圖6-1整體結(jié)構(gòu)圖6.1.1各部分電路(1)顯示電路顯示電路采用通用的LM016L液晶顯示器,采用LCD顯示器顯示范圍大,不會出現(xiàn)任何的幾何失真和線性失真,且低功耗、長壽命、高可靠性。如圖6-2所示。圖6-2LCD顯示①P0-P7口為數(shù)據(jù)輸入/輸出口,即MCU與模塊之間的數(shù)據(jù)傳送通道;②RS為寄存器選擇輸入端,輸入MPU選擇模塊內(nèi)部寄存器類型信號。RS=0,當(dāng)MPU進行寫模塊操作,指向地址計數(shù)器;當(dāng)MPU進行讀模塊操作,指向地址計數(shù)器。RS=1,無論MPU讀操作還是寫操作,均指向數(shù)據(jù)寄存器。③RW為讀寫控制輸入端,輸入MPU讀/寫模塊操作信號;RW=0,讀操作;RW=1,寫操作。E為使能輸入端,輸入MPU讀/寫模塊操作使能信號,讀操作時,高電平有效;寫操作時,下降沿有效。因為P0-P7為漏極,內(nèi)部無電阻,不能產(chǎn)生電流,故需要上拉電阻RESPACK-8。(2)DS18B20溫度測量電路根據(jù)DS18B20的引腳功能說明,我們可以很快地把VCC接一個5V的電源,而GND接地。由于DS18B20采用了單總線技術(shù),所以我們只要把DQ與單片機的一個I/O口相連接就可以了,如圖6-3所示。圖6-3DS18B20溫度測量電路(3)時鐘電路DS1302有兩個電源,一個是VCC2,另一個是VCC1。主電源VCC2同單片機一樣接5V電源,而備份電源使用的是兩節(jié)1.5V干電池。當(dāng)系統(tǒng)電源被切斷的情況下,DS1302也能正常工作,保證日期、時間的準(zhǔn)確運行。X1、X2用來外接晶振,晶振的頻率為32.768KHZ,如圖6-4所示。圖6-4時鐘電路(4)復(fù)位電路單片機有多種復(fù)位電路圖,本系統(tǒng)采用電平式開關(guān)復(fù)位與上電復(fù)位方式,電路如圖6-5所示。當(dāng)上電時,C1相當(dāng)于短路,使單片機復(fù)位,在正常工作時,按下復(fù)位鍵時單片機復(fù)位。如果在復(fù)位端加一個去耦電容,則會得到更好的效果。圖6-5復(fù)位電路圖(5)系統(tǒng)原理總圖6-6圖6-6系統(tǒng)原理總圖7系統(tǒng)軟件設(shè)計7.1系統(tǒng)軟件整體設(shè)計思路一個應(yīng)用系統(tǒng)要完成相應(yīng)功能,首先必須有較完善的硬件作保證。同時還必須得到相應(yīng)設(shè)計合理的軟件的支持,尤其是微機應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如信號處理,數(shù)字濾波等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與AT89C52單片機對應(yīng)的C語言和結(jié)構(gòu)化程序設(shè)計方法進行軟件編程。程序設(shè)計語言有三種:機器語言、匯編語言、高級語言(如C語言),有良好的獨立性,通用性和可移植性,故本設(shè)計采用C語言來編程實現(xiàn)。7.2系統(tǒng)程序流圖紅燈亮、報警響紅燈亮、報警響黃燈亮,啟動電爐升溫開始初始化DS18B20、DS1302顯示當(dāng)前溫度、當(dāng)前時間判斷當(dāng)前溫度超出預(yù)設(shè)溫度?啟動風(fēng)扇降溫是否圖7-1程序流圖7.3調(diào)試與仿真7.3.1調(diào)試主程序的功能是:啟動DS18B20測量溫度,將測量值與給定值進行比較,若測得溫度高于預(yù)設(shè)值(100℃),P3.0置于低電平,紅燈亮;P1.0置于高電平,喇叭響,停止加熱。若測得溫度低于預(yù)設(shè)值(20℃),P3.1置于低電平,黃燈亮,繼續(xù)加熱。介于20℃和100℃之間時,7.3.2仿真結(jié)果(1)100℃圖7-2100℃(2)99℃時,藍(lán)燈亮,喇叭不響,如圖7-3圖7-399℃ 情況下(3)20℃與99℃情況相同圖7-420℃(4)19℃圖7-519℃情況下總結(jié)與展望由于我的畢業(yè)設(shè)計采用的傳感器是DS18B20,所以電路的精確度和集成度都比老式的溫度控制電路提高很多,該溫度控制系統(tǒng)只是DS18B20在溫度控制領(lǐng)域的一個簡單實例,還有很多需要完善的地方。同時該設(shè)計采用了溫度報警裝置與指示燈顯示裝置,這樣做會使設(shè)計看起來更具直觀性,更具有說服力。在畢業(yè)設(shè)計中我也遇到了很多問題,大多數(shù)是靠圖書館和網(wǎng)上查資料解決的,也有一部分時找同學(xué)幫忙解答的,通過畢業(yè)設(shè)計我才感受到平時學(xué)習(xí)的積累以及各學(xué)科之間的聯(lián)系有多重要。在該畢業(yè)設(shè)計的后續(xù)研究中有以下幾個方面有待于進一步完善和拓展:一是通過進一步完善,用更簡單更易懂的程序?qū)崿F(xiàn)同樣的功能;二是通過進一步拓展可以將測得的溫度通過單片機與通訊模塊相連接,外加遠(yuǎn)程控制設(shè)備,以手機短信的方式發(fā)送給用戶,使用戶能夠隨時對溫度進行監(jiān)控。參考文獻[1]朱清慧,張鳳蕊,翟天嵩.Proteus教程——電子線路設(shè)計、制版與仿真[M].北京:清華大學(xué)出版社,2008.291[2]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社,2007[3]譚浩強.C程序設(shè)計(第三版)[M].北京:清華大學(xué)出版社,2008[4]甕嘉民.單片機應(yīng)用開發(fā)技術(shù)[M].北京:中國電力出版社,2010[5]侯玉寶.基于Proteus的51系列單片機設(shè)計與仿真[M].北京:電子工業(yè)出版社,2008[6]周興華.手把手教你學(xué)單片機C程序設(shè)計[M].北京:北京航空航天大學(xué)出版社,2009[7]楊清德.LED及其工程應(yīng)用[M].北京:人民郵電出版社,2007[8]李朝青,李良兒,樓然苗.單片機C語言程序設(shè)計實例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2005[9]諸昌鈐.LED顯示屏系統(tǒng)原理及工程技術(shù)[M].成都:電子科技大學(xué)出版社,2000[10]呂長飛.基于AT89C52智能溫度控制器設(shè)計[J].微計算機信息,2007.20[11]張萍.基于數(shù)字溫度計DS18B20的溫度測量儀的開發(fā)[J].自動化儀表,2007[12]張鑫.單片機原理及應(yīng)用[M].北京:電子工業(yè)出版社,2008[13]周潤景,張麗娜.基于Proteus的電路及單片機系統(tǒng)設(shè)計與仿真[M].北京:北京航空航天大學(xué)出版社,2006[14]Kawasaki,Akao,Noguchietal.SINGLE-CHIPMICROCOMPUTER[P].US,20099104716A1,Oct.7,2004[15]肖看,李群芳.單片機原理和接口及應(yīng)用(第二版)[M].北京:清華大學(xué)出版社,2010附錄(C程序)#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint//引腳連接圖sbitrst=P3^7;sbitclk=P3^6;sbitdat=P3^5;sbitrs=P1^1;sbitrw=P1^2;sbite=P1^3;sbitDQ=P1^5;//溫度輸入口sbitLED=P3^0;sbitLED1=P3^1;sbitSPEAKER=P1^0;sbitLED2=P2^1;//全局變量及常量定義uchari=20,j,hang1[16]; ucharalarm[2],hang2[15],hang[3];/*字模塊*/ucharcodetab[]={0x18,0x1b,5,4,4,5,3,0,0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,//年0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00,//月0x0f,0x09,0x09,0x0f,0x09,0x09,0x0f,0x00};//日/*溫度小數(shù)部分用查表法*/ucharcodedot[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};//全局變量uchartempor[2]={0x00,0x00};//讀出溫度暫放bitflag; //18b20存在標(biāo)志位/*11微秒延時函數(shù)*/delay(uintn){ for(;n>0;n--);return(n);}/*18B20復(fù)位函數(shù)*/bit_ini(void){ uchari; DQ=1;_nop_();_nop_();// 先將數(shù)據(jù)線拉高,略微延遲一下 DQ=0;// 再將數(shù)據(jù)線從高拉低,保持480~960us delay(60);// DQ=1;// 釋放數(shù)據(jù)線后,需等待15~60us讓傳感器輸出存在脈沖 delay(5);// 延時足夠長時間,等在脈沖輸出完畢 for(i=0;i<50;i++) { if(DQ==0) gotoDQ1; } flag=0; //清標(biāo)志位,表示ds1820無效 DQ=1;DQ1: delay(45);//延時500us,DQ=0表示存在脈沖 flag=1; DQ=1; //置標(biāo)志位,表示ds1820存在}/*18B20寫命令函數(shù)*///向1-WIRE總線上寫一個字節(jié)voidwrit(uchardat){ uchari; for(i=8;i>0;i--)// { DQ=1;_nop_();_nop_();//數(shù)據(jù)線拉高,略微延遲2us DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();//5us DQ=dat&0x01;//通過與運算獲得要寫的某位二進制數(shù)據(jù) delay(6);//66us dat>>=1;//右移一位 } DQ=1; delay(1);}/*********18B20讀1個字節(jié)函數(shù)********///從總線上讀取一個字節(jié)ucharreadd(void){ uchari; uchardat=0; for(i=8;i>0;i--) //儲存讀出的一個數(shù)據(jù) { DQ=1;_nop_();_nop_();//拉高數(shù)據(jù)線 dat>>=1; DQ=0;// _nop_();_nop_();_nop_();_nop_();//4us DQ=1;_nop_();_nop_();_nop_();_nop_();//4us if(DQ) //如果讀到的數(shù)據(jù)是1,則將1存入dat dat|=0x80; delay(6);//66us } DQ=1; return(dat);}/***********讀出溫度函數(shù)**********/read_temp(){ bit_ini(); //總線復(fù)位 if(!flag) //判斷ds1820是否存在?若ds18b20不存在則返回 return; writ(0xCC); //跳過讀序列號的操作 writ(0xBE); //讀取寄存器,前兩個分別是溫度的低位和高位 tempor[0]=readd();//溫度低8位 tempor[1]=readd();//溫度高8位 bit_ini(); writ(0xCC); //跳過讀序列號的操作 writ(0x44); //發(fā)轉(zhuǎn)換命令}/*溫度數(shù)據(jù)處理函數(shù)*/dealtem(){ ucharn=0,q; if(tempor[1]>127)//負(fù)溫度求補碼10010011為147 { tempor[1]=(256-tempor[1]);//256-147=109即10010011取反加1 tempor[0]=(256-tempor[0]); n=1; } hang2[13]=dot[tempor[0]&0x0f]+'0'; hang2[12]='.';//小數(shù)點 q=((tempor[0]&0xf0)>>4)|((tempor[1]&0x0f)<<4);//假設(shè)高位、低位為TH、 //TL實際溫度=(TH*256+TL)/16即:TH*16+TL/16 if(n) { q-=16; } hang2[9]=q/100+'0';//百位的ASCⅡ碼 hang2[11]=q%100; hang2[10]=hang2[11]/10+'0';//十位的ASCⅡ碼 hang2[11]=hang2[11]%10+'0';//個位的ASCⅡ碼 if(hang2[9]=='0')//最高位為0時都不顯示 { hang2[9]=0x20; if(n)//負(fù)溫度時最高位顯示"-" { hang2[9]='-'; } }return(n);}delay1ms(uchartime) //延時1ms{ ucharj,k; for(j=0;j<time;j++) { for(k=0;k<250;k++); }return(j);}//LCD驅(qū)動部分enable(){ rs=0; rw=0; e=0; delay1ms(3); e=1;//初始化 }write2(uchari){ P0=i; rs=1; rw=0; e=0; delay1ms(2); e=1;//將DB0~DB7的數(shù)據(jù)寫入數(shù)據(jù)寄存器中 return(i);}write1(uchardata*address,m){ uchari,j; for(i=0;i<m;i++,address++) { j=*address; write2(j); //把數(shù)據(jù)寫到指定地址 }return(j);}//LCD顯示lcdshow(){ P0=0X0C; //顯示器開、光標(biāo)關(guān)0000 1100 enable(); P0=0x80; //寫入顯示起始地址 enable(); write1(hang1,16); P0=0xc1; //寫入顯示起始地址 enable(); write1(hang2,15);}//讀取年月日zijianzi(){ uchari; P0=0x40; enable(); for(i=0;i<32;i++)//讀取32個字模塊代碼 { write2(tab[i]); delay1ms(2); }return(i);}//DS1302讀寫子程序write(uchara

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論