本科畢業(yè)設計-基于ds18b20的恒溫控制器設計_第1頁
本科畢業(yè)設計-基于ds18b20的恒溫控制器設計_第2頁
本科畢業(yè)設計-基于ds18b20的恒溫控制器設計_第3頁
本科畢業(yè)設計-基于ds18b20的恒溫控制器設計_第4頁
本科畢業(yè)設計-基于ds18b20的恒溫控制器設計_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于DS18B20的恒溫控制器設計DesignedofTheConstantTemperatureWhichisbasedonDS18B20I摘要恒溫控制在任何地方都有著舉足輕重的地位,在工業(yè)生產(chǎn)中,溫度的控制直接影響著工業(yè)生產(chǎn);在家庭中,其直接影響著生活的品質與安慰。本設計是基于AT89C51單片機的恒溫箱控制系統(tǒng),系統(tǒng)分為硬件和軟件兩部分,其中硬件包括:溫度傳感器、顯示、控制和報警的設計;軟件包括:鍵盤管理程序設計、顯示程序設計、控制程序設計和溫度報警程序設計。編寫程序結合硬件進行調試,能夠實現(xiàn)設置和調節(jié)初始溫度值,用LCD顯示,當加熱到設定值后立刻報警。另外,本系統(tǒng)通過軟件實現(xiàn)對按鍵誤差、加熱過沖的調整,以提高系統(tǒng)的安全性、可靠性和穩(wěn)定性。本設計從實際應用出發(fā)選取了體積小、精度相對高的數(shù)字式溫度傳感元件DS18B20作為溫度采集器,單片機AT89C52作為主控芯片,LCD屏作為顯示輸出,實現(xiàn)了對溫度的實時測量與恒定控制。關鍵詞:單片機傳感器溫度AbstractTemperaturecontrolinanyplacehasapivotalroleintheindustrialproduction,thecontrolofthetemperaturedirectlyaffecttheindustrialproduction;Inthehousehold,itsdirectlyinfluencesthequalityofthelifeandcomfort.ThedesignisbasedonAT89C51single-chipmicrocomputercontrolsystemoftheconstanttemperaturebox,thehardwareandsoftwaresystemisdividedintotwoparts,includinghardwareincluding:temperaturesensordisplayandcontrolandalarmdesign;Thesoftwareincludes:thekeyboardmanagementprogramdesignshowsthattheprogramdesigncontrolprogramdesignandtemperaturealarmprogramdesignwriteaprogramcombininghardwaredebugging,willbeabletorealizetheSettingsandadjustingtheinitialtemperature,useLCDdisplay,whenheatedtosetdataimmediatelyafterthealarminaddition,thesystemthroughthesoftwaretorealizeerrorheatedflushbuttonsadjustment,thesecurityofthesystemtoimprovethereliabilityandstability.Keywords:AT89C52temperaturesensortemperature目錄TOC\o"1-3"\h\u17129摘要 I12175Abstract II14235緒論 1243631硬件電路的設計 2277271.1總體設計 2124381.1.1系統(tǒng)實現(xiàn)的功能 216111.1.2系統(tǒng)實現(xiàn)方案的選擇 2211231.1.3系統(tǒng)整體結構的布局 2231701.2單片機 366511.2.1單片機的應用范圍 3155831.2.2單片機的分類 4146511.2.3單片機的端口介紹 495601.3DS18B20 6267041.3.1DS18B20的應用范圍 6262521.3.2DS18B20的內部結構 6232001.3.3DS18B20溫度測量電路 696011.3.4DS18B20的工作原理 8136191.4DS1302 8174171.4.1DS1320的功能及結構 8289171.4.2DS1302實時顯示時間的軟硬件 9256861.5LM016L顯示屏 9185531.5.1LM016L結構和功能 969591.5.2LCD在仿真中的連接 10114602軟件電路設計 1243252.1系統(tǒng)主程序的設計 12289292.2系統(tǒng)子程序的設計 13277472.2.1LCD顯示程序 1385102.2.2DS18B20的子程序 1475022.2.3DS18B20初始化模塊 1561042.2.4控制器對18B20操作流程 16140762.2.5DS18B20讀取溫度的程序 1723672結論 195559致謝 2022816參考文獻 2113116附錄一仿真實現(xiàn)圖 2211292附錄二部分程序 23緒論在科技急速發(fā)展的今天,各種各樣的智能化儀器也隨之而產(chǎn)生。溫度是生產(chǎn)過程和科學實驗中普遍的且十分重要的物理參數(shù),它反映了物體的冷熱程度;溫度控制是工業(yè)及其生活中常常遇到的過程控制,它具有舉足輕重的地位,在工業(yè)生產(chǎn)中,其溫度的控制效果直接影響著產(chǎn)品的質量;在家居生活中,其溫度控制效果直接影響的人們身體的舒適度及其安全。所以設計一種較為理想的溫度控制系統(tǒng)是非常有價值的。對于不同場所、不同工藝、所需溫度高低范圍不同、精度不同,則采用的測溫元件、測溫方法以及對溫度的控制方法也將不同。隨著電子技術和微型計算機的迅速發(fā)展,微機測量和控制技術也得到了迅速的發(fā)展和廣泛的應用。利用微機對溫度進行。本設計從實際應用出發(fā)選取了體積小、精度相對高的數(shù)字式溫度傳感元件DS18B20作為溫度采集器,單片機AT89C51作為主控芯片,LCD顯示屏作為顯示輸出,三個按鍵來實現(xiàn)恒定溫度的設置,蜂鳴器實現(xiàn)報警作用,實現(xiàn)了對溫度的實時測量與恒定控制的作用。1硬件電路的設計1.1總體設計1.1.1系統(tǒng)實現(xiàn)的功能設計基于AT89C52單片機的廚房控制系統(tǒng),用于控制溫度,實現(xiàn)的功能如下:溫度實現(xiàn)在0-99度連續(xù)可調,溫度誤差小于等于±1℃,通過按鍵設置需要到達的溫度值,LCD顯示屏上面顯示預定的溫度以及當前測試到的溫度和當時準確的時間。當溫度超過預設溫度時,報警器開始報警,并伴隨的LED燈的閃亮。1.1.2系統(tǒng)實現(xiàn)方案的選擇選擇合適的溫度傳感器芯片。顯然,本文中的核心器件是單片機和溫度傳感器,單片機采用常用的AT89C52單片機即可,而溫度傳感器的選擇則需慎重,若采用熱敏電阻,可滿足40~90℃的測量范圍,但熱敏電阻精度、重復性、可靠性都比較差,其測量溫度范圍相對較小,穩(wěn)定性較差,不能滿足本系統(tǒng)溫度控制的范圍要求,所以我決定采用數(shù)字溫度傳感器DS18B20,DS18B20提供九位溫度讀數(shù),測量范圍-55℃~125℃,采用獨特1-WIRE總線協(xié)議,只需一根口線即實現(xiàn)與MCU的雙向通訊,具有連接簡單,高精度,高可靠性等特點。并且,DS18B20支持一主多從,若想實現(xiàn)多點測溫,可方便擴展。系統(tǒng)整體結構的布局以AT89C52為核心,輸入電路由溫度采集電路及按鍵電路構成,輸出電路是由控制電路,顯示電路以及聲光報警電路構成,結構圖如下圖1-1所示AT89C52AT89C52控制電路溫度采集器控制電路溫度采集器顯示電路顯示電路按鍵電路按鍵電路聲光報警電路聲光報警電路圖1-1系統(tǒng)結構布局圖1.2單片機所謂單片機(m1crocontroller)是指在一個集成芯片中,集成微處理器(CPU)、存儲器、基本的I/O接口以及定時/計數(shù)、通信部件,即在一個芯片上實現(xiàn)一臺微型計算機的基本功能。1970年微型計算機研制成功之后,隨著就出現(xiàn)了單片機(即單片微型計算機)。美國Intel公司1971年生產(chǎn)的4位單片機4004和1972年生產(chǎn)的雛形8位單片機8008,特別是1976年MCS-48單片機問世以來,在短短的二十幾年間,經(jīng)歷了四次更新?lián)Q代,其發(fā)展速度大約每二、三年要更新一代、集成度增加一倍、功能翻一番。其發(fā)展速度之快、應用范圍之廣,已達到了驚人的地步,它已滲透到生產(chǎn)和生活的各個領域。盡管目前單片機的品種很多,但其中最具典型性的當數(shù)Intel公司的MCS-51系列單片機。MCS-51是在MCS-48的基礎上于80年代初發(fā)展起來的,雖然它仍然是8位的單片機,但其功能有很大的增強。由于PHILIPS、ATMEL、WELBORD、LG等近百家IC制造商都主產(chǎn)51系列兼容產(chǎn)品,具有品種全、兼容性強、軟硬件資料豐富等特點。因此,MCS-51應用非常廣泛,成為繼MCS-48之后最重要的單片機品種。直到現(xiàn)在MCS-51仍不失為單片機中的主流機型。國內尤以Intel的MCS-51系列單片機應用最廣。由于8位單片機的高性能價格比,估計近十年內,8位單片機仍將是單片機中的主流機型。單片機也被稱為微控制器(Microcontroller),由芯片內僅有CPU的專用處理器發(fā)展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。單片機是70年代中期發(fā)展起來的一種大規(guī)模集成電路芯片,是CPU、RAM、ROM、I/O接口和中斷系統(tǒng)集成于同一硅片的器件。單片機用于控制有利于實現(xiàn)系統(tǒng)控制的最小化和單片化,簡化一些專用接口電路,如編程計數(shù)器、鎖相環(huán)(PLL)、模擬開關、A/D和D/A變換器、電壓比較器等組成的專用控制處理功能的單板式微系統(tǒng)。1.2.1單片機的應用范圍(1)在智能儀器表上的應用:單片機具有功耗低,控制能力強,擴展靈活,使用方便等優(yōu)點,廣泛應用于儀器表中,結合不同的傳感器,可實現(xiàn)諸多功能的實現(xiàn)。(2)在工業(yè)控制中的應用:用單片機可以構成形式多樣的控制系統(tǒng),數(shù)據(jù)采集系統(tǒng)等等。(3)在家用電器中的應用:在這個領域中最大的特點就是量大面廣并且價格廉價,如電飯鍋,電子游戲機等等。(4)在計算機網(wǎng)絡和通信領域中的應用:如我們日常用的手機,電話機,自動通信呼叫系統(tǒng)等等,都是通過單片機智能控制的。(5)在醫(yī)用設備領域的應用:例如醫(yī)用的呼吸機,各種分析儀,監(jiān)護儀等等里面都是含有單片機,通過單片機實現(xiàn)控制。(6)在各種大型電器中模塊化應用:某些專用單片機設計用于實現(xiàn)特定功能,從而在各種電路中進行模塊化應用。(7)在汽車設備領域中的應用:單片機在汽車領域中應用的非常廣泛,如汽車的發(fā)動機控制器,GPS導航系統(tǒng)等等。1.2.2單片機的分類(1)通用型/專用型這是按單片機適用范圍來區(qū)分的。例如,80C51是通用型單片機,它不是為某種專用途設計的;專用型單片機是針對一類產(chǎn)品甚至某一個產(chǎn)品設計生產(chǎn)的,例如為了滿足電子體溫計的要求,在片內集成ADC接口等功能的溫度測量控制電路。(2)總線型/非總線型這是按單片機是否提供并行總線來區(qū)分的??偩€型單片機普遍設置有并行地址總線、數(shù)據(jù)總線、控制總線,這些引腳用以擴展并行外圍器件都可通過串行口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設接口集成一片內,因此在許多情況下可以不要并行擴展總線,大大減省封裝成本和芯片體積,這類單片機稱為非總線型單片機。(3)控制型/家電型這是按照單片機大致應用的領域進行區(qū)分的。一般而言,工控型尋址范圍大,運算能力強;用于家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設接口集成度高。顯然,上述分類并不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是總線型,還可以作工控用。1.2.3單片機的端口介紹(1)單片機的P0口單片機中的P0口既可以作為通用的I/O口進行數(shù)據(jù)的輸入和輸出,也可以作為單片機系統(tǒng)的地址/數(shù)據(jù)線使用,并且P0口得電路中有一個多路轉換電路MUX。在控制信號的作用下,多路接電路可以分別接通鎖存器輸出或地址/數(shù)據(jù)線。我出于對此的考慮,所以在P0口在做輸入輸出接口時,加上了拉電阻,其阻止我查資料,可以選擇4.7千歐到10千歐。又因為P0口能驅動8個LSTTL負載及P0每位口灌入的最大電流是10mA,8位總共不能超過26mA。所以在本次設計中,我將P0與8個10K的電阻絲相連,防止突然大電流將單片機與LCD顯示屏的被燒壞。如下圖1-2所示:圖1-2單片機P0口接口電路(2)單片機的P2口P2口電路中比P1口多了一個多路轉換開關MUX,這正好與P0口一樣。P2口可以作為通用I/O口使用,在本次設計中,我將P2.0,P2.1與報警電路中的LED燈相連接,控制LED燈的亮滅,當輸入低電平時,LED燈亮,反之LED燈滅。將P2.4,P2.5,P2.6口分別控制顯示屏的寄存器,讀寫信號線和使能端,接口電路如圖1-3所示:圖1-3單片機P2口的接口電路1.3DS18B20DS18B20是美國DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器芯片,具有結構簡單體積小,功耗小,抗干擾能力強,使用簡單等優(yōu)點。數(shù)字溫度傳感器接線方便,封裝成后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設備數(shù)字測溫和控制領域。1.3.1DS18B20的應用范圍(1)其適用于冷凍庫,糧倉,儲罐,電訊機房,電力機房,電纜線槽等測溫和控制領域。(2)軸瓦,缸體,紡機,空調,等狹小空間工業(yè)設備測溫和控制。(3)汽車空調、冰箱、冷柜、以及中低溫干燥箱等。(4)供熱/制冷管道熱量計量,中央空調分戶熱能計量和工業(yè)領域測溫和控制。1.3.2DS18B20的內部結構DS18B20主要有內部寄生電源,64位激光ROM和單線接口,高速RAM,溫度上下限存儲器,CRC循環(huán)冗余效驗碼發(fā)生器,溫度傳感器以及配置存儲器等幾部分組成。DS18B20片內有一個64位激光ROM,存儲CRC效驗碼,48位標識碼(序列號)和型號代碼,DS18B20的型號代碼為28H。結構如圖1-4所示:圖1-4DS18B20內部結構1.3.3DS18B20溫度測量電路下圖畫出一了DS18B20與微處理器的典型連接。圖1-5(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地,圖1-5(b)中DS18B20采用外接電源方式,其VDD端用+3V-+5.5V電源供電。圖1-5DS18B20獨立供電與寄生供電方式準確度測量溫度對生產(chǎn)過程至關重要,許多場合要求被測溫度準確度高于0.5℃或更高,用傳統(tǒng)的冷端補償方法顯然不能滿足要求。采用集成數(shù)字溫度傳器DS18B20不僅可以降低系統(tǒng)成本,減小設備體積,同時具有廣泛的通用性。工作于寄生電源方式時,VDD和GND均接地,它在需要遠程溫度探測和空間受限的場合特別有用,原理是當1-Wier總線的信號線DQ為高電平時,竊取信號能量給DS18B20供電,同時一部分能量給內部電容充電,當DQ為低電平時釋放能量為DS18B20供電。但寄生電源方式需要強上拉電路,軟件控制變得復雜(特別是在完成溫度轉換和拷貝數(shù)據(jù)到EZPROM時),同時芯片的性能有所降低。因此,在條件允許的場合,盡量采用外供電方式。在本溫度測量系中,采用獨立電源供電方式。在我這次的設計中,用單片機的P1口來控制溫度傳感器,P1.3連接DS18B20DQ端,并通過上拉電阻接電源,設計仿真圖1-6如下:圖1-6DS18B20與單片機的接口圖1.3.4DS18B20的工作原理DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同。我的程序中在對編寫DS18B20溫度讀取函數(shù)中分了如下三個參考步驟為:(1)轉換,其中轉換又分為三個步驟:1.復位;2寫入跳過ROM的字節(jié)命令;3寫入開始轉換的功能命令;4延遲大約750~900毫秒。(2)讀暫存數(shù)據(jù),其中暫存數(shù)據(jù)分為六個步驟:1復位;2寫入跳過ROM的字節(jié)命令;3寫入開始轉換的功能命令;4讀入第0個字節(jié)LSByte,轉換結果的低八位;5讀入第1個字節(jié)MSByte,轉換結果的高八位;6復位,表示讀取暫存結果。(3)出數(shù)據(jù)的十進制,其中分為4個步驟:1整合LSByte和MSByte的數(shù)據(jù);2判斷是否為正負數(shù);3求得十進制值。正數(shù)乘以0.0625,一位小數(shù)點乘以0.625,二位小數(shù)乘以6.25;4十進制的“個位”求出。(程序在后面給付出)1.4DS1302DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內部有一個31×8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。1.4.1DS1320的功能及結構DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。1.4.2DS1302實時顯示時間的軟硬件DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。圖1-7示出DS1302與89C2051的連接圖,分別于89C52的P3^4,P3^5,P3^6相連接。 圖1-7DS1320與89C52的連接圖1.5LM016L顯示屏LM016L液晶模塊采用HD44780控制器。HD44780具有簡單而功能較強的指令集,可以實現(xiàn)字符移動、閃爍等功能。LM016L與單片機MCU(MicrocontrollerUnit)通訊可采用8位或者4位并行傳輸兩種方式。HD44780控制器由兩個8位寄存器、指令寄存器(IR)和數(shù)據(jù)寄存器(DR)、忙標志(BF)、顯示數(shù)據(jù)RAM(DDRAM)、字符發(fā)生器ROM(CGROM)、字符發(fā)生器RAM(CGRAM)、地址計數(shù)器(AC)。IR用于寄存指令碼,只能寫入不能讀出;DR用于寄存數(shù)據(jù),數(shù)據(jù)由內部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù)。BF為1時,液晶模塊處于內部處理模式,不響應外部操作指令和接受數(shù)據(jù)。DDRAM用來存儲顯示的字符,能存儲80個字符碼。CGROM由8位字符碼生成5*7點陣字符160種和5*10點陣字符32種,8位字符編碼和字符的對應關系,可以查看參考文獻[3]中的表4。CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節(jié)??梢宰远x8個5*7點陣字符或者4個5*10點陣字符。AC可以存儲DDRAM和CGRAM。1.5.1LM016L結構和功能1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其中:表一LM016L引腳介紹引腳符號功能說明1VSS一般接地2VDD接電源(+5V)3V0液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調整對比度)4RSRS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。5R/WR/W為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作6EE(或EN)端為使能(enable)端,下降沿使能。7DB0底4位三態(tài)、雙向數(shù)據(jù)總線0位(最低位)8DB1底4位三態(tài)、雙向數(shù)據(jù)總線1位9DB2底4位三態(tài)、雙向數(shù)據(jù)總線2位10DB3底4位三態(tài)、雙向數(shù)據(jù)總線3位11DB4底4位三態(tài)、雙向數(shù)據(jù)總線4位12DB5底4位三態(tài)、雙向數(shù)據(jù)總線5位13DB6底4位三態(tài)、雙向數(shù)據(jù)總線6位14DB7高4位三態(tài)、雙向數(shù)據(jù)總線7位(最高位)(也是busyflang)15BLA背光電源正極16BLK背光電源負極1.5.2LCD在仿真中的連接在本次設計中,我是通過單片機的P0口來連接LCD顯示屏的雙向數(shù)據(jù)總線,P2.4,P2.5,P2.6分別于顯示屏的寄存器,數(shù)據(jù)總線以及使能端相連接。VEE通過一滑動變阻器接地。如圖1-8所示:圖1-8LCD與單片機的連接2軟件電路設計2.1系統(tǒng)主程序的設計在軟件設計時,必須先弄清恒溫控制系統(tǒng)的操作過程和工作過程。首先設定溫度,顯示器顯示溫度。溫度檢測系統(tǒng)不斷檢測并顯示系統(tǒng)中的實時溫度,當達到設定值后,報警器鳴叫,LED燈閃爍。使溫度保持在設定范圍之內。若要改變設定的溫度,可以直接通過安檢來設置根據(jù)以上對操作和工作過程的分析,程序應分為兩個階段:一是通過按鍵設定、顯示器顯示設定溫度;二是檢測并顯示系統(tǒng)的實時溫度,并根據(jù)檢測的結果控制室內溫度。因此,程序可以分為以下幾個功能模塊:溫度設定和啟動;顯示;溫度檢測;溫度控制以及報警。主程序是系統(tǒng)的監(jiān)控程序,在程序運行的過程中必須先經(jīng)過初始化,包括按鍵程序,中斷程序,以及各個控制端口的初始化工作。流程圖如2-1所示。系統(tǒng)在初始化完成后就進入溫度測量程序,將實時的測量的溫度和日期通過顯示電路在LCD上顯示。程序中以中斷的方式來重新設定溫度的上下限。根據(jù)硬件設計完成對溫度控制。按下按鍵設定溫度的加減。主程序流程圖2-1所示:開始開始初始化啟動DS18B20讀溫度LCD顯示溫度是否超過設置溫度發(fā)光報警結束NY圖2-1主程序的流程圖2.2系統(tǒng)子程序的設計2.2.1LCD顯示程序本設計中,采用的LCD顯示屏動態(tài)顯示,LCD將顯示的時間以及設置的溫度和當前測量的溫度,將其與單片機的P1端口連接。部分流程圖如圖2-2所示:開始開始P1口賦值調用延時子程序P0口賦值調用延時子程序結束圖2-2LCD顯示的子程序流程圖2.2.2DS18B20的子程序單片機控制DS18B20的溫度轉換必須按照DS18B20的命令流程。首先執(zhí)行初始化時序,然后單片機發(fā)出跳過ROM命令(代碼為CCH),單片機再發(fā)出啟動轉換命令(代碼為44H),啟動DS18B20完成溫度轉換。接著再執(zhí)行初始化時序,然后單片機發(fā)出匹配ROM命令(代碼為55H)并向數(shù)據(jù)線上發(fā)出64位序列號,再發(fā)出讀9個字節(jié)命令(代碼為BEH),就可以讀出智能溫度傳感器DS18B20對應序列號完成溫度轉換之后的相應正確溫度?;贒S18B20的溫度采集與處理流程圖如圖2-3所示。圖2-3DS18B20程序流程圖2.2.3DS18B20初始化模塊DS18B20的初始化時序時主機總線t0時刻發(fā)送一復位脈,沖(最短為480us的低電平信號)接著在t1時刻釋放總線并進入接收狀態(tài)DSl8B20在檢測到總線的上升沿之后等待15-60us接著DS18B20在t2時刻發(fā)出存在脈沖(低電平持續(xù)60-240us)如圖中虛線所示初始化時序圖如圖2-4所示:圖2-4DS18B20初始化時序圖初始化模塊的程序為:voidInit_DS18B20(void){ unsignedcharx=0; DQ=1;//DQ復位 delay(8);//稍做延時 DQ=0;//單片機將DQ拉低 delay(80);//精確延時大于480us DQ=1;//拉高總線 delay(14); x=DQ;//稍做延時后如果x=0則初始化成功x=1則初始化失敗 delay(20);}2.2.4控制器對18B20操作流程:(1)復位:首先我們必須對DS18B20芯片進行復位,復位就是由控制器(單片機)給DS18B20單總線至少480uS的低電平信號。當18B20接到此復位信號后則會在15~60uS后回發(fā)一個芯片的存在脈沖。

(2)存在脈沖:在復位電平結束之后,控制器應該將數(shù)據(jù)單總線拉高,以便于在15~60uS后接收存在脈沖,存在脈沖為一個60~240uS的低電平信號。至此,通信雙方已經(jīng)達成了基本的協(xié)議,接下來將會是控制器與18B20間的數(shù)據(jù)通信。如果復位低電平的時間不足或是單總線的電路斷路都不會接到存在脈沖,在設計時要注意意外情況的處理。

(3)控制器發(fā)送ROM指令:雙方打完了招呼之后最要將進行交流了,ROM指令共有5條,每一個工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報警芯片搜索。ROM指令為8位長度,功能是對片內的64位光刻ROM進行操作。其主要目的是為了分辨一條總線上掛接的多個器件并作處理。誠然,單總線上可以同時掛接多個器件,并通過每個器件上所獨有的ID號來區(qū)別,一般只掛接單個18B20芯片時可以跳過ROM指令(注意:此處指的跳過ROM指令并非不發(fā)送ROM指令)。(4)控制器發(fā)送存儲器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲器操作指令了。操作指令同樣為8位,共6條,存儲器操作指令分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復制到EEPROM、溫度轉換、將EEPROM中的報警值復制到RAM、工作方式切換。存儲器操作指令的功能是命令18B20作什么樣的工作,是芯片控制的關鍵。

(5)執(zhí)行或數(shù)據(jù)讀寫:一個存儲器操作指令結束后則將進行指令執(zhí)行或數(shù)據(jù)的讀寫,這個操作要視存儲器操作指令而定。如執(zhí)行溫度轉換指令則控制器(單片機)必須等待18B20執(zhí)行其指令,一般轉換時間為500uS。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴格遵循18B20的讀寫時序來操作。數(shù)據(jù)的讀寫方法將有下文有詳細介紹。

若要讀出當前的溫度數(shù)據(jù)我們需要執(zhí)行兩次工作周期,第一個周期為復位、跳過ROM指令、執(zhí)行溫度轉換存儲器操作指令、等待500uS溫度轉換時間。緊接著執(zhí)行第二個周期為復位、跳過ROM指令、執(zhí)行讀RAM的存儲器操作指令、讀數(shù)據(jù)(最多為9個字節(jié),中途可停止,只讀簡單溫度值則讀前2個字節(jié)即可)。2.2.5DS18B20讀取溫度的程序讀溫度程序的設計就是首先跳過讀序號列號的操作然后接著啟動溫度轉換,跳過讀序號列號的操作,讀取溫度寄存器等,其中總共有9個可讀的寄存器。程序如下:unsignedintReadTemperature(void){unsignedchara=0;unsignedintb=0;unsignedintt=0;Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0x44);delay(200);Init_DS18B20();WriteOneChar(0xCC);WriteOneChar(0xBE);a=ReadOneChar();b=ReadOneChar();b<<=8;t=a+b;return(t);}結論在課程設計的過程中,較多的時間是用來查閱資料,因為還是第一次做電子課程設計,圖書館的資料很有限,所以一般通過網(wǎng)上查閱,在此查閱期間,我學會了怎樣使用超星閱讀器和PDF閱讀器。在調試過程中,故障是不可避免的,或者正如老師所說沒有故障反而還不正常。產(chǎn)生故障的原因很多,情況也很復雜,有的是一種原因引起的簡單故障,有的上多種原因相互作用引起的復雜故障,因此需要掌握故障的一般診斷方法,故障診斷過程就是以故障現(xiàn)象出發(fā),通過反復測試,做出分析判斷,逐步找出故障的過程。對于一個復雜的系統(tǒng)來說,要在大量的元器件和線路中迅速,準確地找出故障是見很不容易的事。要通過對原理圖的分析,把系統(tǒng)分成不同功能的電路模塊,通過逐一測量找出故障模塊,然后再對故障模塊內部加以測量找出故障,查找故障,分析故障和排除故障,這樣可以提高我分析問題和解決問題的能力,因此,我把它看成是一次好的學習機會。通過電子線路課程設計,我了解了電子產(chǎn)品設計的一般過程,掌握電子線路設計的基礎方法和一般過程,能用仿真軟件對電子線路進行仿真設計,能用Portel等軟件繪制PCB圖,掌握了電子電路調試的方法,能獨立解決設計與調試過程中出現(xiàn)的一般問題,能正確選用元器件與材料,能對所設計電路的指標和性能進行測試并提出改進意見,能查閱各種有關手冊和正確編寫設計報告。致謝四年的讀書生活在這個季節(jié)即將劃上一個句號,而于我的人生卻只是一個逗號,我將面對又一次征程的開始。四年的求學生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付梓之際,思緒萬千,心情久久不能平靜。偉人、名人為我所崇拜,可是我更急切地要把我的敬意和贊美獻給我的論文指導老師胡勁老師和陳善寶老師,在我迷惑不解的時候給我指點迷津,他認真負責的態(tài)度使我印象很深刻。我不是最出色的學生,而您們卻是我最尊敬的老師。您們治學嚴謹,學識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹立了宏偉的學術目標,領會了基本的思考方式,從論文題目的選定到論文寫作的指導,經(jīng)由您們悉心的點撥,再經(jīng)思考后的領悟,常常讓我有“山重水復疑無路,柳暗花明又一村”。在論文即將完成之際,我的心情無法平靜,感謝我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報,你們永遠健康快樂是我最大的心愿。我還要要感謝所有關心過我,幫助過我的同學,他們在我成長過程中給予了我很大的幫助。我還要感謝我的大學,是它給我知識和精神上的財富,這比什么都重要。本文能夠成功的完成,讓我獲得了豐富的理論知識,極大地提高了實踐能力。參考文獻[1]沙占友.集成溫度傳感器原理與應用.北京:機械工業(yè)出版社,2002[2]劉君華.智能傳感器系統(tǒng).西安:西安電子科技大學出版社,1999[3]沙占友.智能化傳感器原理與應用.北京:電子工業(yè)出版社,2004[4]趙負圖.傳感器集成電路手冊.北京:化學工業(yè)出版社,2002[5]張毅剛.MCS-51單片機原理及應用.哈爾濱:哈爾濱工業(yè)大學出版社,2004[6]李玉峰,倪虹霞MCS-51系列單片機原理與接口技術.北京:人民郵電出版社,2004[7]林伸茂.8051單片機徹底研究經(jīng)驗篇.北京:人民郵電出版社,2004[8]沙占友.單片機外圍電路設計.北京:電子工業(yè)出版社,2003[9]何希才.傳感器及其應用電路.北京:電子工業(yè)出版社,2001[10]康華光.電子科技基礎.(第五版).北京高等教育出版社,2006[11]沈任元.吳勇.常用電子元器件簡明手冊.機械工業(yè)出版社,2006[12]PaulR.Gray.AnalogMOSIntegratedCircuits.InstofElectrical.2009[13]AT89C51DATASHEEPPhilipsSemiconductors1999.

[14]Vizimuller,PRFdesignguide-systems,circuits,andequations’(ArtechHouse,Boston,MA,1995)[15]石明江,顧亞雄,張禾,.單片機原理與應用課程教學改革與實踐[J].計算機教育,2011,(6).[16]翟永前,蔣芳芳,.基于MSP430單片機的智能數(shù)字電壓表設計[J].化工自動化及儀表,2011,(3).[17]許超,吳新杰,張丹,.基于Proteus和Keil的單片機課程教學改革[J].遼寧大學學報(自然科學版),2011,(1).附錄一仿真實現(xiàn)圖附錄二部分程序#include<reg52.h>#include<define.h>#include<LCD.h>#include<math.h>#include<INTRINS.H>#include<ds18b20.h>#include<1302.h>#include<EEPROM.h>voidmain(){ init_LCD(); init(); set=read_add(23); write_set(set); while(1){ keyscan(); if(flag1==0) { miao=Read1302(READ_SECOND); write_sfm(12,miao); fen=Read1302(READ_MINUTE); write_sfm(9,fen); shi=Read1302(READ_HOUR); write_sfm(6,shi); }if(flag==1) { if(flag_get==1)//定時讀取當前溫度 { temp=ReadTemperature(); if(temp&0x8000) { write_com(0x80+0x40+9); write_data('-'); temp=~temp;//取反加1 temp+=1; } else { write_com(0x80+0x40+9); write_data(''); } TempH=temp>>4; TempL=temp&0x0F; TempL=TempL*6/10;//小數(shù)近似處理 display(); LED(); } }}}voidinit_LCD(){ RW=0; E=0; write_com(0x38);//打開顯示模式 write_com(0x0c);//打開顯示,顯示光標不閃爍 write_com(0x06);//設置字符顯示方式,地址加1 wri

溫馨提示

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

評論

0/150

提交評論