數(shù)字體溫計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)_第1頁(yè)
數(shù)字體溫計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)_第2頁(yè)
數(shù)字體溫計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)_第3頁(yè)
數(shù)字體溫計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)_第4頁(yè)
數(shù)字體溫計(jì)的設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(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ì)的設(shè)計(jì)大連理工大學(xué)城市學(xué)院 本科生畢業(yè)設(shè)計(jì)(論文) 學(xué) 院: 電子與自動(dòng)化學(xué)院 專 業(yè): 電子信息工程 學(xué) 生: 李 斌 指導(dǎo)教師: 李美花 完成日期: 2015年5月20號(hào) 大連理工大學(xué)城市學(xué)院本科生畢業(yè)設(shè)計(jì)(論文)數(shù)字體溫計(jì)的設(shè)計(jì)總計(jì) 畢業(yè)論文(論文) 54 頁(yè)插圖 34 幅表格 0 個(gè)摘 要隨著人們物質(zhì)生活水平的提高和科學(xué)技術(shù)的快速發(fā)展,采用微型控制器單片機(jī)控制是一個(gè)好的方向,它所帶來(lái)的便利是我們大家有目共睹的,在此數(shù)字體溫計(jì)就是一個(gè)非常典型的例子,但人們對(duì)它的要求越來(lái)越高,要做到為工作,科研,生活,提供更便捷的服務(wù),就需要從單片機(jī)技術(shù)開(kāi)始,向著數(shù)字化控制,智能化控制方向發(fā)展。

2、本設(shè)計(jì)主要研究了基于單片機(jī)的原理而實(shí)現(xiàn)的數(shù)字體溫計(jì)。設(shè)計(jì)分為硬件與軟件兩部分,其中硬件設(shè)計(jì)部分由數(shù)據(jù)采集模塊,數(shù)據(jù)處理模塊,體溫顯示模塊,按鍵及報(bào)警模塊,電源模塊組成。采用c51語(yǔ)言進(jìn)行編程,設(shè)計(jì)軟件流程,通過(guò)調(diào)用各個(gè)子程序來(lái)實(shí)現(xiàn)體溫計(jì)的功能。該設(shè)計(jì)應(yīng)用單片機(jī)技術(shù),實(shí)現(xiàn)了整體電路的設(shè)計(jì)及數(shù)據(jù)采集模塊,數(shù)據(jù)處理模塊,顯示模塊的整合,該設(shè)計(jì)可以實(shí)時(shí)監(jiān)測(cè)體溫,減少醫(yī)務(wù)人員的工作負(fù)擔(dān)。數(shù)字體溫計(jì)在設(shè)計(jì)上主要體現(xiàn)方便實(shí)用的特點(diǎn),操作起來(lái)簡(jiǎn)單,在很大程度上減少因測(cè)體溫帶來(lái)的一些不必要的麻煩,可以提高醫(yī)護(hù)人員 的工作效率,從而減少因測(cè)溫不準(zhǔn)確帶來(lái)一系列問(wèn)題。該數(shù)字體溫計(jì)與平時(shí)我們使用的體溫計(jì)相比,具有測(cè)溫范

3、圍廣,讀數(shù)準(zhǔn)確方便,并且攜帶方便,不易破碎,精度高,最重要的是節(jié)能環(huán)保。 關(guān)鍵詞:?jiǎn)纹瑱C(jī);數(shù)字體溫計(jì);溫度傳感器 abstractwith the development of the peoples livelihood and the science technology, to use the single chip microcomputer control is one of the goals that most people pursue. it is no doubt that the mcu contributes a lot to peoples life of which

4、 the digital thermometer is the most typical example. with the increasing demand for digital thermometer, people need to start by the single-chip microcomputer technology to provide more convenient facilities for peoples work, science technology, as well as their life and to develop the technology i

5、n the direction of digital control and the intelligent control.the design of this paper focus on the digital thermometer based on the fundamentals of 51-mono-chip computers. with the two parts of hardware and software, the former part was made up by data acquisition module, data processing module, t

6、emperature display module, key and alert module as well as the power module. on the other hand, the whole process of designing the software is to implement the thermometer function by calling each subroutine in light of the c51 programming language. data acquisition module, data processing module an

7、d the display module in application of the single-chip microcomputer technology which can also monitor the body temperature all the time and reduce the burden of the medical staff.on the whole, the digital thermometer mentioned above combines all the merits of easy reading, wide measure range, accur

8、acy, unbreakable and high precision compared to the traditional thermometers. key words: mono-chip computers;digital thermometer;ds18b20 目 錄摘 要i目 錄iii第1章 緒論11.1設(shè)計(jì)的目的及意義11.1.1設(shè)計(jì)論文的目的11.1.2設(shè)計(jì)論文的意義11.2課題研究任務(wù)及工作內(nèi)容21.2.1設(shè)計(jì)論文的任務(wù)21.2.2重點(diǎn)研究?jī)?nèi)容21.3 國(guó)內(nèi)外應(yīng)用現(xiàn)狀3第二章 數(shù)字體溫計(jì)總體設(shè)計(jì)方案42.1數(shù)字溫度計(jì)的設(shè)計(jì)方案42.2方案分析與論證:52.3方案的選擇52.

9、4 設(shè)計(jì)系統(tǒng)的組成6第三章 數(shù)字體溫計(jì)的硬件組成73.1 數(shù)字體溫計(jì)設(shè)計(jì)電路組成73.2 主控制芯片stc89c5273.2.1 stc89c52芯片的介紹:73.2.2 stc89c52的管腳配置和內(nèi)部結(jié)構(gòu)83.3單片機(jī)最小系統(tǒng)的設(shè)計(jì)103.4體溫?cái)?shù)據(jù)采集模塊133.4.1ds18b20的性能特點(diǎn)143.5溫度顯示模塊lcd1602153.5.1主要技術(shù)參數(shù)163.5.2引腳功能說(shuō)明163.6報(bào)警電路的實(shí)現(xiàn)173.7電源模塊17第四章 系統(tǒng)軟件設(shè)計(jì)194.1 keil-c51語(yǔ)言介紹194.2 keil c51的優(yōu)勢(shì)194.3程序流程圖204.4測(cè)溫模塊程序214.4.1讀溫度子程序214.

10、4.2溫度轉(zhuǎn)換命令子程序244.4.3計(jì)算溫度子程序264.5溫度顯示子程序294.6報(bào)警器程序設(shè)計(jì)32第五章 整體電路的設(shè)計(jì)以及仿真調(diào)試335.1 硬件電路仿真軟件335.2整體硬件電路圖的設(shè)計(jì)345.3 電路的仿真調(diào)試355.3.1仿真效果圖365.4 印刷電路板pcb的設(shè)計(jì)405.4.1 pcb設(shè)計(jì)的方案405.4.2 電路板的調(diào)試405.5 數(shù)字體溫計(jì)的實(shí)物制作以及調(diào)試415.5.1 制作流程415.5.2 實(shí)物調(diào)試42結(jié) 論43致 謝44iii第1章 緒論1.1設(shè)計(jì)的目的及意義1.1.1設(shè)計(jì)論文的目的 21世紀(jì)是數(shù)字化的社會(huì),一切向著智能化發(fā)展,產(chǎn)品的更新?lián)Q代的速度也是非常快,為了更

11、好地體現(xiàn)科技帶給我們的方便。為了提高醫(yī)護(hù)人員的工作效率,減少患者的痛苦及其時(shí)間,而針對(duì)市面上及部分醫(yī)院所使用的普通數(shù)顯體溫計(jì),準(zhǔn)確度不是很高,從而影響誤差比較大,基于這一現(xiàn)狀的,該數(shù)字體溫計(jì)由單片機(jī)芯片stc89c52,液晶屏lcd1602,ds18b20溫度傳感器,+5v電源直流,以及常見(jiàn)的電子元器件組成,其優(yōu)勢(shì)是其測(cè)量精度較高,成本比較低廉,而且有按鍵設(shè)置功能,同時(shí)可以根據(jù)醫(yī)護(hù)人員對(duì)體溫的監(jiān)測(cè)測(cè)定一個(gè)溫度區(qū)間,當(dāng)溫度超出溫度區(qū)間,報(bào)警器發(fā)出報(bào)警聲音,更加能監(jiān)護(hù)病情能快速準(zhǔn)確地測(cè)量人體體溫,與日常我們接觸到的水銀體溫計(jì)相比,具有測(cè)量時(shí)間短,讀數(shù)方便且精準(zhǔn),開(kāi)發(fā)成本低廉,有記憶功能,超出溫限蜂

12、鳴提示等優(yōu)點(diǎn),特別是智能型的數(shù)字體溫計(jì)不含化學(xué)物質(zhì)水銀,屬于環(huán)境友好型材料,特別適合于日常家庭,辦公場(chǎng)所,醫(yī)院,機(jī)場(chǎng)火車站等人流較多的場(chǎng)合使用。1.1.2設(shè)計(jì)論文的意義智能型數(shù)字溫度計(jì)與平時(shí)生活中所使用的體溫計(jì)相比,具有讀數(shù)便捷并且精準(zhǔn),同時(shí)可以通過(guò)按鍵設(shè)置溫度區(qū)間,當(dāng)?shù)陀诨蛘吒哂谌梭w正常溫度,蜂鳴器發(fā)出報(bào)警,便于監(jiān)測(cè)體溫變化,其輸出溫度采用數(shù)字液晶屏lcd顯示,主要用于對(duì)人體體溫的監(jiān)測(cè),便于及時(shí)做出措施。該設(shè)計(jì)主要介紹了溫度信號(hào)的采集然后傳送給單片機(jī)進(jìn)行處理,主要是溫度的監(jiān)測(cè)技術(shù)和單片機(jī)對(duì)信號(hào)的控制,以及對(duì)溫度信號(hào)的處理,然后做出判斷,單片機(jī)處理溫度以后進(jìn)行溫度的轉(zhuǎn)換,顯示在lcd1602上

13、,實(shí)時(shí)監(jiān)測(cè)體溫變化。監(jiān)測(cè)技術(shù)和科學(xué)技術(shù)的發(fā)展是離不開(kāi)的,現(xiàn)代化的監(jiān)測(cè)是往智能化,數(shù)字化發(fā)展,監(jiān)測(cè)是控制的基礎(chǔ),新型的傳感器的發(fā)展是解決檢測(cè)技術(shù)的根本,技術(shù)不斷的更新,一切向著精準(zhǔn)化,便捷化發(fā)展,給我們帶來(lái)的好處但是不可否認(rèn)的。從目前我國(guó)來(lái)看,溫度控制方面發(fā)展的很快,以前的水銀體溫計(jì),到熱電阻體溫計(jì),電子體溫計(jì),到現(xiàn)在的數(shù)字體溫計(jì),主要的因素是精確度的限制,目前體溫計(jì)中最重要是是它的靈敏度基本決定了溫度計(jì)的精度、測(cè)量范圍、控制范圍和用途等。1.2課題研究任務(wù)及工作內(nèi)容1.2.1設(shè)計(jì)論文的任務(wù) 熟練掌握單片機(jī)stc89c52的功能,掌握電子電路的一般設(shè)計(jì)方法和設(shè)計(jì)流程,學(xué)習(xí)簡(jiǎn)模擬單電路系統(tǒng)設(shè)計(jì),熟

14、練掌握微型控制器stc89c52,溫度傳感器ds18b20的使用方法,以及液晶顯示屏lcd1602的驅(qū)動(dòng)程序和顯示方法,仿真軟件protel和仿真軟件proteus和keil的使用方法,以及程序設(shè)計(jì)的流程,編程以后進(jìn)行仿真,硬件電路的焊接以及調(diào)試,完成數(shù)字體溫計(jì)電路的功能。1.2.2重點(diǎn)研究?jī)?nèi)容 電子產(chǎn)品的設(shè)計(jì),電路的整體設(shè)計(jì),微型控制器單片機(jī)的設(shè)計(jì)以及功能實(shí)現(xiàn),溫度傳感器ds18b20的使用,與單片機(jī)建立通信,將物理信號(hào)轉(zhuǎn)化成數(shù)字信號(hào),傳輸給單片機(jī)進(jìn)行處理,然后再驅(qū)動(dòng)液晶顯示屏lcd1602,并把實(shí)時(shí)溫度顯示在液晶屏上,程序的設(shè)計(jì)以及編寫、程序的仿真以及調(diào)試時(shí)重點(diǎn)研究?jī)?nèi)容。1.3 國(guó)內(nèi)外應(yīng)用

15、現(xiàn)狀最近隨著科技的發(fā)展,傳感器的使用越來(lái)越廣泛。國(guó)外傳感器技術(shù)起步比較早,發(fā)展的比較成熟,傳感器類型也比較多。最近幾十年,中國(guó)在傳感器這方面發(fā)展的比較快,溫度傳感器種類繁多,產(chǎn)品技術(shù)更新很快,向著智能化和科技化方向發(fā)展。現(xiàn)如今物聯(lián)網(wǎng)時(shí)代的到來(lái),在各類電子產(chǎn)品上傳感器的使用是越來(lái)越廣泛,未來(lái)的發(fā)展趨勢(shì)是物物相連,而傳感器也向著科技化,智能化發(fā)展,未來(lái)的時(shí)代各類新型傳感器將成為電子產(chǎn)品的主要組成部分。本論文主要介紹的是溫度傳感器,溫度傳感器的技術(shù)發(fā)展的越來(lái)越成熟,技術(shù)的不斷更新,向著更便捷,更實(shí)用方向發(fā)展。溫度傳感器在各種場(chǎng)合使用范圍廣,數(shù)量種類比較多,居各類傳感器之首。溫度傳感器的發(fā)展大致經(jīng)歷了

16、以下3個(gè)階段: 第一階段:傳統(tǒng)的分立式溫度傳感器(含敏感元件)熱電偶傳感器,主要是能夠進(jìn)行非電量和電量之間轉(zhuǎn)換。 第二階段:模擬集成溫度傳感器/控制器。集成傳感器是采用硅半導(dǎo)體集成工藝制成的,因此亦稱硅傳感器或單片集成溫度傳感器。 第三階段:智能溫度傳感器。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ate_)的結(jié)晶。智能溫度傳感器內(nèi)部包含溫度傳感器、a/d傳感器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路1。 第二章 數(shù)字體溫計(jì)總體設(shè)計(jì)方案2.1數(shù)字溫度計(jì)的設(shè)計(jì)方案 方案一:由于是測(cè)溫度電路,很容易想到熱敏電阻之類的熱電元器件和其他類似的溫度感測(cè)裝置測(cè)量溫度,所測(cè)量的溫度將隨電壓或電流變化而變化

17、,把變化的信號(hào)采集過(guò)來(lái),在進(jìn)行a / d轉(zhuǎn)換,就可以使用微控制器單片機(jī),用于處理數(shù)據(jù),如溫度傳感器ad590,它是一種線性電流傳感器,溫度范圍為55-150,在電路顯示部分雖然可以清楚地顯示溫度,但是這樣的設(shè)計(jì)需要a / d轉(zhuǎn)換電路,這樣的話增加了電路的設(shè)計(jì)的復(fù)雜度。 方案二:考慮使用非接觸式的體溫計(jì),例如紅外測(cè)溫儀,利用分子之間紅外光譜原理,為了獲得精確的溫度讀數(shù),測(cè)溫儀與測(cè)試目標(biāo)之間的距離必須在合適的范圍之內(nèi),但這種體溫計(jì)容易受到皮膚的干燥清潔度,空氣溫度,污染,電磁場(chǎng)等干擾因素的影響,造成誤差比較大,而且成本比較高,不太適合家庭和醫(yī)院使用。 方案三: 考慮到使用溫度傳感器ad590來(lái)進(jìn)行

18、測(cè)溫電路的設(shè)計(jì),在一般電子電路設(shè)計(jì)中都容易用到,ad590不帶a/d轉(zhuǎn)換,它是輸出隨溫度而變化的電流信號(hào),每變化一度電流變化1微安,用ad590測(cè)溫,肯定要另加a/d轉(zhuǎn)換器電路,這樣的話就加大了硬件電路的設(shè)計(jì)。 方案四:再考慮到溫度傳感器ds18b20,結(jié)合電子電路設(shè)計(jì)和電子產(chǎn)品開(kāi)發(fā),在大多數(shù)電子產(chǎn)品設(shè)計(jì)中,應(yīng)用單片機(jī)設(shè)計(jì)是很廣泛的,是我們大家很容易想到的。很溫度傳感器有很多,比如大家都常用的ds18b20,但是它是三管腳器件,直接輸出串行數(shù)字信號(hào),且測(cè)溫范圍廣,精度比較高,將物理信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),傳遞給單片機(jī)進(jìn)行處理,然后在液晶顯示屏1602上顯示,就可以滿足設(shè)計(jì)要求。2.2方案分析與論證

19、: 現(xiàn)實(shí)生活中大多數(shù)體溫計(jì)多由水銀制成,使用水銀體溫計(jì)不但測(cè)溫時(shí)間長(zhǎng),還存在很多不便之處,比如讀數(shù)不便,測(cè)溫精確度不高,而且水銀溫度計(jì)一旦破碎了對(duì)環(huán)境污染非常大。隨著科技的發(fā)展和社會(huì)的進(jìn)步,人們更加喜歡往智能化,物聯(lián)網(wǎng)時(shí)代發(fā)展,逐漸采用微型控制器來(lái)代替原來(lái)的水銀體溫計(jì),使用單片機(jī)更加便捷而且易于控制,獲得人們的喜歡和青睞,單片機(jī)的接口一般都是數(shù)字信號(hào),使用單片機(jī)處理體溫這類非電信號(hào)就需要通過(guò)溫度傳感器ds18b20采集信號(hào)以后將溫度信號(hào)轉(zhuǎn)換成電流或者電壓信號(hào),由于ds18b20直接輸出數(shù)字信號(hào)不要ad轉(zhuǎn)換,很方便并且ds18b20功耗低,抗干擾能力強(qiáng),更好地適應(yīng)電路設(shè)計(jì)的需要。 從以上四種方案

20、論證分析得到采用方案四,從傳感器角度來(lái)說(shuō)ds18b20不需要ad轉(zhuǎn)換,ad590需要轉(zhuǎn)換,使用ds18b20傳感器電路設(shè)計(jì)簡(jiǎn)單并且比ad590溫度測(cè)量范圍廣,誤差比較小,硬件電路簡(jiǎn)單,開(kāi)銷比較小,主要研究在于軟件的設(shè)計(jì),做到了開(kāi)發(fā)軟件從而節(jié)約硬件,靈活性比較高,所以綜合以上四種方案選擇第四種。2.3方案的選擇經(jīng)過(guò)以上幾種方案分析,最終確定選擇方案四。采用方案四設(shè)計(jì)的數(shù)字體溫計(jì)和日常生活中所見(jiàn)到的體溫計(jì)比較,具有功耗低,讀數(shù)方便快捷,測(cè)溫范圍廣且精準(zhǔn),最重要的優(yōu)勢(shì)是使用ds18b20傳感器輸出的信號(hào)是數(shù)字信號(hào),不需要進(jìn)行ad轉(zhuǎn)換,把數(shù)字信號(hào)傳送給單片機(jī)89c52進(jìn)行數(shù)字信號(hào)處理與轉(zhuǎn)換,將實(shí)時(shí)溫度

21、顯示在lcd1602液晶屏上,其輸出也是采用數(shù)字顯示,可以及時(shí)作出調(diào)整。該數(shù)字體溫計(jì)還可以通過(guò)外部獨(dú)立按鍵設(shè)置體溫區(qū)間,設(shè)置三個(gè)獨(dú)立按鍵,一個(gè)是選擇復(fù)位按鍵,另外兩個(gè)是溫度上調(diào)和下調(diào)。當(dāng)體溫不在設(shè)置范圍內(nèi)時(shí),可以發(fā)出報(bào)警信號(hào),方便實(shí)時(shí)測(cè)量監(jiān)控體溫變化。2.4 設(shè)計(jì)系統(tǒng)的組成 從以上四種方案分析來(lái)看,采用方案四設(shè)計(jì)的數(shù)字體溫計(jì)無(wú)論從硬件的使用上來(lái)說(shuō),還是從軟件的設(shè)計(jì)來(lái)看都比其他幾種方案略勝一籌。采用溫度傳感器ds18b20,不需要進(jìn)行ad轉(zhuǎn)換,單總線通信進(jìn)行數(shù)據(jù)交換,在硬件電路設(shè)計(jì)上做到了傳感模塊的靈活應(yīng)用。在軟件編程設(shè)計(jì)上也是做到了編程的靈活性,實(shí)現(xiàn)了模塊的對(duì)接與整合。下圖是該設(shè)計(jì)的總體設(shè)計(jì)方

22、框示意圖,如下圖2-1所示,圖2-1溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框示意圖 第三章 數(shù)字體溫計(jì)的硬件組成3.1 數(shù)字體溫計(jì)設(shè)計(jì)電路組成硬件電路包括六個(gè)模塊(1) 主控制芯片:stc89c52;(2) 溫度采集模塊:ds18b20溫度傳感器;(3) 外圍接口電路:stc89c52的電路系統(tǒng)設(shè)計(jì);(4) 溫度顯示模塊:液晶顯示屏lcd1602;(5) 溫度超出范圍的報(bào)警模塊:蜂鳴器報(bào)警模塊;(6) 電源模塊:usb接口,+5v電源接入; 該設(shè)計(jì)由以上六個(gè)模塊組成,在硬件設(shè)計(jì)上整合各個(gè)模塊,比如傳感器模塊,信號(hào)采集模塊,通過(guò)調(diào)用各個(gè)模塊實(shí)現(xiàn)設(shè)計(jì)的功能,在外圍電路設(shè)計(jì)上做到了簡(jiǎn)約,減少硬件電路設(shè)計(jì)的復(fù)雜度,

23、方便后期程序的調(diào)整與移植。下面是數(shù)字體溫計(jì)硬件電路圖,如下圖 圖3-1所示:圖3-1硬件電路圖3.2 主控制芯片stc89c523.2.1 stc89c52芯片的介紹: stc89c52芯片是stc公司生產(chǎn)的一種高性能,低耗能的微控制器,屬于標(biāo)準(zhǔn)的mcs-51的hcmos產(chǎn)品,也叫單片微型計(jì)算機(jī)單片機(jī)。是一種集成電路芯片,將cpu、存儲(chǔ)器、定時(shí)計(jì)數(shù)器、i/o接口電路等集成在一個(gè)芯片。是stc公司推出的新一代高速、使用、低功耗、超強(qiáng)抗干擾的單片機(jī),在系統(tǒng)內(nèi)部具有8k的可編程flash存儲(chǔ)器。stc89c52使用經(jīng)典的mcs-51內(nèi)核,mcs-51內(nèi)核與傳統(tǒng)51單片機(jī)有很大區(qū)別,其增進(jìn)了51單片機(jī)

24、沒(méi)有的功能,使應(yīng)用的范圍更廣2。在其內(nèi)部的芯片上,擁有便于操作的8 位cpu和 可編程flash存儲(chǔ)器,512字節(jié)ram, 32 位i/o 口線,看門狗定時(shí)器,內(nèi)置4kb eeprom,max810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外 stc89c52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35mh

25、z,6t/12t可選。顯然在眾多單片機(jī)控制系統(tǒng)中stc89c52rc具有很高的靈活性、使編程更加方便,更有利于實(shí)際操作并運(yùn)行3。3.2.2 stc89c52的管腳配置和內(nèi)部結(jié)構(gòu)stc89c52單片機(jī)片內(nèi)除了包含中央處理單元(cpu)、程序處理器(flash)、數(shù)據(jù)存儲(chǔ)器(sram)、定時(shí)/計(jì)數(shù)器、uart串口、i/o接口、eeprom、看門狗等重要模塊外,還包含了指針、累加器、鎖存器、驅(qū)動(dòng)器、地址生成器、以及控制單元等,它差不多涵蓋了數(shù)據(jù)采集和控制中所需要的各種單元模塊,可稱得上一個(gè)片上系統(tǒng)。四個(gè)端口中兩個(gè)端口就能夠滿足設(shè)計(jì)需要電路系統(tǒng),設(shè)計(jì)為使用該系統(tǒng)非常適合用于便攜式手持產(chǎn)品。總之,stc

26、89c52的內(nèi)部比較復(fù)雜,但是在進(jìn)行過(guò)程控制或數(shù)據(jù)處理時(shí)卻有條不紊,而且非常高效快速,性能優(yōu)越。stc89c52的管腳比較多,各個(gè)管腳的功能也不相同。除此之外單片機(jī)stc89c52有兩種模式,空閑模式和掉電模式。在空閑模式下,cpu停止,但ram,定時(shí)器,計(jì)數(shù)器,串行口和中斷系統(tǒng)仍在工作。在掉電模式,保存ram的內(nèi)容,并凍結(jié)振蕩器,禁止使用其他芯片功能,直到下一個(gè)硬件復(fù)位。它們共同作用,相互協(xié)同,一起實(shí)現(xiàn)單片機(jī)的功能。圖3-2 stc89c52芯片的引腳圖 單片機(jī)stc89c52具有40個(gè)引腳,這40個(gè)引腳按其功能可以分為3類:(1)電源及時(shí)鐘引腳vcc、gnd,xtal1、xtal2;(2)

27、控制引腳psen、ale、ea、rst;(3)i/o接口引腳p0、p1、p2、p3,為4個(gè)8位i/o口的外部引腳。 在這40個(gè)引腳中,有的引腳功能較為單一,有的引腳卻具有雙重功能,如p3這8個(gè)引腳。對(duì)于具有雙重功能的引腳,它們分別在高、低電平的作用下具有不同的功能。stc89c52單片機(jī)的管腳圖如圖3-2所示。p3口也可作為stc89c52的一些特殊功能口,如下表3-1所示:表3-1 p3口特殊引腳功能介紹端口引腳 第二功能 說(shuō)明 p3.0 rxd 串行數(shù)據(jù)輸入口 p3.1 txd 串行數(shù)據(jù)輸出口 p3.2 int0 外部中斷0輸入 p3.3 int1 外部中斷1輸入 p3.4 t0 定時(shí)器0

28、外部計(jì)數(shù)輸入 p3.5 t1定時(shí)器1外部計(jì)數(shù)輸入 p3.6 wr 外部數(shù)據(jù)存儲(chǔ)器寫選通輸出 p3.7 rd 外部數(shù)據(jù)存儲(chǔ)器讀選通輸3.3單片機(jī)最小系統(tǒng)的設(shè)計(jì) 單片機(jī)最小系統(tǒng)在電子電路設(shè)計(jì)中應(yīng)用的最為廣泛,是實(shí)現(xiàn)單片機(jī)設(shè)計(jì)的基礎(chǔ)。單片機(jī)最小系統(tǒng)是能使單片機(jī)正常工作的最小硬件單元電路,單片機(jī)最小系統(tǒng)電路是以單片機(jī)stc89c52作為mcu。系統(tǒng)包括時(shí)鐘電路,復(fù)位電路和下載電路,單片機(jī)最小系統(tǒng)復(fù)位電路的極性電容c1的大小直接影響單片機(jī)的復(fù)位時(shí)間,一般采用1030uf,51單片機(jī)最小系統(tǒng)容值越大需要的復(fù)位時(shí)間越短。單片機(jī)最小系統(tǒng)起振電容c2、c3一般采用1533pf,并且電容離晶振越近越好,晶振離單片

29、機(jī)越近越好4。如圖3-3所示圖3-3 單片機(jī)最小系統(tǒng)設(shè)計(jì)圖3.3.1時(shí)鐘電路 單片機(jī)可以看成是在時(shí)鐘驅(qū)動(dòng)下的時(shí)序邏輯電路。單片機(jī)片內(nèi)有一個(gè)高增益的反相放大器。當(dāng)外接晶振后,就構(gòu)行一條指令,必須要用12個(gè)時(shí)鐘周期。沒(méi)有這個(gè)時(shí)鐘,單片機(jī)就跑不起來(lái)。單片機(jī)內(nèi)部有一個(gè)振蕩器,有兩個(gè)引腳,輸入引腳xtal1和輸出引腳xtal2,這兩個(gè)引腳通過(guò)跨接石英振蕩器和微調(diào)電容,以形成穩(wěn)定的自激振蕩,使該設(shè)備可以作為時(shí)鐘控制信號(hào)工作的有序開(kāi)展,有條不紊的進(jìn)行工作5。 下圖3-4是時(shí)鐘電路圖電路圖。圖3-4時(shí)鐘電路3.3.2 復(fù)位電路單片機(jī)復(fù)位電路分為兩種方式,一個(gè)是自動(dòng)復(fù)位還有一個(gè)手動(dòng)復(fù)位。第一種是自動(dòng)復(fù)位方式,只

30、要在復(fù)位引腳rst端加多于兩個(gè)機(jī)器周期的高電平就可以,因此在復(fù)位端加上一個(gè)電容器和電阻器用于充電和放電就可以實(shí)現(xiàn)。如圖3-5所示。圖3-5上電自動(dòng)復(fù)位電路 圖3-6 手動(dòng)復(fù)位電路單片機(jī)電路還有另一種復(fù)位方式,即使用手動(dòng)復(fù)位方式。當(dāng)按鍵sw-pb按下時(shí),rst端連接電阻接地為顯示為低電平,此時(shí)單片機(jī)正常工作,若按鍵sw-pb按下時(shí),rst端接5v高電平就實(shí)現(xiàn)手動(dòng)復(fù)位,復(fù)位實(shí)現(xiàn)起來(lái)更加方便,如上圖3-6所示。3.4體溫?cái)?shù)據(jù)采集模塊美國(guó)dallas半導(dǎo)體公司推出的智能型溫度傳感器ds18b20,具有三個(gè)引腳,該傳感器與其他熱敏電阻溫度測(cè)量設(shè)備相比,它具有的優(yōu)點(diǎn)很多,比方說(shuō)接線方便,封裝形式多樣,適用

31、于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域,封裝成后可應(yīng)用于多種場(chǎng)合比如說(shuō)可用于電纜溝測(cè)溫,高爐水循環(huán)測(cè)溫,鍋爐測(cè)溫,機(jī)房測(cè)溫,現(xiàn)代農(nóng)業(yè)大棚測(cè)溫,潔凈室測(cè)溫,彈藥庫(kù)測(cè)溫等多種非極限溫度場(chǎng)合。并且其耐磨耐碰,體積小,使用起來(lái)很方便,其次它還可以直接與單片機(jī)進(jìn)行相連,可以便捷的讀出被測(cè)溫度。ds18b20是一個(gè)可編程的,通過(guò)單總線方式進(jìn)行通信的數(shù)字溫度傳感器,它有一個(gè)存儲(chǔ)在內(nèi)部存儲(chǔ)器唯一的64位的序列號(hào),溫度分辨率可以選擇912(二進(jìn)制)的數(shù)字,而無(wú)需外部設(shè)備直接指示6。其發(fā)送端和接收端通過(guò)一個(gè)只有一個(gè)電纜(加線)測(cè)得的溫度值單線接口接收信號(hào),經(jīng)過(guò)ds18b20傳感器處理的信號(hào)是數(shù)字信號(hào),所以不需a/

32、d轉(zhuǎn)換,在電路設(shè)計(jì)上是一個(gè)不錯(cuò)的選擇。同時(shí)單片機(jī)進(jìn)行讀寫數(shù)據(jù)指令以及進(jìn)行溫度轉(zhuǎn)換指令,都是通過(guò)數(shù)據(jù)總線這種方式傳入ds18b20,無(wú)需外部電源供電,溫度傳感器能測(cè)量的溫度范圍是在-55至125的。溫度傳感器ds18b20有三個(gè)引腳,分別為gnd,dq,vcc,封裝體積小,下圖3-7是to92封裝的ds18b20的引腳圖,見(jiàn)下圖3-7,其引腳功能描述見(jiàn)表3-2圖3-7 ds18b20的引腳表3-2ds18b20詳細(xì)引腳功能描述序號(hào)名稱引腳功能描述1gnd接地信號(hào)2dq溫度信號(hào)輸入/輸出引腳。3vdd可選擇的vdd引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。3.4.1ds18b20的性能特點(diǎn)溫度傳感

33、器ds18b20,體現(xiàn)了溫度傳感器的模塊化,因此在測(cè)量溫度過(guò)程中不需要借助任何外圍元件,傳感器內(nèi)部封裝了傳感元件,及溫度采集電路,溫度轉(zhuǎn)換電路,溫度處理電路集成在一個(gè)類似三極管的器件內(nèi),數(shù)字型溫度傳感器具有很多特點(diǎn):(1)數(shù)據(jù)通信使用獨(dú)特的單總線接口,只需要一個(gè)引腳就能實(shí)現(xiàn);(2)可以實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能,支持多個(gè)ds18b20信號(hào)采集;(3)零待機(jī)功耗,并且可通過(guò)數(shù)據(jù)線供電,電壓范圍為3.05.5;(4)溫度分辨率可以選擇912位(二進(jìn)制)的數(shù)字;(5)用戶可根據(jù)設(shè)計(jì)需要定義報(bào)警設(shè)置;(6)保護(hù)功能,接反時(shí)不會(huì)因發(fā)熱而燒毀,但不能正常工作; 溫度傳感器ds18b20其內(nèi)部結(jié)構(gòu)框圖如下圖,如圖3-

34、8所示。圖3-8溫度傳感器ds18b20其內(nèi)部結(jié)構(gòu)框圖ds18b20有64位rom結(jié)構(gòu),前8位是產(chǎn)品類型的編號(hào),接著的48位是每個(gè)器件的惟一的序號(hào),最后8位是前面序號(hào)的crc檢驗(yàn)碼,正因?yàn)閏rc效驗(yàn)碼才可以讓多個(gè)ds18b20可以在一個(gè)總線線進(jìn)行通信的原因??赏ㄟ^(guò)軟件寫入th和tl,設(shè)置溫度區(qū)間,超出設(shè)置溫度區(qū)間打出報(bào)警信號(hào)。此外ds18b20通信功能有嚴(yán)格的時(shí)隙的概念,因此讀取和寫入數(shù)據(jù)時(shí)序是很重要的。根據(jù)ds18b20協(xié)議各種操作系統(tǒng)協(xié)議:初始化ds18b20(發(fā)送復(fù)位脈沖)發(fā)rom功能命令發(fā)送操作命令內(nèi)存中的數(shù)據(jù)處理3.5溫度顯示模塊lcd1602液晶顯示屏lcd1602模塊是工業(yè)字符型

35、液晶,1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器可以存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,像阿拉伯?dāng)?shù)字、英文字母、常用的符號(hào)、和日文假名等。目前有多種顯示字符模式使用16*1,16*2,20*2和40*2等。lcd1602按顯示亮度分為兩種,一種是帶背光,另外一種是不帶背光,大多是基于控制器hd44780,背光的比較偏厚,在應(yīng)用中被沒(méi)有太大差別7。3.5.1主要技術(shù)參數(shù)主要技術(shù)參數(shù)如下表3-3所示:表3-3 主要技術(shù)參數(shù)顯示容量162個(gè)字符芯片工作電壓4.55.5v工作電流2.0ma(5.0v)模塊最佳工作電壓5.0v字符尺寸2.954.35(wh)mm3.5.2引腳功能說(shuō)明一般1602lcd采用標(biāo)準(zhǔn)的

36、14腳(無(wú)背光)或16腳(帶背光)接口lcd1602的引腳分為如下幾類:(1) 電源及接地引腳:vss,vdd;(2) 使能以及讀寫引腳:e,rs,r/w;(3) 背光源正負(fù)極引腳:bla,blk;(4) 數(shù)據(jù)傳輸引腳:d0,d1,d2,d3,d4,d5,d6,d7; 1602液晶模塊的顯示以及操作都需要指令代碼的,比如讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。指令有很多, 分為幾類:分別是指令1光標(biāo)顯示,指令2光標(biāo)復(fù)位,指令3光標(biāo)移動(dòng),高電平右移,低電平左移,指令4顯示開(kāi)關(guān)控制,指令5光標(biāo)或顯示移位 ,高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo),指令6功能設(shè)置命令,指令7字符發(fā)生器r

37、am地址設(shè)置,指令8ddram地址設(shè)置,指令9讀忙信號(hào)和光標(biāo)地址 bf,指令10寫數(shù)據(jù),指令11讀數(shù)據(jù)。 lcd1602和單片機(jī)的接口是不需要轉(zhuǎn)換電路的,可以直接實(shí)現(xiàn)模塊的對(duì)接,1602液晶顯示模塊可以和單片機(jī)stc89c52直接接口,下面是連接的電路圖,如圖3-9所示,從下圖能看到單片機(jī)的io口可以直接和液晶顯示器的數(shù)據(jù)傳輸接口對(duì)接,在硬件電路上可以很好設(shè)計(jì)。圖3-9 1602液晶模塊和單片機(jī)連接3.6報(bào)警電路的實(shí)現(xiàn) 當(dāng)溫度傳感器檢測(cè)到的體溫不在可檢測(cè)的范圍之內(nèi),也就是說(shuō)超出設(shè)定范圍了,這時(shí)單片機(jī)處理這個(gè)信號(hào),單片機(jī)外圍接有源蜂鳴器,出現(xiàn)這種情況單片機(jī)給接有蜂鳴器那個(gè)引腳一個(gè)高電平脈沖信號(hào),

38、蜂鳴器接通發(fā)出報(bào)警信號(hào),起到實(shí)時(shí)監(jiān)測(cè)控制功能。數(shù)字體溫計(jì)上有三個(gè)獨(dú)立按鍵,可以通過(guò)按鍵設(shè)置需要的體溫權(quán)限。一共設(shè)置了三個(gè)按鍵,一個(gè)是復(fù)位選擇按鍵,另外兩個(gè)是溫度上調(diào)和溫度下調(diào)按鍵。其次是復(fù)位電路上電復(fù)位和手動(dòng)復(fù)位。當(dāng)程序運(yùn)行外出現(xiàn)意外時(shí),可以手動(dòng)復(fù)位,所以不要重新啟動(dòng)電源的微控制器,也可以是復(fù)位。3.7電源模塊 電源模塊采用直流+5v電源輸入,符合單片機(jī)正常工作電壓范圍,為了考慮到使用便捷,采用usb方式供電,電流輸出穩(wěn)定,波動(dòng)小,同時(shí)使用usb供電使得數(shù)字體溫計(jì)有了很好的便攜性,有更好的應(yīng)用型還可以隨時(shí)方便測(cè)體溫,便于監(jiān)測(cè)。第四章 系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)部分采用keil-c51單片機(jī)c語(yǔ)言來(lái)進(jìn)

39、行設(shè)計(jì),使用這種語(yǔ)言在一定程度上可以更好地和單片機(jī)進(jìn)行兼容,簡(jiǎn)化軟件開(kāi)發(fā)。而且邏輯性更強(qiáng),減小操作過(guò)程中發(fā)生死循環(huán)的和失控的可能性。系統(tǒng)軟件程序包括主程序,溫度讀取程序,溫度轉(zhuǎn)換程序,溫度處理計(jì)算程序,顯示溫度程序,超出溫度報(bào)警程序。4.1 keil-c51語(yǔ)言介紹keil c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),由兩家私營(yíng)公司,分別為美國(guó)的keil軟件公司和德國(guó)的keil elektronik公司。是支持8051微控制器體系結(jié)構(gòu)的開(kāi)發(fā)工具,在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。keil提供了包括c編譯器、宏匯編、連接器、

40、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uvision)將這些部分組合在一起。,包括ansi c編譯器,宏匯編器,調(diào)試器聯(lián)合行動(dòng),鏈接器,庫(kù)管理器,固件和實(shí)時(shí)操作系統(tǒng)內(nèi)核(實(shí)時(shí)內(nèi)核)8。4.2 keil c51的優(yōu)勢(shì)與匯編語(yǔ)言相比,keil c51語(yǔ)言在功能和結(jié)構(gòu)性上有明顯的優(yōu)勢(shì),并且具有可讀性和可維護(hù)性。keil提供了很多功能,包括c語(yǔ)言,編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)系統(tǒng),通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境將這些部分整合在一起。用c語(yǔ)言編程,那么使用keil在軟件設(shè)計(jì)也有很多優(yōu)勢(shì)。即使不使用c語(yǔ)言而僅用匯編語(yǔ)言編程,它具有的集

41、成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)讓你在設(shè)計(jì)中得心應(yīng)手,在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)9。keil c51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,在調(diào)用函數(shù)過(guò)程中很方便。使用keil c51生成的目標(biāo)代碼效率和質(zhì)量非常高,語(yǔ)句生成的匯編代碼結(jié)構(gòu)很緊湊,容易理解。4.3程序流程圖主程序的主要功能是負(fù)責(zé)溫度信號(hào)的采集和溫度的實(shí)時(shí)顯示、讀出并處理ds18b20測(cè)量的當(dāng)前溫度值,溫度測(cè)量是實(shí)時(shí)進(jìn)行的,每經(jīng)過(guò)1s采集一次。這樣可以在一秒之內(nèi)迅速測(cè)量一次被測(cè)溫度,通過(guò)把采集到的信號(hào)傳輸給單片機(jī)進(jìn)行分析和處理,單片機(jī)進(jìn)行處理進(jìn)行溫度轉(zhuǎn)換,進(jìn)行溫度處理后然后在lcd1602上顯示,讀有出實(shí)時(shí)

42、溫度,通過(guò)按鍵可以設(shè)置溫度區(qū)間,溫度超過(guò)設(shè)置的區(qū)間,啟動(dòng)蜂鳴器報(bào)警,便于及時(shí)監(jiān)測(cè)病人體溫變化。如下圖4-1為主程序流程圖:圖4-1主程序流程圖主函數(shù)如下,通過(guò)主函數(shù)調(diào)用各個(gè)子函數(shù),來(lái)實(shí)現(xiàn)體溫計(jì)功能void main()init_lcd();/初始化lcdtmod=0x01;/定時(shí)器0,方式1th0=0x3c;/50ms溢出一次tl0=0xb0;tr0=1;/啟動(dòng)定時(shí)器0et0=1;/開(kāi)定時(shí)器0ea=1;/開(kāi)總中斷while(1)key();/調(diào)用按鍵函數(shù)baojing();/調(diào)用報(bào)警函數(shù)4.4測(cè)溫模塊程序ds18b20是在一根線上實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,并且需要嚴(yán)格的通信協(xié)議來(lái)保證每位數(shù)據(jù)傳輸?shù)臏?zhǔn)

43、確性和完整性,首先將ds18b20進(jìn)行初始化,復(fù)位ds18b20,然后單片機(jī)進(jìn)行等待ds18b20的應(yīng)答脈沖信號(hào),單片機(jī)檢測(cè)到應(yīng)答脈沖,便發(fā)起跳過(guò)rom匹配操作命令,成功執(zhí)行rom操作命令后,就可以使用內(nèi)存操作命令啟動(dòng)溫度轉(zhuǎn)換,延時(shí)一段時(shí)間后等待溫度轉(zhuǎn)換。然后再發(fā)起跳過(guò)rom匹配操作命令,最后讀暫存器將轉(zhuǎn)換結(jié)果讀出,并轉(zhuǎn)換為顯示碼傳送給液晶顯示。4.4.1讀溫度子程序 當(dāng)ds18b20采集到溫度信號(hào)以后,傳送給單片機(jī)進(jìn)行處理,單片機(jī)處理以后進(jìn)行溫度信號(hào)的轉(zhuǎn)換。執(zhí)行讀溫度子程序,其主要功能是負(fù)責(zé)讀出ram中的9字節(jié),在讀取過(guò)程需進(jìn)行crc校驗(yàn),當(dāng)檢測(cè)到校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖

44、如圖4-2所示4-2讀溫度子程序圖void reset()/ds18b20的復(fù)位函數(shù)uchar x=0;dq=1;/使總線為高電平delay1(8);/延時(shí)dq=0;/使總線為低電平delay1(80);/延時(shí),大于480usdq=1;/使總線為高電平delay1(14);/延時(shí),等待ds18b20回應(yīng)低電平x=dq;/將ds18b20的回應(yīng)讀到變量x,用于判斷復(fù)位delay1(20);/延時(shí)一段時(shí)間結(jié)束void writecmd(uchar cmd)/ds18b20的寫字節(jié)函數(shù)uchar i=0;/定義位循環(huán)變量for(i=8;i0;i-)/循環(huán)8次dq=0;/總線拉低dq=cmd&0x01

45、;/將發(fā)送字節(jié)的最低位送到總線delay1(5);/延時(shí)(30us),等待ds18b20取走總線數(shù)據(jù)dq=1;/總線拉高cmd=1;/將待發(fā)送的字節(jié)右移后,繼續(xù)發(fā)送uchar readdat()/ds18b20的讀字節(jié)函數(shù)uchar i=0;/定義位循環(huán)變量uchar temp=0;/定義暫存變量for(i=8;i0;i-)/循環(huán)8次dq=0;/總線為低電平temp=1;/暫存變量右移dq=1;/總線拉高,執(zhí)行如下的讀操作if(dq)/如果ds18b20輸出高電平temp|=0x80;/將暫存變量的最高位置1delay1(4);/延時(shí)一段時(shí)間return temp;/程序結(jié)束后,將暫存變量返回

46、調(diào)用程序4.4.2溫度轉(zhuǎn)換命令子程序 該設(shè)計(jì)通過(guò)按鍵設(shè)定體溫區(qū)間,設(shè)定三個(gè)按鍵,一個(gè)是選擇按鍵兼復(fù)位按鍵,另外的一個(gè)是溫度向上調(diào)節(jié),另外一個(gè)是溫度下調(diào),通過(guò)三個(gè)按鍵設(shè)置報(bào)警溫度區(qū)間。所以在程序編寫上也是體現(xiàn)了按鍵的功能,在軟件設(shè)計(jì)中,按鍵按一次,進(jìn)行延時(shí),lcd光標(biāo)閃爍進(jìn)行選擇,再按一次按鍵, 因?yàn)闇囟绒D(zhuǎn)換命令子程序主要是指溫度轉(zhuǎn)換開(kāi)始命令,所以當(dāng)采用12位分辨率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中采用1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如下圖4-3所示,圖4-3溫度轉(zhuǎn)換命令子程序key() if(xuanze=0)/如果選擇鍵按下delay(50);/延時(shí)消抖if(

47、xuanze=0)/如果按鍵還處于按下?tīng)顟B(tài) num+;/次數(shù)加1 while(!xuanze);/等待按鍵抬起;if(num=1)/如果按下選擇鍵的次數(shù)為1 tr0=0;/關(guān)閉中斷 write_com(0x80+0x00+5);/光標(biāo)移到第一行第七個(gè)位置 write_com(0x0f);/設(shè)置為顯示開(kāi),開(kāi)光標(biāo),閃爍 if(num=2)/ 如果按下選擇鍵的次數(shù)為2 write_com(0x80+0x00+13);/光標(biāo)移到第一行第十五個(gè)位置if(num=3)/如果按下選擇鍵的次數(shù)為3 num=0;/次數(shù)清零 write_com(0x0c);/設(shè)置為顯示開(kāi),關(guān)光標(biāo),不閃爍 tr0=1;/開(kāi)中斷 i

48、f(num!=0)/在選擇鍵按下時(shí) if(up=0)if(num=1)/如果按下選擇鍵的次數(shù)為1tr0=0;/關(guān)閉中斷write_com(0x80+0x00+5);/光標(biāo)移到第一行第七個(gè)位置write_com(0x0f);/設(shè)置為顯示開(kāi),開(kāi)光標(biāo),閃爍if(num=2)/如果按下選擇鍵的次數(shù)為2write_com(0x80+0x00+13);/光標(biāo)移到第一行第十五個(gè)位置if(num=3)/如果按下選擇鍵的次數(shù)為3num=0;/次數(shù)清零write_com(0x0c);/設(shè)置為顯示開(kāi),關(guān)光標(biāo),不閃爍tr0=1;/開(kāi)中斷 4.4.3計(jì)算溫度子程序 計(jì)算溫度子程序?qū)am中讀取值進(jìn)行bcd碼的轉(zhuǎn)換運(yùn)算,

49、并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖4-4所示圖4-4計(jì)算溫度子程序程序如下:void timer0() interrupt 1/定時(shí)器0中斷,中斷標(biāo)號(hào)為1uint result;th0=0x3c;tl0=0xb0;timecount+;/每中斷一次,time count加1if(time count=20)/中斷定時(shí)達(dá)到1s,50ms*20=1stime count=0;/ time count清零reset();/復(fù)位ds18b20write cmd(0xcc);/向ds18b20發(fā)送跳過(guò)rom搜索命令write cmd(0x44);/啟動(dòng)一次溫度轉(zhuǎn)換reset();/復(fù)位ds18b2

50、0write cmd(0xcc);/向ds18b20發(fā)送跳過(guò)rom搜索命令write cmd(0xbe);/發(fā)送讀溫度的命令read date0=readdat();/讀溫度的低8位read date1=readdat();/讀溫度的高8位 sflag=0;/置負(fù)號(hào)標(biāo)志為0 if( read date1&0xf8)!=0x00)/如果是負(fù)溫度值,執(zhí)行如下取補(bǔ)碼語(yǔ)句 sflag=1; read date1= readdate1;/高位取反碼 read date0=readdate0;/低位取反碼 result=read date0+1;/反碼加1 read date0=result;/將取補(bǔ)的高

51、溫度值,送回?cái)?shù)組 if(result255)/如果低8位有進(jìn)位,則高8位加1 read date1+; test0=read date0;/低8位值賦予test0 test1=read date1;/高8位值賦予test1 test=(read date1*256)+read date0)/16;/取出整數(shù)部分溫度值 test0=(test0|0x0f)/16;/取出小數(shù)部分溫度值reset();/復(fù)位ds18b20write cmd(0xcc);/向ds18b20發(fā)送跳過(guò)rom搜索命令 write cmd(0x44);/啟動(dòng)下次溫度測(cè)量/以下是溫度值處理部分 write_com(0x80+0

52、x40+0x05); if(sflag=1) write_data(-);/如果測(cè)得的溫度為負(fù)值,顯示負(fù)號(hào) else write_data(+);/如果測(cè)得的溫度為正值,顯示正號(hào) a1=(test/10)|0x30;/溫度整數(shù)部分的十位 a2=(test%10)|0x30;/溫度整數(shù)部分的個(gè)位 write_com(0x80+0x40+0x06); write_data(a1);/顯示溫度整數(shù)部分的十位 write_data(a2);/顯示溫度整數(shù)部分的個(gè)位 write_data(.);/顯示小數(shù)點(diǎn)a3=(test0/10)|0x30;/溫度小數(shù)部分的十分位 write_data(a3); /顯示溫度小數(shù)部分的十分位 4.5溫度顯示子程序首先初始化液晶顯示器lcd1602 ,然后通過(guò)ds18b20采集到的溫度信號(hào)經(jīng)過(guò)單片機(jī)處理以后,傳送給1602進(jìn)行顯示,不斷刷新來(lái)檢測(cè)實(shí)時(shí)溫度。流程圖如下圖4-5所示,圖4-5溫度顯示子程序首先是初始化sbit rs=p30;sbit rw=p31;sbit e=p32;uchar tmp5=temp:;uchar tmp6=。c;uchar code tab1=t

溫馨提示

  • 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)論