基于51單片機(jī)的最小系統(tǒng)的數(shù)字體溫計(jì)設(shè)計(jì)說明_第1頁
基于51單片機(jī)的最小系統(tǒng)的數(shù)字體溫計(jì)設(shè)計(jì)說明_第2頁
基于51單片機(jī)的最小系統(tǒng)的數(shù)字體溫計(jì)設(shè)計(jì)說明_第3頁
基于51單片機(jī)的最小系統(tǒng)的數(shù)字體溫計(jì)設(shè)計(jì)說明_第4頁
基于51單片機(jī)的最小系統(tǒng)的數(shù)字體溫計(jì)設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、. . . . 基于STC89C52最小系統(tǒng)的數(shù)字體溫計(jì)設(shè)計(jì)摘 要現(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器種類日益繁多,數(shù)字溫度傳感器更因適用于各種微處理器接口組成的自動溫度控制系統(tǒng)具有可以克服模擬傳感器與微處理器接口時需要信號調(diào)理電路和A/D轉(zhuǎn)換器的弊端等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)控制、電子體溫計(jì)、測溫儀器等各種溫度控制系統(tǒng)中。智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶。它們部都包含溫度傳感器、A/D轉(zhuǎn)換器、信

2、號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲器(RAM)和只讀存儲器(ROM)。智能溫度傳感器的特點(diǎn)是能輸出溫度數(shù)據(jù)與相關(guān)的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過軟件來實(shí)現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。對某些智能溫度傳感器而言,單片機(jī)還可通過相應(yīng)的寄存器來設(shè)定其A/D轉(zhuǎn)換速率(典型產(chǎn)品為MAX6654),分辨力與最大轉(zhuǎn)換時間(典型產(chǎn)品為DS1624)。隨著時代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普與到我們生活,工作,科研,各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),采用單片機(jī)控制已經(jīng)成為了一種潮流。本文將介紹

3、一種基于STC89C52單片機(jī)控制的數(shù)字體溫計(jì),配合采用DS18B20為溫度采集模塊,HS1602液晶顯示模塊顯示結(jié)果,另外用MAX232模塊進(jìn)行電壓轉(zhuǎn)換進(jìn)行程序的燒寫,實(shí)現(xiàn)對體溫的采集與再現(xiàn)。關(guān)鍵詞:52單片機(jī),DSI8B20,HS1602,體溫計(jì)28 / 33THE DIGITAL THERMOMETERS DESIGN BASED ON STC89C52S MINUIMUM SYSTEMABSTRACT Modern information technology is based on the three information collection (ie, sensor techno

4、logy), information transfer (ICT) and information processing (computer technology). Sensor belongs to the forefront of cutting-edge information technology products, especially the increasingly diverse types of temperature sensors, digital temperature sensor is more suitable for a variety of micropro

5、cessor interface for the composition of the automatic temperature control system can overcome the analog sensors and signal conditioning required for microprocessor interfacing circuit and A / D converter defects, etc., are widely used in industrial control, electronic thermometer, thermometer, etc.

6、 of various temperature control systems. Smart temperature sensor (also known as digital temperature sensor) in the mid-1990s, came out. It is the micro-electronics technology, computer technology and automated testing techniques (ATE) of the crystal. They contain the internal temperature sensor, A

7、/ D converter, signal processor, memory (or registers) and the interface circuit. Some products are also with the multiplexer, the central controller (CPU), random access memory (RAM) and read-only memory (ROM). Smart temperature sensor is characterized by the temperature data can be exported and th

8、e related amount of temperature control, fit a variety of microcontrollers (MCU); and it is based on the hardware to achieve through software testing capabilities, and its degree depends on intelligent in the software development level. Some smart temperature sensor, the controller can also register

9、 through the appropriate set of its A / D conversion rate (typical products MAX6654), the maximum resolution and conversion time (typical product DS1624). With the progress and development, microcontroller technology has spread to our lives, work, research in various fields, has become a relatively

10、mature technology, using SCM has become a trend. This article describes a microcontroller based control of digital thermometers STC89C52, with the use of DS18B20 the temperature acquisition module, HS1602 liquid crystal display module displays the results, another module with a MAX232 voltage conver

11、sion, to achieve the temperature of the acquisition and reproduction.Keywords: 52 microcontroller; DSI8B20; HS1602; thermometer目 錄1引言12總體設(shè)計(jì)方案32.1方案論證32.1.1單片機(jī)系統(tǒng)32.1.2電源模塊32.1.3溫度傳感器32.1.4顯示模塊42.1.5確定方案42.2總體設(shè)計(jì)43 硬件設(shè)計(jì)53.1 單片機(jī)系統(tǒng)53.1.1單片機(jī)最小系統(tǒng)73.1.2 復(fù)位電路83.1.3 時鐘振蕩電路83.1.4電源模塊93.2溫度傳感器模塊93.2.1 DS18B20原理

12、93.2.2 DS18B20電路連接133.3 液晶顯示模塊133.4串口通信模塊164軟件設(shè)計(jì)184.1 軟件流程184.2 DS18B20模塊程序設(shè)計(jì)194.2.1 程序流程194.2.2 程序源碼194.3 HS1602驅(qū)動程序設(shè)計(jì)214.3.1 程序流程214.3.2 程序源碼224.5 RS-232-C串口通信模塊程序設(shè)計(jì)234.5.1 單片機(jī)端通信程序設(shè)計(jì)235測試與結(jié)果分析256結(jié)語26參考文獻(xiàn)27附錄281引言體溫計(jì)是在溫度計(jì)的基礎(chǔ)上研制成功的。1714年,德國物理學(xué)家華倫海特,初期研制的體溫表是把盛著酒精的玻璃管放在冰雪和鹽的混合物里,看玻璃管酒精降到哪里,刻上一條線,然后把

13、表含入口中,看酒精升到哪里,又刻上一條線。把這兩條線作為固定點(diǎn),再把兩條線之間分成096。這就是初期的體溫計(jì)。后來,華海倫特把冰點(diǎn)定為32,沸點(diǎn)為212,發(fā)明了華氏溫標(biāo)。1742年又發(fā)明了0100的攝氏溫標(biāo),從此實(shí)現(xiàn)了體溫計(jì)的刻度標(biāo)準(zhǔn)化。1865年,英國的阿爾伯特發(fā)明了一種很有特色的體溫計(jì),特點(diǎn)是儲存水銀的細(xì)管里有一狹道,當(dāng)體溫計(jì)接觸人體后,水銀很快升到人體實(shí)際體溫處,取出后水銀柱不下降,而是在狹道處斷開,使狹道以上部分始終保持體溫度數(shù)。這種溫度計(jì)受到了臨床的歡迎和普與應(yīng)用。但是隨著科技的進(jìn)步,如今,又出現(xiàn)了多種類型的體溫計(jì)。電子式體溫計(jì) 隨著科學(xué)技術(shù)的發(fā)展,目前已經(jīng)出現(xiàn)很多類型的新式體溫計(jì)。

14、電子式體溫計(jì)利用某些物質(zhì)的物理參數(shù)(如電阻、電壓、電流等)與環(huán)境溫度之間存在的確定關(guān)系,將體溫以數(shù)字的形式顯示出來,讀數(shù)清晰,攜帶方便。其不足之處在于示值準(zhǔn)確度受電子元件與電池供電狀況等因素影響,不如玻璃體溫計(jì)。 耳溫體溫計(jì) 體溫計(jì)一般在腋下、口腔、直腸等處使用,在實(shí)際應(yīng)用中,人們普遍感覺不方便或不舒服。耳式體溫計(jì)是通過測量耳朵鼓膜的輻射亮度,非接觸地實(shí)現(xiàn)對人體溫度的測量。只需將探頭對準(zhǔn)耳道,按下測量鈕,僅有幾秒鐘就可得到測量數(shù)據(jù),非常適合急重病患者、老人、嬰幼兒等使用。 片式體溫計(jì)不斷發(fā)展的新技術(shù)又帶來了一種非常奇特的體溫計(jì),可以叫片式體溫計(jì)或點(diǎn)陣式體溫計(jì)。這種體溫計(jì)只有名片大小,長6-7厘

15、米、寬0.5厘米左右,上面布滿了一些附有數(shù)字的排列整齊的圓點(diǎn)。在進(jìn)行體溫測試后,某一數(shù)值以下的圓點(diǎn)會全都變暗,而其余圓點(diǎn)顏色不變,使用者即可根據(jù)上述變化確定體溫。這種溫度計(jì)價格不高,體積較小,便于攜帶和儲存,本身污染非常小,特別適用于醫(yī)療機(jī)構(gòu),可以一次性使用,避免交叉感染。 紅外體溫計(jì)紅外體溫計(jì)是通過接受紅外能量而設(shè)計(jì)的小儀器,其核心部件是一種叫紅外探測器的光電元件,它可以將人體的紅外輻射轉(zhuǎn)變?yōu)殡妼W(xué)信號,再經(jīng)過電子學(xué)放大和處理成體溫?cái)?shù)字顯示出來。通過探測鼓膜與周圍組織發(fā)射的紅外線熱量,再通過置微電腦晶片快速計(jì)算出準(zhǔn)確的體溫,并且顯示到小數(shù)點(diǎn)后一位,解決了傳統(tǒng)體溫計(jì)刻度難以辨認(rèn)的困擾。全新一秒體

16、溫計(jì)能在一秒鐘掃描八次體溫,并顯示出最高的一個溫度讀數(shù),更加確保了測量的準(zhǔn)確。 隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設(shè)計(jì)所介紹的數(shù)字體溫計(jì),具有實(shí)用性強(qiáng)、可靠性高,測量精度準(zhǔn)確、測量速度快,讀數(shù)方便等優(yōu)點(diǎn),輸出溫度采用數(shù)字顯示,在設(shè)計(jì)中控制器使用STC89C52單片機(jī),溫度傳感器使用DS18B20,用HS1602液晶顯示器實(shí)現(xiàn)溫度顯示,用MAX232與串口實(shí)

17、現(xiàn)數(shù)據(jù)傳送,用USB接口實(shí)現(xiàn)供電。2總體設(shè)計(jì)方案2.1方案論證2.1.1單片機(jī)系統(tǒng)目前比較流行51系列單片機(jī)和凌陽單片機(jī)。AT89C51單片機(jī)需要用仿真器來實(shí)現(xiàn)軟硬件的調(diào)試,較為繁瑣;STC89C52八位單片機(jī)除具有AT89C51單片機(jī)所有的優(yōu)點(diǎn)外,具有更大的程序存儲空間,可在線仿真的功能,方便調(diào)試。因此,選用STC89C52八位單片機(jī)作為溫度計(jì)的主控部分。2.1.2電源模塊采用普通的直流電源實(shí)現(xiàn)電路簡單,而且采用集成電源芯片設(shè)計(jì)的直流電源電壓比較穩(wěn)定,完全滿足系統(tǒng)各模塊的供電要求,但是普通直流電源體積比較大,變壓器的散熱對測溫精度也有影響,所以采用USB接口直接由電腦供電,完全滿足STC89

18、C52和DS18B20等各模塊的工作電壓圍。2.1.3溫度傳感器采用專用的集成溫度傳感器(如AD590、LM35/LM45)和數(shù)字化溫度傳感器(DS18B20、DS1620)測溫,數(shù)字化溫度傳感器具有接口簡單、直接數(shù)字量輸出、精確度高等優(yōu)點(diǎn)。DS18B20是DALLAS公司的最新單線數(shù)字溫度傳感器,它是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),它的測量溫度圍為55125,在1085圍,精度為0.5,現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消

19、費(fèi)電子產(chǎn)品等,DS18B20支持35.5V的電壓圍,使系統(tǒng)設(shè)計(jì)更靈活、更方便、更便宜、體積更小。DS18B20可以程序設(shè)定912位的分辨率,精度為0.5,分辨率設(shè)定與用戶設(shè)定的報警溫度存儲在EPROM中,掉電后依然保存。因此,本方案選用DS18B20作為溫度測量傳感器。2.1.4顯示模塊由于系統(tǒng)要現(xiàn)測量體溫,要顯示的信息不僅可以是溫度值,還可以是簡單的圖形。所以采用HS1602液晶顯示模塊顯示測溫結(jié)果。2.1.5確定方案為了不失通用性和智能性,本方案采用STC89C52單片機(jī)作為控制器,單總線溫度傳感器DS18B20進(jìn)行溫度采集。電源部分并沒有采用普通的直流電源而利用USB接口通過電腦供電,完

20、全滿足STC89C52和DS18B20等各模塊的工作電壓圍。并且顯示模塊使用HS1602液晶顯示器。2.2總體設(shè)計(jì)本方案設(shè)計(jì)的系統(tǒng)由單片機(jī)系統(tǒng)、溫度傳感器模塊、液晶顯示模塊、單片機(jī)復(fù)位電路、串口通信模塊和電源模塊組成,其總體架構(gòu)如圖2.1。主 控 制 器液 晶 顯 示溫 度 傳 感 器單片機(jī)復(fù)位時鐘振蕩串口模塊 圖2.1總體設(shè)計(jì)方框圖Fig.2.1 Block diagram of the overall design3 硬件設(shè)計(jì)3.1 單片機(jī)系統(tǒng)方案采用STC89C52單片機(jī)作為控制器,完成所有的控制功能,包括:溫度傳感器DS18B20的初始化和讀取溫度值、HS1602液晶模塊驅(qū)動、溫度存儲

21、與讀取、和PC機(jī)的串口通信。STC89C52是一個低功耗,高性能CMOS 8位單片機(jī),具有如下特點(diǎn):40個引腳,4k Bytes Flash片程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片時鐘振蕩器。1主要特性: 8031 CPU與MCS-51 兼容 4K字節(jié)可編程FLASH存儲器(壽命:1000寫/擦循環(huán)) 全靜態(tài)工作:0Hz-24KHz 三級程序存儲器鎖定 128*8位部RAM 32條可編程I/O線 兩個16位定時器/計(jì)數(shù)器 6個中

22、斷源 可編程串行通道 低功耗的閑置和掉電模式 片振蕩器和時鐘電路2管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于部上拉的緣故。在

23、FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。P2口:P2口為一個部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫

24、入“1”后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。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ù)存儲器讀選通)P3口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的

25、地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有部程序存儲器。注意加密方式1時,/EA將部鎖定為RESET;當(dāng)/EA端保持高電平時,此間部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)

26、。XTAL1:反向振蕩放大器的輸入與部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.1.1單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)應(yīng)用是指僅使用單片機(jī)部資源輔以必須的外圍電路所構(gòu)建的簡單的應(yīng)用系統(tǒng)。它包括兩方面的容:單片機(jī)的選擇和單片機(jī)最小系統(tǒng)的設(shè)計(jì)。通過單片機(jī)的選擇,最大限度滿足應(yīng)用系統(tǒng)對硬件資源的要求。最小應(yīng)用系統(tǒng)設(shè)計(jì)則是指單片機(jī)最基本的、最通常的外圍電路設(shè)計(jì)。任何一個復(fù)雜的應(yīng)用系統(tǒng)都是以最小應(yīng)用系統(tǒng)為基礎(chǔ),通過搭接外部功能模塊的方法實(shí)現(xiàn)的。單片機(jī)最小系統(tǒng)的功能主要如下:單片機(jī)能夠運(yùn)行用戶程序用戶可以復(fù)位單片機(jī)具有相對強(qiáng)大的外部擴(kuò)展功能圖3.1 單片機(jī)最小系統(tǒng)原理框圖Fig.3.1Smal

27、lest Microcontroller system block diagram3.1.2 復(fù)位電路在單片機(jī)系統(tǒng)中,一般需要一個硬件復(fù)位電路,用于用戶的手動復(fù)位。常用的復(fù)位電路由一個電阻、一個電容和一個按鈕組成,其原理圖如圖所示。在接通電源后,自動實(shí)現(xiàn)自動復(fù)位操作。在接通電源條件下,通過按鈕操作是單片機(jī)實(shí)現(xiàn)復(fù)位。上電自動復(fù)位時通過外部復(fù)位電容來實(shí)現(xiàn)的,手動復(fù)位通過單片機(jī)復(fù)位引腳經(jīng)電阻和電源接通而實(shí)現(xiàn)的。圖3.2 復(fù)位電路Fig.3.2 Reset Circuit3.1.3 時鐘振蕩電路在單片機(jī)系統(tǒng)中,一般在單片機(jī)引腳XTAL1和XTAL2之間接一個晶振和兩個電容,這樣就構(gòu)成了部振蕩方式,由于

28、在單片機(jī)部有一個高增益反相放大器,外接一個晶振后,構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。其電路圖如圖所示。圖3.3 時鐘振蕩電路Fig.3.3 Oscillation circuit3.1.4電源模塊本方案采用USB口通過電腦直接供電,電路連接簡單易實(shí)現(xiàn)。圖3.4 電源電路Fig.3.1 Power Modules3.2溫度傳感器模塊3.2.1DS18B20原理DS18B20 采用3 腳TO-92封裝或8 腳SOIC 封裝,管腳排列如圖3所示。圖中GND 為地,DQ為數(shù)據(jù)輸入/輸出端(即單線總線),該腳為漏極開路輸出,常態(tài)下呈高電平,Vcc是外部+5V 電源端,不用時應(yīng)接地,NC 為空腳。圖3.

29、5 DS18B20的外部結(jié)構(gòu)Fig.3.5 DS18B20 external structureDS18B20部主要包括寄生電源、溫度傳感器、64 位激光ROM 單線接口、存放中間數(shù)據(jù)的高速暫存器(含便箋式RAM),用于存儲用戶設(shè)定的溫度上下限值的TH 和TL 解發(fā)器存儲與控制邏輯、8 位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等七部分,部結(jié)構(gòu)如圖3.6。圖3.6 DS18B20部結(jié)構(gòu)Fig.3.6 DS18B20 internal structure寄生電源由二極管VD1、VD2 和寄生電容C 組成,電源檢測電路用于判定供電方式,寄生電源供電時,VDD端接地,器件從單線總線上獲取電源,在DQ線呈低電平

30、時,改由C上的電壓Vc繼續(xù)向器件供電。該寄生電源有兩個優(yōu)點(diǎn):第一,檢測遠(yuǎn)程溫度時無需本地電源;第二,缺少正常電源時也能讀ROM。若采用外部電源VDD,則通過VD2 向器件供電。光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,序列開始8位(28H)是產(chǎn)品類型標(biāo)號,接著的48位是DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不一樣,這樣就可以實(shí)現(xiàn)一根總線上掛接多個DS18B20的目的。DS18B20 測量溫度時使用特有的溫度測量技術(shù)。其部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)

31、定的頻率信號f0,高溫度系數(shù)振蕩器則將被測溫度轉(zhuǎn)換成頻率信號f。當(dāng)計(jì)數(shù)門打開時,DS18B20 對f0 計(jì)數(shù),計(jì)數(shù)門開通時間由高溫度系數(shù)振蕩器決定。芯片部還有斜率累加器,可對頻率的非線性予以被償。測量結(jié)果存入溫度寄存器中。一般情況下的溫度值應(yīng)為9 位(符號點(diǎn)1位),但因符號位擴(kuò)展成高8 位,故以16 位編碼形式讀出,表3.1給出了溫度和數(shù)字量的關(guān)系。表3.1 DS1820 溫度數(shù)字對應(yīng)關(guān)系表Table 3.1 DS1820 digital temperature mapping tableDS18B20溫度傳感器的部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,后者存放高溫

32、度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的容是溫度的低8位,第二個字節(jié)是溫度的高8位,第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的容在每一次上電復(fù)位時被刷新,第六、七、八個字節(jié)用于部計(jì)算,第九個字節(jié)是冗余檢驗(yàn)字節(jié),如表3.2所示。表3.2 DS18B20暫存器分布寄存器容字節(jié)地址溫度最低數(shù)字位0溫度最高數(shù)字位1高溫限制2低溫限制3保留4保留5計(jì)數(shù)剩余值6每度計(jì)數(shù)值7CRC校驗(yàn)8該字節(jié)各位的意義為TM R1 R0 1 1 1 1 1 ,低五位一直都是1 ,TM是測試模式位,用于設(shè)置

33、DS18B20在工作模式還是在測試模式,在DS18B20出廠時該位被設(shè)置為0,用戶不用改動,R1和R0用來設(shè)置分辨率,DS18B20出廠時被設(shè)置為12位,分辨率設(shè)置如表3.3所示。表3.3 分辨率設(shè)置表Table 3.3 resolution settings tableR1R0分辨率溫度最大轉(zhuǎn)換時間009位93.75ms0110位187.5ms1011位375ms1112位750ms根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操

34、作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。ROM命令令和暫存器的命令如表3.4。表3.4 DS18B20暫存器的命令指令說明溫度轉(zhuǎn)換(44H)啟動在線DS1820做溫度A/D轉(zhuǎn)換讀數(shù)據(jù)(BEH)從高速暫存器讀9bits溫度值和CRC值寫數(shù)據(jù)(4EH)將數(shù)據(jù)寫入高速暫存器的第2和第3字節(jié)中復(fù)制(48H)將高速暫存器中第2和第3字節(jié)復(fù)制到EERAM讀EERAM(B8H)將EERAM容寫入高速暫存器中第2和第3字節(jié)讀電源供電方式(B4H)了解DS1820的供電方式3.2.2 D

35、S18B20電路連接由于DS18B20 工作在單總線方式,其硬件接口非常簡單,僅需利用系統(tǒng)的一條I/ O線與DS18B20的數(shù)據(jù)總線相連即可,如圖3.7所示。圖3.7 DS18B20電路Fig.3.7DS18B20 circuit3.3 液晶顯示模塊HS1602采用標(biāo)準(zhǔn)的16腳接口,其中VSS為地電源,VDD接5V正電源,V0為液晶顯示模塊對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,可以通過一個10K的電位器調(diào)整對比度。RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。RW為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作,當(dāng)RS和RW共同為低電平時可以寫入指令

36、或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。BLA和BLK為背光電源,BLA接5V正電源,BLK接GND。D0D7為8位雙向數(shù)據(jù)線。用HS1602液晶顯示模塊顯示字符或字符串之前必須對其進(jìn)行初始化,HS1602液晶顯示模塊的初始化流程如下:初始化過程(復(fù)位過程)延時15ms寫指令38H(不檢測忙信號)延時5ms寫指令38H(不檢測忙信號)延時5ms寫指令38H(不檢測忙信號)(以后每次寫指令、讀/寫數(shù)據(jù)之前均需檢測忙信號)寫指令38H:顯示模式設(shè)置寫指令38H:顯示關(guān)閉寫指令01

37、H:顯示清屏寫指令06H:顯示光標(biāo)移動設(shè)置寫指令0CH:顯示開關(guān)與光標(biāo)位置HS1602液晶顯示模塊可以和單片機(jī)STC89C52直接接口,電路如圖3.8所示。圖3.8 STC89C52和HS1602液晶模塊連接電路Fig.3.8STC89C52 and HS1602 LCD modules circuit3.4串口通信模塊RS-232C標(biāo)準(zhǔn)(協(xié)議)的全稱是EIA-RS-232C標(biāo)準(zhǔn),其中EIA(Electronic Industry Association)代表美國電子工業(yè)協(xié)會,RS(recommended standard)代表推薦標(biāo)準(zhǔn),232是標(biāo)識號,C代表RS232的最新一次修改,在這之前

38、,有RS232B、RS232A,它規(guī)定連接電纜和機(jī)械、電氣特性、信號功能與傳送過程。RS-232C適合于數(shù)據(jù)傳輸速率在020000b/s圍的通信。PC機(jī)常用DB-9連接器作為提供多功能I/O卡或主板上COM1和COM2兩個串行接口的連接器,它只提供異步通信的9個信號,9針串口功能見表3.9,并且對電纜長度也有要求: RS-232C標(biāo)準(zhǔn)規(guī)定,若不使用MODEM,在碼元畸變小于4%的情況下,DTE和DCE之間最大傳輸距離為15m(50英尺)??梢娺@個最大的距離是在碼元畸變小于4%的前提下給出的,為了保證碼元畸變小于4%的要求,接口標(biāo)準(zhǔn)在電氣特性中規(guī)定,驅(qū)動器的負(fù)載電容應(yīng)小于2500pF。表3.5

39、9針串口功能一覽表針腳功能針腳功能1載波檢測6數(shù)據(jù)準(zhǔn)備完成2接收數(shù)據(jù)7發(fā)送請求3發(fā)送數(shù)據(jù)8發(fā)送清除4數(shù)據(jù)終端準(zhǔn)備完成9振鈴指示5信號地線本方案對RS-232-C接口采用3線制(RXD、TXD、GND)軟握手的零MODEM方式進(jìn)行單片機(jī)和PC之間的數(shù)據(jù)通信,即PC機(jī)和單片機(jī)的發(fā)送數(shù)據(jù)線(TXD)與接收數(shù)據(jù)(RXD)交叉連接,二者的地線(GND)直接相連,其它信號線如握手信號線均不用,而采用軟件握手。但由于RS-232-C的邏輯電對地是對稱的,與TTL、MOS 邏輯電平完全不同,邏輯0電平規(guī)定為+5 +15V之間,邏輯1是電平為-5 -15V之間,因此利用MAX232芯片進(jìn)行電平轉(zhuǎn)換,電路連接如圖

40、3.9。圖3.9 RS-232-C通信連接電路Fig.3.9RS-232-C communication link circuit4軟件設(shè)計(jì)4.1 軟件流程按照硬件設(shè)計(jì)中的模塊劃分,軟件設(shè)計(jì)可以分為三部分:DS18B20模塊程序設(shè)計(jì)、HS1602驅(qū)動程序設(shè)計(jì)、單片機(jī)主程序設(shè)計(jì)。主流程如圖4.1。圖4.1 數(shù)字體溫計(jì)主程序流程圖Fig.4.1Digital thermometers main program flow chart4.2 DS18B20模塊程序設(shè)計(jì)DS18B20模塊程序主要完成DS18B20的初始化和溫度的讀取操作。程序流程如圖4.2。DS18B20初始化結(jié)束溫度轉(zhuǎn)換跳過ROM匹配

41、延時DS18B20是否存在?跳過ROM匹配讀暫存器轉(zhuǎn)換為顯示碼是否圖4.2 DS18B20模塊程序流程圖Fig.4.2DS18B20 module program flow chart4.3 HS1602驅(qū)動程序設(shè)計(jì)HS1602液晶驅(qū)動主要完成HS1602的初始化以與字符和字符串的顯示。流程如圖4.3。1602液晶模塊初始化開始顯示圖4.3 HS1602液晶驅(qū)動程序流程圖Fig.4.3HS1602 LCD driver flow chart4.5 RS-232-C串口通信模塊程序設(shè)計(jì)STC89S52單片機(jī)串行口是全雙工串行通信口,有4 種工作方式:方式0作移位寄存器使用;方式1是波特率可變的8

42、位UART;方式2是波特率固定為兩種的9位UART;方式3是波特率可變的9位UART。在與PC機(jī)通信時我們選用方式1來循環(huán)向PC機(jī)發(fā)送數(shù)據(jù)。程序流程如圖4.4。初始化串口發(fā)送同步標(biāo)志位發(fā)送高8位數(shù)據(jù)發(fā)送低8位數(shù)據(jù)圖 4.4單片機(jī)串口通信程序流程圖5測試與結(jié)果分析6結(jié) 語經(jīng)過兩個多月的努力,基于STC89C52單片機(jī)最小系統(tǒng)數(shù)字體溫計(jì)設(shè)計(jì) 論文終于完成,在整個設(shè)計(jì)過程中,出現(xiàn)過很多的難題,但都在老師和同學(xué)的幫助下順利解決了,在不斷的學(xué)習(xí)過程中我體會到:寫論文是一個不斷學(xué)習(xí)的過程,從最初剛寫論文時對單片機(jī)的模糊認(rèn)識到最后能夠?qū)纹瑱C(jī)有深入的了解,我體會到實(shí)踐對于學(xué)習(xí)的重要性。以前只是聽說過單片機(jī)這

43、個名詞,但并沒有深入的學(xué)習(xí),通過做這次的設(shè)計(jì),不僅讓我了解到了單片機(jī)的功能,并且培養(yǎng)了我嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)態(tài)度與實(shí)踐能力。雖然,我的設(shè)計(jì)還有不足之處,但是看著自己繪制的電路圖,以與設(shè)計(jì)成品,心心中充滿了喜悅之情,因?yàn)樗Y(jié)了我一點(diǎn)一滴的心血。通過學(xué)年論文設(shè)計(jì),我深刻體會到要做好一個完整的論文與設(shè)計(jì)的理論功底、高深的學(xué)術(shù)造詣、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和胸懷寬宏的高尚品質(zhì),讓我受益匪淺,終身難忘。希望這次的經(jīng)歷能在以后學(xué)習(xí)中激勵我繼續(xù)進(jìn)步。參考文獻(xiàn)1 洪潤等,電子線路與電子技術(shù),清華大學(xué),2005.2 王松武等,電子創(chuàng)新設(shè)計(jì)與實(shí)踐,國防工業(yè),2005.3 建忠,單片機(jī)原理與應(yīng)用,電子科技大學(xué),2002.4 黃智偉等

44、,全國大學(xué)生電子設(shè)計(jì)競賽訓(xùn)練教程,電子工業(yè),2004.5 樊昌信等.通信原理.,國防工業(yè),2001.6 STC89C52.PDF.7 DS18B20.PDF.8 HS1602.PDF.9 何希才,新型集成電路與應(yīng)用實(shí)例,科學(xué),2002.10 朝青,理與接口技術(shù)(簡明修訂版),航空航天大學(xué),1998.11 常敏等,51單片機(jī)應(yīng)用程序開發(fā)與實(shí)踐,電子工業(yè),2009.12 戴仙金,51單片機(jī)與其C語言程序開發(fā)實(shí)例,清華大學(xué),2008附 錄附錄1 總體完全電路圖附錄2 各模塊程序源碼1 DS18B20模塊程序源碼uchar DataH;uchar DataL;unsigned long Data;vo

45、id Delay (uchar us) while (-us);bit init_18b20()uchar n=0;bit flag=0;DQ=1;_nop_();DQ=0;Delay(255);Delay(20); DQ=1;Delay(55);if(DQ=0) flag=1; else flag=0; Delay(100); DQ=1;return flag;void write1820_byte (uchar wr) uchar i; for (i=0;i=1; uchar read1820_byte (void) uchar i,u=0; for(i=0;i=1; DQ=1; if(D

46、Q=1) u|=0x80; Delay(18);/40us return(u); void DataCoding(unsigned char ddH , unsigned char ddL)Data = ddH * 256 + ddL;Data = Data * 625;void Get_temperarue(void)if (init_18b20 ()write1820_byte (0xcc); /skip rom write1820_byte (0x44); /temp convertDelay(35);if (init_18b20 () write1820_byte (0xcc); /s

47、kip rom write1820_byte (0xbe); /read tempDataL = read1820_byte();DataH = (read1820_byte()&0x0f);DataCoding( DataH, DataL );2 HS1602液晶模塊程序源碼/液晶初始化void lcd_init(void) delay_nms(15); lcd_write_command(0x38,0);/顯示模式設(shè)置三次(此時不管lcd空閑與否) delay_nms(5); lcd_write_command(0x38,0); delay_nms(5); lcd_write_comman

48、d(0x38,0); delay_nms(5);lcd_write_command(0x38,1);/顯示模式設(shè)置(從此之后均需lcd空閑) lcd_write_command(0x08,1);/顯示關(guān)閉 lcd_write_command(0x01,1);/顯示清屏 lcd_write_command(0x06,1);/顯示光標(biāo)移動設(shè)置 lcd_write_command(0x0c,1);/顯示開與光標(biāo)設(shè)置/寫指令函數(shù): E=高脈沖 RS=0 RW=0/ command為指令,wait_en指定是否要檢測LCD忙信號void lcd_write_command(unsigned char c

49、ommand,unsigned char wait_en) uchar xdata *dig; if(wait_en)wait_enable(); /若wait_en為1,則要檢測LCD忙信號,等待其空閑 dig=&DIGPORT; *dig=command;/寫數(shù)據(jù)函數(shù): E =高脈沖 RS=1 RW=0void lcd_write_data(unsigned char char_data)uchar xdata *dig; dig=&DIGPORT1; wait_enable(); /等待LCD空閑 *dig=char_data;/正常讀寫操作之前必須檢測LCD控制器狀態(tài)/E=1 RS=0 RW=1;DB7: 0 LCD控制器空閑,1 LCD控制器忙。/檢測忙信號,

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論