非接觸式測(cè)溫系統(tǒng)_第1頁(yè)
非接觸式測(cè)溫系統(tǒng)_第2頁(yè)
非接觸式測(cè)溫系統(tǒng)_第3頁(yè)
非接觸式測(cè)溫系統(tǒng)_第4頁(yè)
非接觸式測(cè)溫系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(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、附件3:畢業(yè)設(shè)計(jì)規(guī)范格式 學(xué)號(hào) 年級(jí) 遠(yuǎn)程和繼續(xù)教育學(xué)院畢業(yè)設(shè)計(jì)基于單片機(jī)的非接觸式測(cè)溫系統(tǒng)專(zhuān) 業(yè) 姓 名 指導(dǎo)教師 評(píng) 閱 人 年月中國(guó) 蘇州學(xué)術(shù)聲明: 鄭 重 聲 明本人呈交的畢業(yè)設(shè)計(jì),是在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料真實(shí)可靠。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(jì)(論文)的研究成果不包含他人享有著作權(quán)的內(nèi)容。對(duì)本設(shè)計(jì)(論文)所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集體,均已在文中以明確的方式標(biāo)明。本設(shè)計(jì)(論文)的知識(shí)產(chǎn)權(quán)歸屬于培養(yǎng)單位。本人簽名: 日期: 摘 要本設(shè)計(jì)根據(jù)設(shè)計(jì)任務(wù)和實(shí)際考察進(jìn)行了方案設(shè)計(jì)和方案論證,并且設(shè)計(jì)了相應(yīng)的硬件電路和軟件系統(tǒng),研

2、制了非接觸式測(cè)溫系統(tǒng)。該系統(tǒng)采用MLX90614紅外溫度傳感器和80C51單片機(jī)為核心技術(shù)設(shè)計(jì)的非接觸式測(cè)溫系統(tǒng),利用傳感器自帶的低噪放大器、A/D轉(zhuǎn)換將傳感器采集的溫度電壓信號(hào)經(jīng)過(guò)處理輸出給單片機(jī),從而單片機(jī)控制顯示溫度和高溫聲音報(bào)警。對(duì)非接觸式測(cè)溫的實(shí)現(xiàn)技術(shù)進(jìn)行了有意義的探索與研究,在快速、安全測(cè)溫方面有一定參考價(jià)值。關(guān)鍵詞:80C51;MLX90614;非接觸式測(cè)溫;ABSTRACTAccording to the design task and the actual investigation, the design and the scheme demonstration are c

3、arried out, and the corresponding hardware and software systems are designed, and the non-contact temperature measurement system is developed.The system uses the MLX90614 infrared temperature sensor and the 80C51 MCU as the non contact temperature measuring system. Using the low noise amplifier with

4、 the sensor and the A/D conversion, the temperature and voltage signals collected by the sensor are processed and output to the single chip microcomputer, and the microcontroller is controlled to display the temperature and the high temperature sound alarm. It has made a meaningful exploration and R

5、esearch on the realization technology of non-contact temperature measurement, and has a certain reference value in fast and safe temperature measurement. Key words: 80C51; MLX90614; Non-contact temperature measurement;目錄摘要IABSTRACTII目 錄III引言1第一章1緒論11.1 課題背景11.2 非接觸測(cè)溫系統(tǒng)概述11.3 課題研究的目的及意義2第2章系統(tǒng)總體概述與構(gòu)架2

6、2.1 系統(tǒng)總功能概述22.2 系統(tǒng)硬件總體構(gòu)架32.3 系統(tǒng)軟件總體構(gòu)架3第3章 系統(tǒng)硬件選擇與電路設(shè)計(jì)43.1 芯片介紹及相關(guān)模塊及相關(guān)電路模塊設(shè)計(jì)43.1.1 80C51系列單片機(jī)簡(jiǎn)介43.1.2 MLX90614紅外溫度傳感器測(cè)溫模塊介紹53.1.3 LCD1602液晶模塊介紹73.1.4蜂鳴器概述73.2 單片機(jī)系統(tǒng)及外圍電路的設(shè)計(jì)83.1.1 單片機(jī)最小系統(tǒng)原理圖83.2.1 傳感器電路93.2.3 溫度顯示電路9第4章 軟件部分104.1 系統(tǒng)程序流程圖114.2 溫度顯示與報(bào)警程序11附錄12引言一般來(lái)說(shuō),測(cè)溫方式可以分為接觸式和非接觸式,接觸式測(cè)溫只能測(cè)量被測(cè)物體與測(cè)溫傳感器

7、達(dá)到熱平衡后的溫度,所以響應(yīng)時(shí)間長(zhǎng),且極易受環(huán)境溫度的影響;而紅外測(cè)溫是根據(jù)被測(cè)物體的紅外輻射能量來(lái)確定物體的溫度,具有影響動(dòng)被測(cè)物體溫度分布場(chǎng),溫度分辨率高、響應(yīng)速度快、測(cè)溫范圍廣、不受溫度上限的限制、穩(wěn)定性好等特點(diǎn),近年來(lái)在家庭自動(dòng)化、汽車(chē)電子、航空和軍事上得到越來(lái)越廣泛的應(yīng)用。本文的非接觸式測(cè)溫系統(tǒng)是單片機(jī)系統(tǒng)的一種典型應(yīng)用,要求在不接觸物體的情況下對(duì)物體的溫度進(jìn)行直接的測(cè)量和報(bào)警,從而快速直觀的了解到物體的溫度。本次設(shè)計(jì)采用80C51單片機(jī)為控制核心,并結(jié)合傳感器模塊、顯示模塊,最后單片機(jī)通過(guò)判斷數(shù)字化的傳感器溫度信號(hào)直接控制蜂鳴器聲音報(bào)警系統(tǒng)。整個(gè)系統(tǒng)結(jié)構(gòu)緊密,傳輸性能高。第1章 緒

8、論1.1 課題背景隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,傳統(tǒng)的接觸式測(cè)溫方式以不能滿足現(xiàn)代一些領(lǐng)域的測(cè)溫需求,對(duì)非接觸、遠(yuǎn)距離測(cè)溫技術(shù)的需求越來(lái)越大。本紅外測(cè)溫系統(tǒng)設(shè)計(jì)的出發(fā)點(diǎn)也正是基于此。1.2 非接觸式測(cè)溫系統(tǒng)概述非接觸式紅外測(cè)溫也叫輻射測(cè)溫,一般使用熱電型或光電型探測(cè)器作為檢測(cè)元件。此溫度測(cè)量系統(tǒng)比較簡(jiǎn)單,可以實(shí)現(xiàn)大面積的測(cè)溫,也可以是被測(cè)物體上某一點(diǎn)的溫度測(cè)量;可以是便攜式,也可以是固定式,并且使用方便;它的制造工藝簡(jiǎn)單,成本較低,測(cè)溫是不接觸被測(cè)物體。具有響應(yīng)時(shí)間短、不干擾被測(cè)溫場(chǎng)、使用壽命長(zhǎng)、操作方便等一系列優(yōu)點(diǎn),但利用紅外輻射測(cè)量溫度,也必然受到物體發(fā)射率、測(cè)溫距離、煙塵和水蒸氣等外界因素的影

9、響,其測(cè)量誤差較大。在這種溫度測(cè)量技術(shù)中紅外傳感器的選擇是非常重要的,而且不僅在點(diǎn)溫度測(cè)量中要使用紅外溫度傳感器,大面積溫度測(cè)量也可以使用紅外溫度傳感器。本設(shè)計(jì)正是采用紅外溫度傳感器這種溫度測(cè)量技術(shù),它具有溫度分別率高、響應(yīng)速度快、不擾動(dòng)被測(cè)目標(biāo)溫度分布場(chǎng)、測(cè)量精度高和穩(wěn)定性好等優(yōu)點(diǎn);另外紅外溫度傳感器的種類(lèi)比較多。發(fā)展非???,技術(shù)比較成熟,這也是本設(shè)計(jì)采用紅外溫度傳感器設(shè)計(jì)非接觸溫度測(cè)量系統(tǒng)的主要原因之一。1.3 課題研究的目的及意義設(shè)計(jì)出更加快速、安全且成本低的非接觸式測(cè)溫系統(tǒng)。第2章系統(tǒng)總體概述與構(gòu)架2.1系統(tǒng)總功能概述非接觸式測(cè)溫系統(tǒng)大體上是由溫度傳感器、液晶顯示和報(bào)警器組成,溫度傳感

10、器的工作原理是傳感器輸出的電壓模擬信號(hào)隨著被測(cè)物體溫度與傳感器自身溫度變化而變化,再傳輸?shù)絾纹瑱C(jī)顯示溫度并判斷是否報(bào)警,后傳輸?shù)綀?bào)警器做出響應(yīng)。系統(tǒng)整體功能如圖 2-1所示:圖3-2 測(cè)溫系統(tǒng)功能2.2 系統(tǒng)硬件總體構(gòu)架測(cè)溫系統(tǒng)的主要模塊:傳感器測(cè)溫模塊、單片機(jī)控制模塊、聲音報(bào)警模塊、溫度顯示模塊、電源模塊(圖中未顯示),如圖2-2圖2-2 硬件構(gòu)架圖2.3 系統(tǒng)軟件總體構(gòu)架程序初始化結(jié)束后,整個(gè)非接觸式測(cè)溫系統(tǒng)進(jìn)入監(jiān)控狀態(tài),溫度傳感器檢測(cè)溫度并輸出電壓信號(hào),80C51單片機(jī)將經(jīng)過(guò)傳感器放大和A/D轉(zhuǎn)換的溫度信號(hào)成的十進(jìn)度氣體溫度與限定值相比較,顯示并判斷是否報(bào)警。如有異常報(bào)警則需要手動(dòng)復(fù)位初

11、始化整個(gè)系統(tǒng)。系統(tǒng)程序流程圖如圖2-3圖2-3 軟件構(gòu)架圖第3章 系統(tǒng)硬件選擇與電路設(shè)計(jì)硬件電路是電路系統(tǒng)的重要組成部分,硬件電路設(shè)計(jì)是否合理直接影響電路系統(tǒng)的性能。3.1 芯片介紹及相關(guān)模塊及相關(guān)電路模塊設(shè)計(jì)3.1.1 80C51系列單片機(jī)簡(jiǎn)介雖然目前單片機(jī)的品種很多,但其中最具代表性的當(dāng)屬I(mǎi)ntel公司的MCS-51單片機(jī)系列。MCS-51以其典型的結(jié)構(gòu)、完善的總線、SFR的集中管理模式、位操作系統(tǒng)和面向控制功能的豐富的指令系統(tǒng),為單片機(jī)的發(fā)展奠定了良好的基礎(chǔ)。MCS-51系列的典型芯片是80C51(CHMOS型的8051)。1) 80C51單片機(jī)特點(diǎn):a) 體積小、重量輕、價(jià)格低、耗電少

12、、電源單一。b) 抗干擾能力強(qiáng),可靠性高。c) 面向控制,控制功能強(qiáng),運(yùn)行速度快。2) 80C51單片機(jī)引腳及其功能介紹:?jiǎn)纹瑱C(jī)的40個(gè)引腳大致可分為4類(lèi):電源、時(shí)鐘、控制和I/O引腳。a) 電源:VCC - 芯片電源,接+5V;VSS - 接地端;b) 時(shí)鐘:XTAL1、XTAL2 - 晶體振蕩電路反相輸入端和輸出端。c) 控制線:控制線共有4根: d) ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖 e) ALE功能:用來(lái)鎖存P0口送出的低8位地址 f) PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。g) PSEN:外ROM讀選通信號(hào)。 h) RS

13、T/VPD:復(fù)位/備用電源。 i) RST(Reset)功能:復(fù)位信號(hào)輸入端。 j) VPD功能:在Vcc掉電情況下,接備用電源。 k) EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。l) EA功能:內(nèi)外ROM選擇端。 m) Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。n) I/O線:80C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。 P3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。3) 8051引腳圖圖3-1 80C51單片機(jī)引腳圖3.1.2 MLX90614測(cè)溫傳感器介紹MLX90614系列測(cè)溫芯片通

14、過(guò)通遠(yuǎn)程物體的紅外線放射加熱,熱量由芯片熱電偶測(cè)得。由紅外溫度傳感器、低噪放大器、A/D轉(zhuǎn)換器、DSP單元、脈沖調(diào)制電路及邏輯控制電路構(gòu)成,熱電堆輸出的溫度信號(hào)經(jīng)過(guò)內(nèi)部高性能、低噪聲的運(yùn)算放大器放大后,送給模數(shù)轉(zhuǎn)換器(ADC),ADC輸出的17位數(shù)字經(jīng)過(guò)可編程FIR和IIR低通濾波器(即圖中的DSP)處理后輸出,該輸出作為測(cè)量結(jié)果保存在MXL90614內(nèi)部RAM存儲(chǔ)單元中,可以通過(guò)SMBus讀取;同時(shí)測(cè)量結(jié)果送到后級(jí)數(shù)子式脈沖寬度調(diào)制電路,將測(cè)量結(jié)果以PWM的方式輸出。內(nèi)部結(jié)構(gòu)圖如下。圖3-1.1 MLX90614D傳感器內(nèi)部結(jié)構(gòu)MXL90614采用4腳罐形封裝(TO239),頂端引腳分布視圖

15、如圖所示,具體引腳功能如下:圖3-1.2 MLX90614傳感器引腳圖VDD:外部電源輸入;VSS:地,和外殼相戀;SCL/Vz:當(dāng)MXL90614為SMBUS模式時(shí)SCL為串行輸入,為PWM模式時(shí)Vz為由外部電路置高電平;SDA/PWM:當(dāng)MXL90614為SMBUS模式時(shí)串行數(shù)據(jù)輸出接口,為PWM模式時(shí)做為PWM波輸出接口。測(cè)溫原理:輸出時(shí)被測(cè)物體溫度(TO)與傳感器自身溫度(Ta)共同作用的結(jié)果,理想情況下熱電元件的輸出電壓為:其中溫度單位均為Kelvin,A為元件的靈敏度常數(shù)。3.1.3 LCD1602液晶模塊介紹LCD1602是一種工業(yè)字符型液晶,能夠同時(shí)顯示16X02即32個(gè)字符。

16、LCD1602引腳說(shuō)明:1)第1腳:VSS為地電源。2)第2腳:VDD接5V正電源。3)第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。4)第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。5)第5腳:R/W為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。6)第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命

17、令。7)第714腳:D0D7為8位雙向數(shù)據(jù)線。8)第15腳:背光源正極。9)第16腳:背光源負(fù)極.如圖 圖3-1.3 LCD1602引腳圖3.1.4蜂鳴器概述蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類(lèi)型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“ZZG”、“LB”、“JD”等)表示。蜂鳴器原理圖如圖圖3-1.4 蜂鳴器原理圖蜂鳴器驅(qū)動(dòng)電路一般都包含以下幾個(gè)部分:一個(gè)三極管、一個(gè)蜂鳴器、一個(gè)續(xù)流二極管和一個(gè)電源濾波電容。

18、1)蜂鳴器發(fā)聲元件,在其兩端施加直流電壓(有源蜂鳴器)或者方波(無(wú)源蜂鳴器)就可以發(fā)聲,其主要參數(shù)是外形尺寸、發(fā)聲方向、工作電壓、工作頻率、工作電流、驅(qū)動(dòng)方式(直流/方波)等。這些都可以根據(jù)需要來(lái)選擇。2)續(xù)流二極管蜂鳴器本質(zhì)上是一個(gè)感性元件,其電流不能瞬變,因此必須有一個(gè)續(xù)流二極管提供續(xù)流。否則,在蜂鳴器兩端會(huì)產(chǎn)生幾十伏的尖峰電壓,可能損壞驅(qū)動(dòng)三極管,并干擾整個(gè)電路系統(tǒng)的其它部分。3)濾波電容濾波電容C1的作用是濾波,濾除蜂鳴器電流對(duì)其它部分的影響,也可改善電源的交流阻抗,如果可能,最好是再并聯(lián)一個(gè)220uF的電解電容。4)三極管三極管Q1起開(kāi)關(guān)作用,其基極的高電平使三極管飽和導(dǎo)通,使蜂鳴器

19、發(fā)聲;而基極低電平則使三極管關(guān)閉,蜂鳴器停止發(fā)聲。3.2 單片機(jī)系統(tǒng)及外圍電路的設(shè)計(jì)3.2.1 單片機(jī)最小系統(tǒng)原理圖本文所使用的80C51單片機(jī)最小系統(tǒng)由晶振電路、復(fù)位電路、電源以及串口通信組成。原理圖如圖圖3-2 51單片機(jī)最小系統(tǒng)原理圖3.2.2 數(shù)據(jù)采集與處理電路本電路包括紅外測(cè)溫傳感器MLX90614模塊可以將傳感器實(shí)時(shí)監(jiān)測(cè)的溫度模擬信號(hào)經(jīng)過(guò)放大以及模數(shù)轉(zhuǎn)換轉(zhuǎn)換成80C51單片機(jī)可識(shí)別的數(shù)字化的十六進(jìn)制溫度信號(hào)。原理圖如圖。圖3-2.2 傳感器模塊原理圖3.2.3 聲音報(bào)警電路本電路采用蜂鳴器來(lái)報(bào)警,當(dāng)溫度達(dá)到設(shè)定的警戒值或限定值蜂鳴器會(huì)發(fā)聲來(lái)報(bào)警,以期達(dá)到跟好的提示效果。圖3-2.3

20、 報(bào)警模塊原理圖3.2.4 溫度顯示電路本電路采用LCD1602液晶顯示被測(cè)物體的溫度。如圖為液晶顯示模塊原理圖。原理圖如圖。圖3-2.4 溫度顯示模塊原理圖第4章 軟件部分3.1 系統(tǒng)程序流程圖非接觸式測(cè)溫系統(tǒng)控制器采用主控芯片為80C51,是測(cè)溫系統(tǒng)智能化的統(tǒng)一體現(xiàn)。測(cè)溫系統(tǒng)的軟件采用了模塊化程序設(shè)計(jì)方法,系統(tǒng)通過(guò)子程序調(diào)用,實(shí)現(xiàn)各個(gè)模塊的具體功能。不僅使程序結(jié)構(gòu)清晰,又易于以后進(jìn)一步擴(kuò)展它功能。本系統(tǒng)主要包括主程序、溫度采集子程序、溫度判斷、溫度顯示與報(bào)警子程序等。系統(tǒng)流程圖如圖。圖3-1 系統(tǒng)流程圖3.2 溫度顯示與報(bào)警程序見(jiàn)附錄二附錄一 電路原理圖附錄二 系統(tǒng)程序#include #

21、include #define uint unsigned int #define uchar unsigned char #define Nack_number 10 /*端口定義* /uchar flag; /LCD 控制線接口 sbit RS=P01; /RS 端 sbit RW=P02; /讀寫(xiě)端 sbit LCDE=P35; /使能端 /mlx90614 端口定義 sbit BUZZ=P00; /定義蜂鳴器端口 sbit RS=P01; /定義LCD控制端口 sbit RW=P02; sbit EN =P03; /*數(shù)據(jù)定義*/ void CALTEMP(uint TEMP); vo

22、id ReadKey(void); void initInt(); void delay1(uint z); void show(); uchar key_num; uchar mah5; /*全局變量定義*/bit b20ms,b100ms; /定時(shí)標(biāo)志位 uchar c20ms,c100ms; /定時(shí)毫秒數(shù) /* LCD1602 * /向LCD 寫(xiě)入命令或數(shù)據(jù)* /#define LCD_COMMAND 0 /命令 #define LCD_DATA 1 / 數(shù)據(jù) #define LCD_CLEAR_SCREEN 0x01 / 清屏 #define LCD_HOMING 0x02 / 光標(biāo)返

23、回原點(diǎn) #define LCD_SHOW 0x04 /顯示開(kāi) #define LCD_HIDE 0x00 /顯示關(guān) #define LCD_CURSOR 0x02 /顯示光標(biāo) #define LCD_NO_CURSOR 0x00 /無(wú)光標(biāo) #define LCD_FLASH 0x01 /光標(biāo)閃動(dòng) #define LCD_NO_FLASH 0x00 /光標(biāo)不閃動(dòng) /*設(shè)置輸入模式* /#define LCD_AC_UP 0x02 /光標(biāo)右移 AC+ #define LCD_AC_DOWN 0x00 /默認(rèn)光標(biāo)左移 AC- #define LCD_MOVE 0x01 /畫(huà)面可平移 #define

24、LCD_NO_MOVE 0x00 /默認(rèn) 畫(huà)面不移動(dòng) /* mlx90614 */command mode 命令模式 #define RamAccess 0x00 /對(duì)RAM 操作 #define EepomAccess 0x20 /對(duì)EEPRAM 操作 #define Mode 0x60 /進(jìn)入命令模式 #define ExitMode 0x61 /退出命令模式 #define ReadFlag 0xf0 /讀標(biāo)志 #define EnterSleep 0xff /進(jìn)入睡眠模式 /ram address read only RAM 地址(只讀) #define AbmientTempAddr

25、 0x03 /周?chē)鷾囟?#define IR1Addr 0x04 #define IR2Addr 0x05 #define LineAbmientTempAddr 0x06 /環(huán)境溫度 /*0x0000 0x4074 16500 0.01/單元 -40 125*/ #define LineObj1TempAddr 0x07 / 目標(biāo)溫度,紅外溫度 /*0x27ad-0x7fff 0x3559 22610 0.02/單元 -70.01-382.19 0.01 452.2*/ #define LineObj2TempAddr 0x08 /eepom address EEPROM 地址 #defin

26、e TObjMaxAddr 0x00 /測(cè)量范圍上限設(shè)定 #define TObjMinAddr 0x01 /測(cè)量范圍下限設(shè)定 #define PWMCtrlAddr 0x02 /PWM 設(shè)定 #define TaRangeAddr 0x03 /環(huán)境溫度設(shè)定 #define KeAddr 0x04 /頻率修正系數(shù) #define ConfigAddr 0x05 /配置寄存器 #define SMbusAddr 0x0e /器件地址設(shè)定 #define Reserverd1Addr 0x0f /保留 #define Reserverd2Addr 0x19 /保留 #define ID1Addr

27、0x1c /ID 地址1 #define ID2Addr 0x1d /ID 地址2 #define ID3Addr 0x1e /ID 地址3 #define ID4Addr 0x1f /ID 地址4 /*函數(shù)聲明* /void start(); /MLX90614 發(fā)起始位子程序 void stop(); /MLX90614 發(fā)結(jié)束位子程序 uchar ReadByte(void); /MLX90614 接收字節(jié)子程序 void send_bit(void); /MLX90614 發(fā)送位子程序 void SendByte(uchar number); /MLX90614 接收字節(jié)子程序 voi

28、d read_bit(void); /MLX90614 接收位子程序 void delay(uint N); /延時(shí)程序 uint readtemp(void); /讀溫度數(shù)據(jù) void init1602(void); /LCD 初始化子程序 void busy(void); /LCD 判斷忙子程序 void cmd_wrt(uchar cmd); /LCD 寫(xiě)命令子程序 void dat_wrt(uchar dat); /LCD 寫(xiě)數(shù)據(jù)子程序 void display(uint Tem); /顯示子程序 void Print(uchar *str); /字符串顯示程序 /*主函數(shù)* /voi

29、d main() uint Tem; /溫度變量 initInt(); SCK=1; SDA=1; delay(4); SCK=0; delay(1000); SCK=1; init1602(); /初始化LCD while(1) while(b100ms) /每100ms 掃描一次鍵盤(pán) b100ms=0; ReadKey(); if(key_num=1) /按下1 鍵時(shí),進(jìn)行數(shù)碼管顯示 Tem=readtemp(); CALTEMP(Tem); show(); if(key_num!=1) /液晶屏顯示 Tem=readtemp(); /讀取溫度 cmd_wrt(0x01); /清屏 Pri

30、nt( Temperature: ); /顯示字符串 Temperature: 且換行 display(Tem); /顯示溫度 Print( C); /顯示攝氏度 delay(100000); /延時(shí)再讀取溫度顯示 /-字符串顯示程序- /void Print(uchar *str) /字符串顯示程序 while(*str!=0) /直到字符串結(jié)束 dat_wrt(*str); /轉(zhuǎn)成ASCII 碼 str+; /指向下一個(gè)字符 /-輸入轉(zhuǎn)換并顯示(用于LCD1602)- /void display(uint Tem) uint T,a,b; T=Tem*2; if(T=27315) /溫度為

31、正 T=T-27315; / a=T/100; /溫度整數(shù) b=T-a*100; /溫度小數(shù) if(a=100) /溫度超過(guò)100 度 dat_wrt(0x30+a/100); /顯示溫度百位 dat_wrt(0x30+a%100/10); /顯示溫度十位 dat_wrt(0x30+a%10); /顯示溫度個(gè)位 else if(a=10) /溫度超過(guò)10 度 dat_wrt(0x30+a%100/10); /顯示溫度十位 dat_wrt(0x30+a%10); /顯示溫度個(gè)位 else /溫度不超過(guò)10 度 dat_wrt(0x30+a); /顯示溫度個(gè)位 dat_wrt(0x2e); /顯示

32、小數(shù)點(diǎn) if(b=10) /溫度小數(shù)點(diǎn)后第1 位數(shù)不等于0 dat_wrt(0x30+b/10); /顯示溫度小數(shù)點(diǎn)后第1 位數(shù) dat_wrt(0x30+b%10); /顯示溫度小數(shù)點(diǎn)后第2 位數(shù) else /溫度小數(shù)點(diǎn)后第1 位數(shù)等于0 dat_wrt(0x30); /顯示溫度小數(shù)點(diǎn)后第1 位數(shù)0 dat_wrt(0x30+b); /顯示溫度小數(shù)點(diǎn)后第2 位數(shù) else /溫度為負(fù) T=27315-T; a=T/100; b=T-a*100; dat_wrt(0x2d); /顯示負(fù)號(hào) if(a=10) /溫度低于負(fù)10 度 dat_wrt(0x30+a/10); /顯示溫度十位 dat_wrt(0x30+a%10

溫馨提示

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