版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . / 45摘 要體溫是人體健康的一個(gè)很重要的指標(biāo),體溫過高或過低都是身體健康異常的信號(hào)。傳統(tǒng)的測(cè)試體溫方法,一般是用水銀體溫計(jì)測(cè)量體溫,水銀體溫計(jì)測(cè)量固然十分準(zhǔn)確,但是響應(yīng)時(shí)間長(zhǎng),而且會(huì)造成環(huán)境的嚴(yán)重污染。隨著科技的發(fā)展,單片機(jī)已經(jīng)廣泛的應(yīng)用到了物理實(shí)驗(yàn)、醫(yī)療衛(wèi)生、食品生產(chǎn)各個(gè)領(lǐng)域。本文設(shè)計(jì)一種基于單片機(jī)設(shè)計(jì)和實(shí)現(xiàn)的電子體溫計(jì)。本設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)部分,其中硬件設(shè)計(jì)部分主要包括溫度采集電路、顯示電路、報(bào)警電路,軟件設(shè)計(jì)部分用 KEIL 作為編程軟件,使用 C 語言進(jìn)行編程。本設(shè)計(jì)采用傳感器 DS18B20 采集人體的溫度,經(jīng)過模數(shù)轉(zhuǎn)換后的電信號(hào)傳輸?shù)?51 單片機(jī),最
2、后再傳輸?shù)?LCD 液晶顯示器顯示。該電子體溫計(jì)響應(yīng)時(shí)間短,工作穩(wěn)定,讀數(shù)方便,測(cè)量精度高,當(dāng)超過人體體溫正常值是會(huì)發(fā)出蜂鳴警報(bào)聲。并且其中不含汞,不會(huì)對(duì)環(huán)境造成污染,在家庭、醫(yī)院等場(chǎng)合都能得到廣泛應(yīng)用。關(guān)關(guān)鍵鍵詞詞:電子體溫計(jì) 51 單片機(jī) DS18B20 LCD. . . . I / 45AbstractTemperature is one of the most important indexes of human health, it is too high or too low signal a health exception. Temperature measurement me
3、thod of traditional, is generally measured body temperature with a mercury thermometer, Mercury thermometer to measure is very accurate, but the long response time, and will cause serious pollution of the environment. With the development of science and technology, MCU has been widely applied to phy
4、sics experiments, medical and health, food production in various fields.This paper design a kind of electronic temperature meter based on 51 single chip microcomputer.The design is divided into two parts: hardware design and software design, the hardware design mainly includes temperature acquisitio
5、n circuit, display circuit, alarm circuit and keyboard control circuit, the part of software design uses KEIL as programming software , using C programming language. With sensor DS18B20 collecting temperature of human body, after it transfers to the analog to digital converter, the electrical signal
6、 will be transfer to a 51 single chip microcomputer, then transfer to the LCD liquid crystal display. The electronic thermometer with short response time, stable work, convenient reading, high measuring accuracy, when more than the normal human body temperature, it will sound a buzzer alarm. And whi
7、ch does not contain mercury, harmless to the human body and the surrounding environment, particularly suitable for families, hospitals and other occasions.Keyword:Keyword: Electronic thermometer 51 single chip microcomputer DS18B20 LCD. . . . II / 45目 錄摘摘 要要 .I IABSTRACTABSTRACT .IIII目目 錄錄 .IIIIII引引
8、 言言 .1 11 1 設(shè)計(jì)任務(wù)與方案分析設(shè)計(jì)任務(wù)與方案分析 .2 21.1 設(shè)計(jì)任務(wù)與要求.21.2 設(shè)計(jì)總體方案與方案論證.21.3 體溫測(cè)量的方案與分析.31.3.1 元件的選擇.31.3.2 總體結(jié)構(gòu)框圖.41.3.3 測(cè)溫流程圖.42 2 主要元器件功能的介紹主要元器件功能的介紹 .5 52.1 單片機(jī).52.1.1 AT89C52 芯片簡(jiǎn)介 .52.1.2 AT89C52 的引腳功能介紹 .62.1.3 AT89C52 的特殊功能 .82.1.4 AT89C52 的數(shù)據(jù)存儲(chǔ) .82.1.5 AT89C52 的中斷 .82.1.6 AT89C52 的兩種工作模式 .92.2 溫度傳感
9、器.102.2.1 DS18B20 簡(jiǎn)介 .102.2.2 DS18B20 的引腳說明 .102.2.3 DS18B20 的測(cè)溫原理 .112.2.4 DS18B20 的外形和部結(jié)構(gòu) .112.2.5 DS18B20 的應(yīng)用電路 .122.2.6 使用 DS18B20 的注意事項(xiàng).132.3 LCD1602 .152.3.1 LCD1602 液晶的介紹 .152.3.2 LCD1602 液晶的引腳功能簡(jiǎn)介 .152.3.3 LCD1602 液晶的操作控制 .162.3.4 LCD1602 液晶的指令集 .17 3 3 系統(tǒng)硬件電路的設(shè)計(jì)系統(tǒng)硬件電路的設(shè)計(jì) .20203.1 硬件總體設(shè)計(jì)思路 .
10、203.2 單片機(jī)時(shí)鐘電路與復(fù)位電路的設(shè)計(jì) .20. . . . III / 453.2.1 時(shí)鐘電路設(shè)計(jì).203.2.2 復(fù)位電路設(shè)計(jì).213.3 溫度傳感器模塊 .213.4 液晶顯示模塊 .213.5 報(bào)警電路模塊 .244 4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì) .25254.1 軟件 KEIL和 PROTEUS的簡(jiǎn)單介紹 .254.1.1 軟件 Keil 簡(jiǎn)介.254.1.2 軟件 Proteus 簡(jiǎn)介.254.2 系統(tǒng)程序的編寫 .264.2.1 系統(tǒng)主程序.264.2.2 溫度傳感器初始化.274.2.3 溫度轉(zhuǎn)換命令子程序.274.2.4 溫度數(shù)據(jù)的計(jì)算方法.284.3 源代碼 .285
11、 5 性能測(cè)試與分析性能測(cè)試與分析 2828結(jié)結(jié) 束束 語語 .3030參參 考考 文文 獻(xiàn)獻(xiàn) .3131致致 .3232附附 錄錄 .3333. . . . 0 / 45引 言早在 16 世紀(jì),伽利略就發(fā)明了水銀體溫計(jì),但是由于各種原因,直到 300 年后才設(shè)計(jì)出使用方便、性能可靠的體溫計(jì)。當(dāng)水銀受熱膨脹時(shí),它會(huì)沿著玻璃管上升,即使微小的溫度變化也能夠引起水銀大幅度的上升,當(dāng)水銀的溫度和被測(cè)皮膚溫度一樣時(shí),水銀停止上升,此時(shí)便可讀取溫度值了。測(cè)量完成后,還需有力甩體溫計(jì),使水銀回到玻璃球,方能繼續(xù)測(cè)量體溫。在此之后,人們也陸陸續(xù)續(xù)的發(fā)明了各式各樣的體溫計(jì),1714 年,加布里埃爾華倫海特研制
12、了在水的冰點(diǎn)和人的體溫圍設(shè)定刻度的水銀體溫計(jì),最終因?yàn)轶w積過大而未被醫(yī)生們所接納,1868 年,當(dāng)時(shí)體溫計(jì)的體積依舊過大,測(cè)量體溫大概要花 20 分鐘。水銀體溫計(jì)測(cè)量精度高,便于攜帶,各方面都已經(jīng)非常成熟了,人們也就沒有再研發(fā)其他種類的體溫計(jì),但隨著工業(yè)發(fā)展的步伐加快,環(huán)境遭到了嚴(yán)重的破壞,環(huán)境保護(hù)儼然迫在眉睫,促使人們開發(fā)出對(duì)環(huán)境無害的電子體溫計(jì)。計(jì)算機(jī)的發(fā)展十分迅速,短短幾十年就已經(jīng)普與到我們生活、工作等各個(gè)領(lǐng)域,我們的生活因此得到了極大的便利。近些年來,微型計(jì)算機(jī)(單片機(jī))的發(fā)展與應(yīng)用更是在數(shù)碼家電產(chǎn)品中引發(fā)了一場(chǎng)革命。鑒于單片機(jī)的強(qiáng)大功能,具有可編程性,體積小,價(jià)格低廉,人們開發(fā)出了基
13、于單片機(jī)控制的電子體溫計(jì)。本文介紹一種基于 51 單片機(jī)控制的電子體溫計(jì),由溫度傳感器 DS18B20 負(fù)責(zé)溫度的采集和模數(shù)轉(zhuǎn)換,單片機(jī)將采集到的溫度經(jīng)過轉(zhuǎn)換,最后在 LCD 上顯示出溫度值,當(dāng)被測(cè)皮膚溫度高于預(yù)定溫度時(shí),會(huì)發(fā)出蜂鳴警報(bào)聲。此設(shè)計(jì)的關(guān)鍵是編程,從而實(shí)現(xiàn)溫度的采集、轉(zhuǎn)換、顯示、上下溫度報(bào)警,結(jié)構(gòu)比較簡(jiǎn)單,易于實(shí)現(xiàn)。與傳統(tǒng)水銀體溫計(jì)相比,電子體溫計(jì)采集溫度的能力更強(qiáng),響應(yīng)時(shí)間短,測(cè)量精度高,更安全,不必?fù)?dān)心因?yàn)樗y泄漏而造成的人體傷害和環(huán)境污染。. . . . 1 / 451 設(shè)計(jì)任務(wù)與方案分析1.1 設(shè)計(jì)任務(wù)與要求本設(shè)計(jì)是以 51 單片機(jī)為核心設(shè)計(jì)的電子體溫計(jì)。其中數(shù)字溫度傳感器
14、和單片機(jī)相連,對(duì)其采集到的溫度電信號(hào)進(jìn)行濾波和放大,然后把溫度的標(biāo)準(zhǔn)電信號(hào)經(jīng)過 A/D 轉(zhuǎn)換,最終得到測(cè)量的溫度值并用液晶顯示器顯示出來。設(shè)計(jì)出的電子體溫計(jì)在功能上應(yīng)達(dá)到以下要求。 (1)體溫計(jì)的測(cè)量圍為 0C50C,顯示精度為 0.1C。 (2)當(dāng)溫度高于 37C 或低于 32C 時(shí),LED 亮,達(dá)到警報(bào)的目的。 (3)用液晶顯示器顯示出溫度值。1.2 設(shè)計(jì)總體方案與方案論證 隨著生活水平的不斷提高,人們對(duì)體溫計(jì)的要求越來越高,例如要求體溫計(jì)響應(yīng)時(shí)間短,測(cè)量準(zhǔn)確。傳統(tǒng)的測(cè)溫元件一般是熱電偶,是通過將采集到的電壓轉(zhuǎn)換相應(yīng)的溫度,這不僅需要很多繁瑣的硬件支持,而且調(diào)試起來非常復(fù)雜,應(yīng)用起來需要大
15、筆的花銷。DS10B20 作為常用的溫度傳感器,具有精度高,抗干擾能力強(qiáng),成本低廉,體積小等特點(diǎn)。該傳感器具有獨(dú)特的單線接口方式,只需要和單片機(jī)連接一條線即可實(shí)現(xiàn)單片機(jī)與傳感器的雙向通訊,并且在使用過程中不需要外接任何元件,因此它的硬件電路比較簡(jiǎn)單。其測(cè)量圍是 0C50C,固有誤差 1C,可以滿足本次設(shè)計(jì)的要求。工作電壓是 3.05.5V/DC,適用于小電源工作電路。故采用溫度傳感器 DS18B20 作為本次設(shè)計(jì)系統(tǒng)中的溫度檢測(cè)元件。根據(jù)設(shè)計(jì)要求,整個(gè)系統(tǒng)有 5 個(gè)部分構(gòu)成:?jiǎn)纹瑱C(jī) AT89C52,數(shù)碼管顯示電路,鍵盤控制電路,報(bào)警電路,溫度傳感器。方案設(shè)計(jì)的目的是為了使軟件編程更為簡(jiǎn)單,測(cè)量
16、精度更高,實(shí)現(xiàn)起來更加容易,測(cè)溫圍更廣。1.3 體溫測(cè)量的方案與分析1.3.11.3.1 元件的選擇元件的選擇本次設(shè)計(jì)所采用的測(cè)溫元件是溫度傳感器 DS18B20,DS18B20 數(shù)字溫度傳感. . . . 2 / 45器接線方便,因此硬件電路比較簡(jiǎn)單,成本低,在管道式,螺紋式等多種場(chǎng)合都比較適用,該傳感器有多種型號(hào),如 LTM8874,LTM8877 等。其封裝形式多樣,不同的應(yīng)用場(chǎng)合下其外觀也不同。封裝后的 DS18B20 在農(nóng)業(yè)大棚測(cè)溫上可以得到應(yīng)用,電纜溝溫度測(cè)量,機(jī)房溫度測(cè)量,高爐水循環(huán)溫度測(cè)量,潔凈室溫度測(cè)量等各種非極限溫度場(chǎng)合。使用便捷,所占空間小,適用于各種狹小空間中的數(shù)字溫度
17、測(cè)量和控制領(lǐng)域。單片機(jī) AT89C52 屬于 51 系列單片機(jī),它能夠和計(jì)算機(jī)進(jìn)行通訊,完成數(shù)據(jù)的傳輸,還能夠獨(dú)立控制多點(diǎn) DS18B20 的工作,它安裝起來比較方便,體積也小,硬件的實(shí)現(xiàn)也比較容易,最關(guān)鍵的是,針對(duì) 51 系列單片機(jī)的軟件編程自由度很大,大多數(shù)的邏輯控制和算術(shù)算法都可以通過軟件編程實(shí)現(xiàn)。為了使顯示更加清晰,本次設(shè)計(jì)的顯示電路所采用的是串口顯示,這樣做是為了減少使用的資源。該系統(tǒng)使用 LCD1602 液晶顯示數(shù)碼管構(gòu)成顯示電路,從 P3 口 TXD,RXD 串口輸出段碼。該系統(tǒng)之所以使用單片機(jī) AT89C52 控制 DS18B20 溫度傳感器測(cè)量溫度并使溫度值在液晶顯示器上顯示
18、,是因?yàn)檫@樣的系統(tǒng)會(huì)有很強(qiáng)的擴(kuò)展性、能夠根據(jù)實(shí)際需求設(shè)置上下限報(bào)警溫度值、測(cè)量溫度的響應(yīng)時(shí)間短。為了使在處理數(shù)據(jù)的同時(shí)顯示時(shí)間,可以在系統(tǒng)設(shè)計(jì)中使用時(shí)鐘芯片來獲取時(shí)間的數(shù)據(jù)。某些時(shí)間點(diǎn)的溫度數(shù)據(jù)可以存儲(chǔ)在單片機(jī) AT89C52 中,此時(shí)單片機(jī) AT89C52 儼然成為了一個(gè)存儲(chǔ)元器件。鍵盤的作用是溫度查詢與調(diào)時(shí),測(cè)得的溫度數(shù)據(jù)能夠通過PC 機(jī)的接口和單片機(jī) AT89C52 進(jìn)行串口通訊,使溫度數(shù)據(jù)的采集與整理變得格外方便。. . . . 3 / 45 1.3.2 總體結(jié)構(gòu)框圖溫度傳感器 DS18B20 負(fù)責(zé)采集溫度,采集到的溫度信號(hào)傳輸給單片機(jī)AT89C52,單片機(jī)再將輸出信號(hào)傳輸給數(shù)碼管顯示
19、電路,如果超過預(yù)定值,單片機(jī)還會(huì)發(fā)送信號(hào)給警報(bào)電路,蜂鳴器會(huì)發(fā)出警報(bào)聲。按鍵電路(連個(gè)按鍵)和主控制器相連。 圖 1.1 電子體溫計(jì)的系統(tǒng)總體結(jié)構(gòu)框圖1.3.3 測(cè)溫流程圖 圖 1.2 測(cè)溫流程圖. . . . 4 / 452 主要元器件功能的介紹2.1 單片機(jī)2.1.12.1.1 AT89C52AT89C52 芯片簡(jiǎn)介芯片簡(jiǎn)介本次設(shè)計(jì)所采用的主控制器是 AT89C52,它是由 ATMEL 公司生產(chǎn)的,生產(chǎn)過程中使用非易失性、高密度技術(shù),使得其性能十分穩(wěn)定。AT89C52 是一個(gè) 8位單片機(jī),具有高性能、低電壓的特點(diǎn)。片含有 256 字節(jié)的 RAM(隨機(jī)存取數(shù)據(jù)存儲(chǔ)器)和 8 KB 的可反復(fù)擦
20、寫的 FLASH ROM(只讀程序存儲(chǔ)器),最多可擦寫1000 次。AT89C52 兼容 MCS-51 指令系統(tǒng),因此對(duì)于單片機(jī)初學(xué)者來說是一個(gè)不錯(cuò)的入門級(jí)學(xué)習(xí)工具。AT89C52 是 AT89C51 的增強(qiáng)型,AT89C52 較之AT89C51,RAM 空間更大,AT89C51 的 RAM 空間只有 AT89C52 的一半;FLASH 更大,AT89C51 部的 FLASH ROM 的容量只有 4 KB;中斷源更多,AT89C52 在 AT89C51的基礎(chǔ)上增加了一個(gè)定時(shí)器/計(jì)數(shù)器 T2。 圖 2.1 單片機(jī)的引腳排列圖. . . . 5 / 45該單片機(jī)體積較小,允許低電壓供電,只需要兩個(gè)
21、端口就能滿足設(shè)計(jì)電子體溫計(jì)系統(tǒng)的需求,因此它可以用兩節(jié)電池供電。2.1.22.1.2 AT89C52AT89C52 的引腳功能介紹的引腳功能介紹(1)P0 口:P0 口也可以說是地址/數(shù)據(jù)總線復(fù)用口,它是一組漏極開路型雙向 I/O 口,有 8 位。當(dāng)對(duì) P0 端口寫“1”時(shí),可作為高阻抗輸入端用。在作為輸出口使用時(shí),其輸出緩沖級(jí)可驅(qū)動(dòng) 8 個(gè) TTL 邏輯門電路。程序校驗(yàn)時(shí),輸出指令,校驗(yàn)時(shí),要求外接上拉電阻。 ,而在 Flash 編程時(shí),P0端口接收指令。(2)P1 口:P1 的每位能輸出電流能驅(qū)動(dòng) 4 個(gè) TTL 邏輯門電路。它一個(gè)帶部上拉電阻的雙向 I/O 口,共 8 位,在作為輸入口用
22、時(shí),某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流,這是因?yàn)槠洳坑猩侠娮璐嬖?。?dāng)對(duì)端口 P1 寫“1”時(shí),現(xiàn)在 P1 可當(dāng)做輸入口,這是因?yàn)椴可侠娮鑼⒍丝诶礁唠娖?。AT89C52 的 P1.0 與 P1.1 還能夠分別作為定時(shí)/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入和輸出,因此總的來說,AT89C52 是 AT89C51 的增強(qiáng)型。 圖 2.2 P1.0 和 P1.1 口的附加功能. . . . 6 / 45(3)P2 口:P2 的部帶有上拉電阻,它的輸出電流可以驅(qū)動(dòng) 4 個(gè) TTL 邏輯門電路,它是是一個(gè) 8 位雙向 I/O 口。如果對(duì) P2 口寫“1”時(shí),此時(shí)該端口可以作為輸入口使用,這是因?yàn)樯侠娮鑼?/p>
23、 P2 口拉到高電平,與此同時(shí),某個(gè)引腳會(huì)輸出一個(gè)電流(當(dāng)該引腳被外部信號(hào)拉低時(shí)) 。閃存校驗(yàn)或編程時(shí),端口會(huì)接收一部分的控制和高位地址信號(hào)。在訪問 8 位地址的外部 data memory 時(shí),P2 鎖存器的容會(huì)由 P2 端口輸出。在訪問 6 位地址的外部 data memory 或外部 program memory 時(shí),P2 端口會(huì)輸出高 8 位地址數(shù)據(jù)。(4)P3 口:P3 口的部帶有上拉電阻,它的輸出電流可以驅(qū)動(dòng) 4 個(gè) TTL 邏輯門電路,它是一組 8 位雙向 I/O 口。相對(duì) P3 口的一般功能,它的第二功能更為重要,它可接收一些用于程序校驗(yàn)與 Flash 閃速存儲(chǔ)器的控制信號(hào)。當(dāng)
24、對(duì) P3 端口寫“1”時(shí),該端口可以作為輸入口使用,這是因?yàn)樯侠娮鑼?P3 口拉到高電平,與此同時(shí),它將用上拉電阻輸出電流,這是由于 P3 口被外部信號(hào)拉低的緣故。(5)XTAL1:部振蕩器反相放大器和時(shí)鐘發(fā)生器的輸入端。(6)XTAL2:振蕩器反相放大器的輸出端口。(7)PSEN:program memory 允許 PSEN 輸出時(shí)外部 program memory 的讀選通信號(hào),當(dāng)單片機(jī)由外部 program memory 取數(shù)據(jù),每個(gè)機(jī)器周期輸出兩次脈沖。在這個(gè)過程中,如果訪問外部 data memory 時(shí),會(huì)跳過兩次 PSEN 信號(hào)。(8)RST:復(fù)位輸入端。當(dāng)振蕩器工作時(shí),當(dāng) R
25、ST 的引腳產(chǎn)生兩個(gè)機(jī)器周期以上的的高電平時(shí),會(huì)使 AT89C52 復(fù)位。(9)EV/VPP:外部訪問允許端口。只有當(dāng) EA 端接地時(shí),才能使 CPU 只允許外部 program memory,其中地址是 0000H-FFFFH。閃存存儲(chǔ)器編程時(shí),EV/VPP 端口接+12V 的編程允許電源。(10)ALE/PROG:ALE 是地址鎖存允許端口,PROG 是輸入編程脈沖端口。 當(dāng)訪問外部 data memory 或 data memory 時(shí),ALE 輸出脈沖用于鎖存地址的低 8 位字節(jié)。大多數(shù)情況,ALE 是以 1/6 的時(shí)鐘振蕩頻率輸出恒定的脈沖信號(hào),所以它可用于定時(shí)目的或?qū)ν廨敵鰰r(shí)鐘。值
26、得注意的是:每當(dāng)訪問外部data memory 時(shí)會(huì)跳過一個(gè) ALE 脈沖。在對(duì) Flash memory 編程的期間,該端口. . . . 7 / 45還將用于 PROG(輸入編程脈沖) 。2.1.32.1.3 AT89C52AT89C52 的特殊功能的特殊功能在單片機(jī)的片 data memory 中,字段位在 80H 到 FFH 之間的 128 個(gè)單元稱為 SFR(特殊功能寄存器) ,在這個(gè)字段位圍,只有一部分字節(jié)被定義,還有很大一部分字節(jié)沒有被定義。無法對(duì)未被定義的單元進(jìn)行讀寫操作,寫入的數(shù)據(jù)將丟失,讀出的數(shù)據(jù)也都不準(zhǔn)確。這些單元的數(shù)值在復(fù)位后總是“0” 。2.1.42.1.4 AT89
27、C52AT89C52 的數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)存儲(chǔ)單片機(jī)有 256 個(gè)字節(jié)的部隨機(jī)存取存儲(chǔ)器,SFR(特殊功能寄存器)與 80H至 FFH 間的高 128 個(gè)字節(jié)的地址是重疊的,但它們?cè)谖锢砩鲜欠珠_的。當(dāng)指令訪問的部單元的地址在 7FH 以上,指令所使用的尋址方式會(huì)有不同,如果指令是以間接尋址的方式訪問的,那么它將訪問高 128 字節(jié)的隨機(jī)存取存儲(chǔ)器,例如下面指令是采用間接尋址的,R1 的容為 080H,則說明它訪問數(shù)據(jù)的地址是080H。MOV R1,#data如果指令是以直接尋址的方式訪問的,那么它將訪問特殊功能寄存器,例如下面指令是采用直接尋址的,它訪問的是特殊功能寄存器 080H 地址單元,而不
28、是說它訪問數(shù)據(jù)的地址是 080H。MOV 080H,#data2.1.52.1.5 AT89C52AT89C52 的中斷的中斷AT89C52 單片機(jī)有 6 個(gè)中斷源:一個(gè)串行中斷,0、1、2 三個(gè)定時(shí)中斷定時(shí)器,INT0、INT1 兩個(gè)外部中斷。每個(gè)中斷源都能通過清除特殊寄存器 IE 中的相關(guān)中斷允許控制位使中斷源無效,通過置位使中斷源有效。其中,IE 還含一個(gè)能使所有中斷禁止的中斷總控制位,它就是 EA。如下表所示,IE.6 是無用的。對(duì)于單片機(jī) AT89S52 而言,IE.5 同樣不可用。這些是為 AT89 系列的新型單片機(jī)預(yù)留的,用戶在編程時(shí)不必給他們寫 1。當(dāng)定時(shí)器 0、1 的標(biāo)志位
29、TF1 和 TF0 在計(jì)數(shù)溢出時(shí),在這個(gè)周期中,S5P2被置位,電路會(huì)在下個(gè)周期捕捉它們的值。當(dāng)定時(shí)器 2 的標(biāo)志位 TF2 在計(jì)數(shù)溢出時(shí),同個(gè)周期 S5P2 被置位,并且電路會(huì)在同一個(gè)周期捕捉它的值。. . . . 8 / 45寄存器 T2CON 中的 EXF2 和 TF2 的或邏輯能夠觸發(fā)定時(shí)器 2。上述標(biāo)志位會(huì)在程序入中斷服務(wù)后被硬件清零。在現(xiàn)實(shí)情況當(dāng)中,中斷服務(wù)程序一定會(huì)判斷是否是 EXF2 或者 TF2 激活中斷。標(biāo)志位也務(wù)必被軟件清零。圖 2.3 中斷允許控制位2.1.62.1.6 AT89C52AT89C52 的兩種工作模式的兩種工作模式(1)掉電工作模式:使單片機(jī) AT89C5
30、2 進(jìn)入掉電模式的指令一般都是最后被執(zhí)行的一條指令,在這個(gè)模式下,特殊功能寄存器與片 Random-Access Memory(隨機(jī)存取存儲(chǔ)器)的容將被凍結(jié),振蕩器也會(huì)停止工作。只能通過硬件復(fù)位退出掉電模式,復(fù)位后的 AT89C52 芯片的 RAM 中的容不會(huì)改變,只是會(huì)將所有的特殊功能寄存器重新定義。值得注意的是,當(dāng) Vcc 還沒有恢復(fù)到正常工作電壓時(shí),是無法對(duì) AT89C52 芯片進(jìn)行復(fù)位的,除此之外,還應(yīng)在 Vcc 恢復(fù)到正常工作電壓后保持一定時(shí)間使得振蕩器重啟并穩(wěn)定工作方可進(jìn)行復(fù)位操作。(2)空閑工作模式:在這種工作模式下,全部片的外接設(shè)備處于激活狀態(tài),CPU 則保持睡眠狀態(tài),與此同時(shí)
31、,全部的特殊功能寄存器和片 Random-Access Memory(隨機(jī)存取存儲(chǔ)器)的容將被凍結(jié),和掉電工作模式不同的是,硬件復(fù)位或任何允許的中斷請(qǐng)求都可以退出空閑工作模式。通過硬件復(fù)位的方式退出空閑工作模式只需要兩個(gè)機(jī)械周期的有效復(fù)位信號(hào),在此期間,允許訪問端口引腳,但禁止片硬件訪問部 Random-Access Memory(隨機(jī)存取存儲(chǔ)器),為了避免在退出空閑工作模式期間對(duì)端口意外寫入,激活空閑工作模式的指令的后一條指令不應(yīng)該是對(duì)外部存儲(chǔ)器或端口的寫入指令。. . . . 9 / 452.2 溫度傳感器2.2.12.2.1 DS18B20DS18B20 簡(jiǎn)介簡(jiǎn)介DS18B20 作為常用
32、的溫度傳感器,具有精度高,抗干擾能力強(qiáng),成本低廉,體積小等特點(diǎn)。其測(cè)溫圍是-55C125C,固有誤差 1C。工作電壓是3.05.5V/DC,適用于小電源工作電路。 2.2.22.2.2 DS18B20DS18B20 的引腳說明的引腳說明(1)GND 地信號(hào)(2)DQ 數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。(3)VDD 可選擇的 VDD 引腳。當(dāng)利用寄生電源工作時(shí),此引腳務(wù)必接地。圖 2.4 DS18B20 的引腳分布圖. . . . 10 / 452.2.32.2.3 DS18B20DS18B20 的測(cè)溫原理的測(cè)溫原理溫度傳感器采集溫度信息,單片機(jī)
33、傳送溫度轉(zhuǎn)換指令給溫度傳感器,DS18B20 會(huì)啟動(dòng)轉(zhuǎn)換,經(jīng)過轉(zhuǎn)換后的溫度值就以帶符號(hào)的 16 位二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第 1,2 字節(jié)中。通過數(shù)據(jù)線,AT89C52 可讀到該數(shù)據(jù),讀取的方式是高位在后,低位在前,格式是 0.0625C/LSB。將轉(zhuǎn)化后所得的16 位數(shù)據(jù),存儲(chǔ)在溫度傳感器的兩個(gè) 8 bit 的隨機(jī)存取存儲(chǔ)器中,其中前 5 位表示符號(hào)位,當(dāng)測(cè)得的溫度低于 0C,這 5 位數(shù)值置 1,將通過測(cè)量得到的數(shù)值取反后加 1,并乘 0.0625,就能夠得到實(shí)際溫度值。當(dāng)測(cè)得的溫度高于0C,這 5 位數(shù)值都為 0,只需將測(cè)得到數(shù)據(jù)乘以 0.0625,便可得到實(shí)際的溫度值。例如
34、+25.0625C 的輸出數(shù)字是 07D0H。 圖 2.5 9 比特格式2.2.42.2.4 DS18B20DS18B20 的外形和部結(jié)構(gòu)的外形和部結(jié)構(gòu)DS18B20 溫度傳感器的部構(gòu)造主要由四部分組成:配置寄存器、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器 TL 和 TH、64 位光刻只讀存儲(chǔ)器。圖 2.6 溫度傳感器的管腳排列圖. . . . 11 / 45 圖 2.7 溫度傳感器的部結(jié)構(gòu)圖 圖 2.8 溫度傳感器的測(cè)溫原理圖2.2.52.2.5 DS18B20DS18B20 的應(yīng)用電路的應(yīng)用電路溫度傳感器的測(cè)溫系統(tǒng)有很多優(yōu)點(diǎn),比如接線口較少、方便連接、測(cè)量的精度高、測(cè)溫系統(tǒng)簡(jiǎn)單。DS18B20
35、有幾種不同的應(yīng)用方式(外部電源供電方式、寄生電源強(qiáng)上拉供電方式、寄生電源供電方式) ,其對(duì)應(yīng)的測(cè)溫電路圖也不同,因?yàn)樗耐獠繂卧╇姺绞绞菧囟葌鞲衅髯罴训墓ぷ鞣绞?,電路?jiǎn)單,抗干擾能力強(qiáng),而且工作穩(wěn)定,可以開放出可靠穩(wěn)定的多點(diǎn)溫度監(jiān)控系統(tǒng),所有下面介紹它的外部電源供電方式。在外部電源供電方式下,引腳 VDD 接入溫度傳感器的工作電源,此時(shí)電源電流足夠可以保證精度的轉(zhuǎn)換,因此 I/O 線沒有必要強(qiáng)上拉,理論上來講,總. . . . 12 / 45線上還可以接多個(gè)溫度傳感器 DS18B20,組成多點(diǎn)溫度測(cè)量系統(tǒng)。當(dāng)利用外接電源進(jìn)行供電時(shí),可以將溫度傳感器 DS18B20 的款電源電壓圍的優(yōu)點(diǎn)發(fā)揮得
36、淋漓精致,即便電源電壓降到 3V,依舊可以保證測(cè)量溫度的精度。圖 2.9 溫度傳感器的外部電源供電方式圖 2.9.1 溫度傳感器的多點(diǎn)測(cè)溫電路原理圖2.2.62.2.6 使用使用 DS18B20DS18B20 的注意事項(xiàng)的注意事項(xiàng)DS18B20 的測(cè)溫系統(tǒng)簡(jiǎn)單、方便連接、接線口少、測(cè)量精度高,但在實(shí)際應(yīng)用的過程中還是應(yīng)該注意以下幾點(diǎn)問題:. . . . 13 / 45(1)溫度傳感器 DS18B20 具有獨(dú)特的單線接口方式,只需要和單片機(jī)連接一條線即可實(shí)現(xiàn)單片機(jī)與傳感器間的雙向通訊,并且在使用過程中不需要外接任何元件,因此它的硬件電路比較簡(jiǎn)單。DS18B20 扁平的一面,接線方式變?yōu)橛艺筘?fù),
37、如果接反就會(huì)有發(fā)熱現(xiàn)象,嚴(yán)重的有可能燒毀。如果傳感器總是顯示 85C,可以首先判斷是否接反,如果不是因?yàn)榻臃吹木壒?,那么可以檢查DS18B20 的引腳 GND 是否懸空,懸空,則無法轉(zhuǎn)換溫度。(2)在使用 C 語言等高級(jí)語言對(duì) DS18B20 的操作部分進(jìn)行編程時(shí),最好采用匯編語言。由于 DS18B20 的硬件部分較為簡(jiǎn)單,因此要想實(shí)現(xiàn)完善的功能,就需要復(fù)雜的軟件編程對(duì)它進(jìn)行補(bǔ)償,并且 AT89C52 與 DS18B20 之間是通過串行數(shù)據(jù)進(jìn)行出生的,只有在對(duì)溫度傳感器進(jìn)行讀寫編程時(shí)嚴(yán)格的保證其讀寫時(shí)序,才能讀取測(cè)溫的結(jié)果。(3)溫度測(cè)量電纜線建議使用屏蔽 4 芯雙絞線,其中一對(duì)則接信號(hào)線和G
38、ND,另一組接 GND 和 VCC,屏蔽層在遠(yuǎn)端單點(diǎn)接地,因?yàn)樵跍y(cè)溫過程中,當(dāng)AT89C51 向 DS18B20 發(fā)送溫度轉(zhuǎn)換指令后,總要等待 DS18B20 返回信號(hào)后程序才會(huì)繼續(xù)執(zhí)行,如果某個(gè)溫度傳感器斷線或者接觸不良,該溫度傳感器在接收到單片機(jī)的溫度轉(zhuǎn)換指令后就不會(huì)發(fā)送回返回信號(hào),如此一來,程序會(huì)進(jìn)入死循環(huán)。采用上述接線的方法,可以最大程度上避免此類問題的發(fā)生。(4)在設(shè)計(jì)使用溫度傳感器進(jìn)行長(zhǎng)距離測(cè)溫時(shí),需要考慮阻抗匹配和分布電容的問題,由于總線分布是信號(hào)波發(fā)生畸變,當(dāng)使用超過 50 米的普通電纜線進(jìn)行傳送時(shí),測(cè)溫?cái)?shù)據(jù)的讀取會(huì)發(fā)送錯(cuò)誤。當(dāng)使用雙絞線帶屏蔽電纜時(shí),其通訊距離一般為 150
39、米,當(dāng)使用的雙絞線帶屏蔽電纜的每米絞合次數(shù)增多時(shí),其通訊距離也會(huì)加長(zhǎng)。(5)在介紹 DS18B20 的外部電源供電方式時(shí),提到過其總線上還可以接多個(gè) DS18B20 傳感器,組成多點(diǎn)測(cè)溫系統(tǒng),可是并未說明總線上所掛的溫度傳感器的數(shù)量是否有限制,容易使人誤解,其實(shí)當(dāng)總線上所掛溫度傳感器的數(shù)量超過 8 個(gè)時(shí),AT89C52 的總線驅(qū)動(dòng)就會(huì)產(chǎn)生問題,所以在利用 DS18B20 組成多點(diǎn)測(cè)溫系統(tǒng)時(shí)需要注意這個(gè)問題。. . . . 14 / 452.3 LCD16022.3.12.3.1 LCD1602LCD1602 液晶的介紹液晶的介紹LCD1602 屬于工業(yè)字符型液晶,最多能夠顯示 16 列 2 行
40、的字符(32 個(gè)字符) 。LCD1602 是點(diǎn)陣型液晶顯示器,它一般專門用來顯示符號(hào)、數(shù)字、字母。其中每個(gè)點(diǎn)陣字符位都能夠顯示一個(gè)字符,每個(gè)字符之間會(huì)有一個(gè)點(diǎn)距的間隔,行間也有間隔,因此它顯示圖像的效果不太好。圖 2.9.2 LCD1602 顯示屏2.3.22.3.2 LCD1602LCD1602 液晶的引腳功能簡(jiǎn)介液晶的引腳功能簡(jiǎn)介圖 2.9.3 LCD1602 引腳圖(1)Vss:電源地。(2)Vcc:接 5V 電源的正極。(3)V0:對(duì)比度調(diào)制端。當(dāng)對(duì)比度過高時(shí),可以使用一個(gè) 10K 的電位器進(jìn)行調(diào)整。(4)RS:寄存器選擇端。低電平時(shí)選擇 Instruction Register(指令
41、寄存器) ,高電平時(shí)選擇 Data Register(數(shù)據(jù)寄存器) 。(5)RW:讀寫信號(hào)線。低電平時(shí)進(jìn)行寫操作(write) ,高電平時(shí)進(jìn)行讀操作(read) 。. . . . 15 / 45(6)E:使能端。負(fù)跳變時(shí)執(zhí)行指令,高電平時(shí)讀取信息。(7)DB0DB7:8 位雙向數(shù)據(jù)端。(8)BLA:背光電源或空腳。(9)BLK:背光負(fù)極。2.3.32.3.3 LCD1602LCD1602 液晶的操作控制液晶的操作控制LCD1602 液晶部的 CGROM(字符發(fā)生存儲(chǔ)器)存儲(chǔ)有 160 個(gè)不同的點(diǎn)陣字符圖形,比如,常用符號(hào)、英文字母、阿拉伯?dāng)?shù)字、日文等,每一個(gè)字符都對(duì)應(yīng)一個(gè)符號(hào),例如英文字母“A
42、”的代碼是 01000010B(42H),顯示時(shí)液晶顯示模塊只需把地址 42H 中的點(diǎn)陣字符圖形顯示處理,就能在顯示屏上看到“A”的字樣了。因?yàn)?PC 中的字符代碼和字符發(fā)生存儲(chǔ)器存儲(chǔ)的字符代碼基本上是一致的,因此在向顯示數(shù)據(jù)隨機(jī)存儲(chǔ)器寫程序時(shí)可以直接用 P2=A,就可以完成對(duì) P2 的賦值,當(dāng) PC 編譯時(shí),會(huì)先將A轉(zhuǎn)換成代碼 41H。0 xA00 xFF 是希臘文字符與日文字符,0 x200 x7F 是標(biāo)準(zhǔn)的 ASCII 碼,其余字符碼(0 x800 x9F 和 0 x100 x1F)則沒有定義。下表是液晶顯示器 LCD1602 的 16 進(jìn)制 ASCII 碼表地址:讀數(shù)方法為,先讀左邊那
43、列,再讀上面那行,例如:字母 A 的 ASCII 為 0 x41,符號(hào)#的 ASCII 為0 x23(0 x 表示十六進(jìn)制) 。. . . . 16 / 45圖 2.9.4 字符發(fā)生存儲(chǔ)器中字符字模和字符碼關(guān)系對(duì)照表 2.3.42.3.4 LCD1602LCD1602 液晶的指令集液晶的指令集LCD1602 液晶顯示器的指令集見附錄部分。. . . . 17 / 45 3 系統(tǒng)硬件電路的設(shè)計(jì)3.1 硬件總體設(shè)計(jì)思路本文旨在研究設(shè)計(jì)一款電路簡(jiǎn)單,低成本,低功耗,體積小的電子體溫計(jì),使得其可以應(yīng)用于家庭與醫(yī)療部門等場(chǎng)合。為了能夠準(zhǔn)確測(cè)量體溫,并且精度達(dá)到 0.0625C ,顯示的溫度值保留小數(shù)點(diǎn)后
44、一位,本設(shè)計(jì)選擇了合適的元器件。本設(shè)計(jì)的硬件總體設(shè)計(jì)思路是用 DS18B20 測(cè)溫,利用它采集測(cè)量的溫度信號(hào),單片機(jī)對(duì)采集的信號(hào)進(jìn)行處理,將電信號(hào)轉(zhuǎn)化為溫度值。用液晶顯示器(LCD)顯示出溫度值。如果溫度值超過設(shè)定值,蜂鳴器會(huì)進(jìn)行報(bào)警,按一下按鍵,使體溫值不受外界變化的影響而保持穩(wěn)定不變,方便人們讀取溫度值。圖 3.1 電子體溫計(jì)電路設(shè)計(jì)原理圖. . . . 18 / 453.2 單片機(jī)時(shí)鐘電路與復(fù)位電路的設(shè)計(jì)3.2.13.2.1 時(shí)鐘電路設(shè)計(jì)時(shí)鐘電路設(shè)計(jì)一般而言,單片機(jī)對(duì)振蕩晶體的頻率的要 1.224MHz,通常為11.0529MHz。時(shí)鐘電路設(shè)計(jì)圖如下,其中電容 C1,C2 的大小能夠影響
45、振蕩晶體輸出頻率的大小、穩(wěn)定,它的取值圍是 20100pF,一般值是 30 pF。圖 3.2 時(shí)鐘電路設(shè)計(jì)圖3.2.23.2.2 復(fù)位電路設(shè)計(jì)復(fù)位電路設(shè)計(jì)計(jì)算機(jī)每次啟動(dòng)允許時(shí),系統(tǒng)中的某些部件與 CPU 都要有一個(gè)確切的初值,這個(gè)初值也可以說是單片機(jī)的復(fù)位狀態(tài)。RST 是高電平有效,當(dāng)給電容 C3 瞬間充電時(shí),引腳 RST 會(huì)產(chǎn)生正脈沖,RST 引腳上持續(xù)接大約 10ms(大約 2 個(gè)機(jī)械周期)以上的高電平,單片機(jī)就可以復(fù)位。如果想在單片機(jī)工作以后進(jìn)行復(fù)位,只要按下開關(guān)按鈕,就可完成。當(dāng)晶體振蕩器的頻率是 12MHZ 是,RC 的一般值是 C3=10uF,R2=8.2K。圖 3.3 復(fù)位電路設(shè)
46、計(jì)圖. . . . 19 / 45 3.3 溫度傳感器模塊溫度傳感器是以單總線方式工作的,并且只有 3 個(gè)端口,所以 DS18B20 的硬件連接方式十分簡(jiǎn)單,溫度傳感器和單片機(jī) AT89C52 之間只需要一根 I/O 線即可完成連接。其電路連接圖請(qǐng)參考圖 3.1。3.4 液晶顯示模塊在本文的上一部分,介紹了 LCD1602 的引腳功能,讓我們對(duì)該液晶顯示器有了大概的了解,下面,將通過介紹 LCD1602 的 11 條控制指令,加深我們對(duì)于它的了解。圖 3.4 LCD1602 的控制指令. . . . 20 / 45指令功能說明:指令 1:顯示清零,光標(biāo)復(fù)位到 00H 位置。指令 2:返回光標(biāo),
47、光標(biāo)復(fù)位到 00H 位置。指令 3:置輸入模式,其中 I/D 表示光標(biāo)的移動(dòng)方向,低電平向左移,高電平向右移,S 則表示判斷所有的文字是否右移或左移,低電平表示是,高電平表示否。指令 4:開關(guān)控制顯示,其中 D 代表整體顯示開關(guān)的控制,低電平則關(guān),高電平則開。C 代表光標(biāo)開關(guān)的控制,低電平說明無光標(biāo),高電平說明有光標(biāo)。B 代表光標(biāo)是否閃爍的控制,低電平不閃爍,高電平閃爍。指令 5:字符或光標(biāo)移動(dòng)。S/C 代表低電平移動(dòng)光標(biāo),高電平移動(dòng)字符。R/L,低電平向右移,高電平向左移。指令 6:預(yù)置功能。其中 DL 表示低電平時(shí)是 4 位總線,高電平時(shí)是 8 位總線。N 表示低電平時(shí)顯示單行字符,高電平
48、時(shí)顯示雙行字符。F 代表高電平時(shí)顯示的點(diǎn)陣字符為 510,低電平是顯示的點(diǎn)陣字符為 57。指令 7:字符發(fā)送存儲(chǔ)器地址。地址格式:字符地址8+字符行數(shù)。指令 8:數(shù)據(jù)存儲(chǔ)器地址。第一行地址:80H8FH,第二行的地址:C0HCFH。指令 9:讀忙標(biāo)志或地址。BF 表示忙標(biāo)志位,低電平代表空閑,高電平代表忙,這個(gè)時(shí)候模塊不能接收數(shù)據(jù)或命令。指令 10:寫數(shù)據(jù)到 CGRAM。指令 11:從 CGRAM 中讀數(shù)據(jù)。如下圖所示,溫度傳感器采用的是寄生電源供電方式,此時(shí) GND 接地,VCC接電源??梢砸粋€(gè) MOSFET 管實(shí)現(xiàn)對(duì)總線的上拉,這樣做可以確保在有效的溫度傳感器時(shí)鐘周期給 DS18B20 提
49、供充足的電流,因?yàn)閱纹瑱C(jī)和溫度傳感器之間只有一條線相連,所以發(fā)送端口一定是三態(tài)的。當(dāng)溫度傳感器處在溫度 A/D 轉(zhuǎn)換操作與寫存儲(chǔ)器是,總線上一定要有較強(qiáng)的上拉,上拉開啟的最長(zhǎng)時(shí)間是 10us。. . . . 21 / 453.5 報(bào)警電路模塊報(bào)警電路是利用發(fā)光二極管來實(shí)現(xiàn)的。當(dāng)溫度值超過預(yù)定值時(shí),發(fā)光二極管會(huì)發(fā)光報(bào)警。圖 3.5 報(bào)警電路連接圖. . . . 22 / 454 系統(tǒng)軟件設(shè)計(jì)4.1 軟件 Keil 和 Proteus 的簡(jiǎn)單介紹4.1.14.1.1 軟件軟件 KeilKeil 簡(jiǎn)介簡(jiǎn)介Keil C51 一款兼容 51 單片機(jī) C 語言的軟件開放系統(tǒng),它是由美國(guó)公司Keil Sof
50、tware 研發(fā)的。Keil 為使用者提供了包含庫管理、連接器、宏匯編、功能強(qiáng)大的仿真調(diào)試器、C 編譯器等在的較為完善的開發(fā)方案,并通過一個(gè)uVision(集成開發(fā)環(huán)境)將這些部分整合在一起。C 語言較之匯編語言在可維護(hù)性、功能、可讀性、結(jié)構(gòu)性方面有很大的優(yōu)勢(shì),因此使用起來更加容易,并且器生成目標(biāo)程序的效率很高,也容易理解,尤其在大型軟件的開放時(shí)更能體現(xiàn)出他的優(yōu)勢(shì)。在 window xp、window 7、window 2000、NT 等操作系統(tǒng)在都可以正常允許軟件 Keil。無論你選擇匯編語言還是 C 語言,該軟件都可以為你提供極大的便利。4.1.24.1.2 軟件軟件 ProteusPro
51、teus 簡(jiǎn)介簡(jiǎn)介軟件 Proteus 是英國(guó)公司 Lab Center Electronics 開發(fā)的一款 EDA 工具軟件。除了最基本的仿真功能以外,它還可以仿真單片機(jī)與其外圍元器件。Proteus 因此在單片機(jī)開放應(yīng)用方面有著舉足輕重的作用。它實(shí)現(xiàn)了從概念到產(chǎn)品的整個(gè)的設(shè)計(jì),其中包括原理圖(PCB 版圖)布線、將程序燒到單片機(jī)、外圍電路的協(xié)同仿真,一鍵切換至 PCB 版圖設(shè)計(jì)。下面介紹一下 Proteus 的設(shè)置:F2:柵格是 0.5 毫米,顯示柵格是 0.5 毫米,在進(jìn)行 PCB 版圖設(shè)計(jì)時(shí)用處很大;F3:柵格是 1 毫米,顯示柵格是 1 毫米,在進(jìn)行 PCB 版圖設(shè)計(jì)時(shí)用處很大;F4
52、:柵格是 2.5 毫米,顯示柵格是 2.5 毫米,在進(jìn)行 PCB 版圖設(shè)計(jì)時(shí)用處很大;F5:重定位中心;F6:以鼠標(biāo)為中心進(jìn)行放大;. . . . 23 / 45F7:以鼠標(biāo)為中心進(jìn)行縮??;F8:當(dāng)前工作區(qū)全部顯示;Ctrl+F1:柵格寬度是 0.1mm 毫米,顯示柵格是 0.1 毫米,在進(jìn)行 PCB 版圖設(shè)計(jì)時(shí)用處很大;Ctrl+s:磁吸的開關(guān),磁吸是用于對(duì)準(zhǔn)一些點(diǎn)的,如引腳等;Ctrl+畫線:能夠劃曲線;R:刷新;u:撤銷鍵;m:顯示單位切換,在右下角會(huì)有顯示;x:定位坐標(biāo)的打開或關(guān)閉,會(huì)顯示一個(gè)大十字射線;o:重置原點(diǎn),將鼠標(biāo)指向的點(diǎn)重置為原點(diǎn);+ -:旋轉(zhuǎn);Ctrl+pgup:最頂層;
53、Ctrl+Pgdn:最底層;Pgup:改變圖層;Pgdn:改變圖層。4.2 系統(tǒng)程序的編寫4.2.14.2.1 系統(tǒng)主程序系統(tǒng)主程序系統(tǒng)主程序的功能是讀出和處理 DS18B20 測(cè)量出的溫度值,并實(shí)現(xiàn)溫度值在液晶上的顯示。電子體溫計(jì)的功能的實(shí)現(xiàn)主要是由軟件配合硬件電路來完成的。根據(jù)軟件的作用,可以分成兩類:主程序(監(jiān)控軟件)和子程序(執(zhí)行軟件) 。其中主程序主要負(fù)責(zé)協(xié)調(diào)操作者和各個(gè)執(zhí)行模塊間的關(guān)系,它是整個(gè)控制系統(tǒng)的核心,子程序則是負(fù)責(zé)完成各種實(shí)際的功能,比如通信、計(jì)算、測(cè)量、顯示等。首先需要根據(jù)電子體溫計(jì)的整體功能選擇合適的監(jiān)控代碼結(jié)構(gòu),然后根據(jù)其實(shí)時(shí)性的特點(diǎn),將各個(gè)執(zhí)行模塊與監(jiān)控軟件之間的
54、調(diào)度關(guān)系安排得更加合理。. . . . 24 / 45圖 4.1 系統(tǒng)主程序流程圖4.2.24.2.2 溫度傳感器初始化溫度傳感器初始化圖 4.2 溫度傳感器初始化流程圖4.2.34.2.3 溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序在溫度轉(zhuǎn)換命令子程序中,主要是發(fā)送使得溫度開始轉(zhuǎn)換的指令,當(dāng)采用的分辨率是 12 位時(shí),轉(zhuǎn)換時(shí)間大概為 750 毫秒。在本次設(shè)計(jì)中,采用 1 秒顯示程序延時(shí)法等待溫度轉(zhuǎn)換的完成。. . . . 25 / 45圖 4.3 溫度轉(zhuǎn)換命令子程序流程圖4.2.44.2.4 溫度數(shù)據(jù)的計(jì)算方法溫度數(shù)據(jù)的計(jì)算方法只要將從溫度傳感器上讀出的二進(jìn)制數(shù)值轉(zhuǎn)換成十進(jìn)制數(shù)值,才能夠?qū)⑵渥鳛樽?/p>
55、符顯示在液晶顯示器上。溫度傳感器的轉(zhuǎn)換精度是 912 位,本次設(shè)計(jì)采用 12 位,以便提高轉(zhuǎn)換精度。由于采用 12 位的轉(zhuǎn)換精度,故須將寄存器中的二進(jìn)制數(shù)值乘 0.0625,才能得到實(shí)際溫度值(十進(jìn)制) 。下表是十進(jìn)制與二進(jìn)制的近似對(duì)應(yīng)關(guān)系,二進(jìn)制圍為 0F,轉(zhuǎn)換成十進(jìn)制小數(shù)就是 0.0625 的倍數(shù)(015 倍) 。圖 4.4 十進(jìn)制與二進(jìn)制的近似對(duì)應(yīng)關(guān)系4.3 源代碼完整源代碼見附錄部分。5 性能測(cè)試與分析 將各個(gè)部分的硬件電路連接完成后進(jìn)行調(diào)試檢查,然后運(yùn)用軟件 Keil 和Proteus 進(jìn)行仿真實(shí)驗(yàn)。常溫下的仿真效果圖如下所示。. . . . 26 / 45圖 5.1 常溫仿真效果圖
56、當(dāng)溫度低于預(yù)設(shè)值時(shí),LED 燈亮,達(dá)到報(bào)警的目的。其仿真圖如下所示。圖 5.2 低溫報(bào)警電路仿真圖當(dāng)溫度高于預(yù)設(shè)值時(shí),LED 燈亮,達(dá)到報(bào)警的目的。其仿真圖如下所示。. . . . 27 / 45圖 5.3 高溫報(bào)警電路仿真圖結(jié) 束 語在本次設(shè)計(jì)中,我們?cè)敿?xì)的研究了基于單片機(jī)實(shí)現(xiàn)的電子體溫計(jì)的工作原理,通過調(diào)試,其性能要求到達(dá)到了開題報(bào)告的要求,并最終完成電子體溫計(jì)的設(shè)計(jì)任務(wù)。通過本次論文設(shè)計(jì),概括了以下幾點(diǎn)結(jié)論:1.根據(jù)目前的溫度測(cè)量系統(tǒng)的特點(diǎn),設(shè)計(jì)出了一套適用于溫度傳感器DS18B20 的溫度測(cè)量網(wǎng)絡(luò)的方案,該方案最顯著的特點(diǎn)就是系統(tǒng)的經(jīng)濟(jì)實(shí)用性、快速化和數(shù)字化。2.軟件程序的編寫采用結(jié)構(gòu)
57、化、模塊化的設(shè)計(jì)風(fēng)格,更加易于維護(hù)與修改。3.采用單片機(jī) AT89C52 為總線命令,基本結(jié)構(gòu)為單總線,實(shí)現(xiàn)與溫度傳感器的連接。因?yàn)槭浅醮卧O(shè)計(jì),并且時(shí)間也較為緊迫,這次的設(shè)計(jì)還有很多的不足之處:1.如果有需要的話,可以在該系統(tǒng)中添加控制電路,并在其中進(jìn)行 PID 算法,可以達(dá)到提高精度的目的。2.進(jìn)一步完善電子體溫計(jì)系統(tǒng)的可靠性。比如當(dāng)溫度傳感器 DS18B20 無常工作時(shí),雖然更換掉傳感器十分簡(jiǎn)單,但是這將涉與到應(yīng)用程序的修改與該傳感器的序列號(hào)的修改,這些都是需要完善的。3.完善系統(tǒng)的應(yīng)用軟件。比如在溫度采集時(shí),可以試著用只用一次命令就是全部單總線上的溫度傳感器進(jìn)行溫度采集并轉(zhuǎn)換,這樣可以減
58、少系統(tǒng)運(yùn)行所需要的時(shí)間。這次的論文就電子體溫計(jì)在溫度測(cè)量系統(tǒng)上做了大概的研究和探討。并達(dá)到了電子體溫計(jì)設(shè)計(jì)最初的要求,為今后實(shí)現(xiàn)網(wǎng)絡(luò)化和數(shù)字化的溫度測(cè)量系統(tǒng)提供了一種參考。. . . . 28 / 45參 考 文 獻(xiàn)1 鞠建平.單片機(jī)應(yīng)用技術(shù)教程M.:華中科技大學(xué),2012(9).2 康光華.電子技術(shù)基礎(chǔ)數(shù)字部分M.:高等教育,2006(1),5.3 后金.數(shù)字信號(hào)處理M.:高等教育,2008(11),2.4 邱關(guān)源.電路M.:高等教育,2006(5),5.5 吳大正.信號(hào)與線性系統(tǒng)分析M.:高等教育,2005(8),4.6 譚浩強(qiáng).C 語言程序設(shè)計(jì)M.:清華大學(xué),2010(10),8.7 耿
59、.數(shù)據(jù)結(jié)構(gòu)用 C 語言描述M.:高等教育,2012(7),2.2014-2-14 wenku.baidu./view/596c9bce89eb172ded63b755.html. 2014-2-17 wenku.baidu./view/f819ef82b9d528ea81c7795d.html.2014-2-21 wenku.baidu./view/76c25e2158fb770bf78a5597.html.2014-3-15 wenku.baidu./view/7ace14140b4e767f5acfce83.html. 2014-3-29 wenku.baidu./view/7cb3624
60、dcf84b9d528ea7ab7.html. . . . . 29 / 45致 經(jīng)過幾個(gè)月的學(xué)習(xí)和實(shí)踐,基于單片機(jī)設(shè)計(jì)與實(shí)現(xiàn)的電子體溫計(jì)論文基本完成,由于是第一次做這種較為復(fù)雜的設(shè)計(jì),再加上經(jīng)驗(yàn)不足,時(shí)間有限,難免有很多問題考慮得不周到,如果沒有玲遠(yuǎn)老師的指導(dǎo),同學(xué)們的支持,很難想像這次的畢業(yè)論文會(huì)按時(shí)完成。在這期間,周圍的老師和同學(xué)給了我很大的幫助,在此,我要表達(dá)對(duì)他們誠(chéng)摯的感。在這里,首先得感我的指導(dǎo)老師,她同時(shí)也是給我們上了一年課的老師,為我們?cè)谀M電子技術(shù)方面打下了堅(jiān)實(shí)的基礎(chǔ)。在本次畢業(yè)論文的寫作過程中,從選題到收集資料,可行性方案的確定,論文提綱的擬定與修改,寫作,中期檢查,后期修
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)人才2024年薪金聘用協(xié)議書版
- 二零二五版冷鏈物流車輛貨物運(yùn)輸安全協(xié)議2篇
- 二零二五年藝術(shù)品搬運(yùn)運(yùn)輸服務(wù)合同3篇
- 二零二五版數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展合同范本2篇
- 2024施工合同匯集
- 二零二五年度鋼板租賃與節(jié)能減排服務(wù)協(xié)議3篇
- 個(gè)性化旅游顧問服務(wù)協(xié)議2024版版A版
- 2024版產(chǎn)品銷售協(xié)議6篇
- 二零二五年度高科技產(chǎn)業(yè)合伙人分家協(xié)議書3篇
- 二零二五年度智能工廠安全生產(chǎn)服務(wù)外包合同2篇
- 《用銳角三角函數(shù)解決問題(3)》參考課件
- 房地產(chǎn)營(yíng)銷策劃 -佛山龍灣壹號(hào)學(xué)區(qū)房項(xiàng)目推廣策略提案方案
- 產(chǎn)品共同研發(fā)合作協(xié)議范本5篇
- 風(fēng)水學(xué)的基礎(chǔ)知識(shí)培訓(xùn)
- 吸入療法在呼吸康復(fù)應(yīng)用中的中國(guó)專家共識(shí)2022版
- 1-35kV電纜技術(shù)參數(shù)表
- 信息科技課程標(biāo)準(zhǔn)測(cè)(2022版)考試題庫及答案
- 施工組織設(shè)計(jì)方案針對(duì)性、完整性
- 2002版干部履歷表(貴州省)
- DL∕T 1909-2018 -48V電力通信直流電源系統(tǒng)技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論