畢業(yè)論文--紅外快速檢測人體溫度裝置的設(shè)計與研制_第1頁
已閱讀1頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計開題報告書</b></p><p>  畢業(yè)論文(設(shè)計)中期檢查表</p><p>  院(系): 物理系 專業(yè): 電子信息工程 2010年04月15日</p><p><b>  目 錄</b></p><

2、;p><b>  摘要及關(guān)鍵詞</b></p><p><b>  引言</b></p><p>  1. 設(shè)計思路與原理方框圖</p><p><b>  1.1設(shè)計思路</b></p><p>  1.2系統(tǒng)方框圖及測量原理</p><p

3、><b>  2. 器件選擇</b></p><p>  2.1紅外器件的選擇</p><p>  2.2 LM358放大器件</p><p>  2.3溫度傳感器DS18B20</p><p>  2.4 A/D轉(zhuǎn)換器TLC549</p><p>  2.5 AT89C51單片機

4、</p><p>  2.6顯示器件LM016L</p><p><b>  3.電路設(shè)計</b></p><p>  3.1復(fù)位電路設(shè)計</p><p>  3.2上下限溫度控制電路</p><p><b>  3.3報警電路</b></p>&l

5、t;p><b>  3.4顯示電路</b></p><p>  3.5 P7187紅外傳感電路</p><p>  4. 系統(tǒng)的調(diào)試仿真</p><p><b>  5.源程序</b></p><p><b>  參考文獻</b></p><

6、p><b>  致謝</b></p><p>  紅外快速檢測人體溫度裝置的設(shè)計與研制</p><p>  摘 要 系統(tǒng)由紅外熱釋傳感器、溫度傳感器DS18B20、高精度放大器、A/D轉(zhuǎn)換器TLC549、AT89C51單片機、譯碼顯示模塊與報警電路等部分構(gòu)成,實現(xiàn)非接觸式紅外快速測溫,它能夠在較短的時間內(nèi)準確測量出人體的溫度,而在測得溫度超出某一范圍時即啟用報

7、警電路進行超標報警。文中提出了具體設(shè)計方案,討論了紅外非接觸式體溫計的基本原理,進行了可行性論證。給出了電路圖和程序流程圖并附有源程序。由于利用了單片機及數(shù)字控制系統(tǒng)的優(yōu)點,系統(tǒng)的各方面性能得到了顯著的提高。具有溫度分辨率高、響應(yīng)速度快、不擾動被測目標溫度分布場、測量精度高和穩(wěn)定性好等優(yōu)點;同時也有測量值受被測物體發(fā)射率、反射熱源、氣氛干擾影響的弱點。</p><p>  關(guān) 鍵 詞 紅外熱釋傳感器;溫度傳感器;

8、快速檢測;非接觸測量;A/D轉(zhuǎn)換器;單片機;譯碼顯示;超標報警</p><p>  Abstract This system by infrared pyroelectric sensor, temperature sensor DS18B20, high accuracy amplifier,A/D switch TLC549, AT89C51 microcomputer master control par

9、t constitution ,decoding demonstration module and warning circuit . Realized the non-contact type infrared clinical thermometer.It can be accurate in shorter time to measure a temperature of human body, but at measure th

10、e temperature outrun some one scope be in use to report to the police electric circuit to carry on a super mark to</p><p>  Key words Pyroelectric Infrared Sensors, temperature sensor,fast check,non contact

11、 measurement, A/D switch,single chip computer, decoding demonstration, excess warning </p><p><b>  引言</b></p><p>  目前,國內(nèi)傳統(tǒng)的體溫測量是用醫(yī)用玻璃液體溫度計(俗稱體溫表)、醫(yī)用電子接觸式溫度計(常用熱敏電阻作為它的感溫元件等插入人體內(nèi)部(舌下

12、、肛門)或置于腋下,通過與人體接觸使溫度計測出人的體溫。但這些體溫計的缺點是測量的速度慢(約2分鐘以上)。玻璃水銀溫度計還易碎,在使用時容易因消毒不徹底而引起交叉感染。紅外快速檢測人體溫度裝置,有效地避免國內(nèi)傳統(tǒng)的體溫測量的缺點,能夠在機場、海關(guān)、車站、賓館、商場、影院、寫字樓、學(xué)校等人流量較大的公共場所,快速,準確,沒有交叉感染地測出人體溫度。在2003年全國防“非典”斗爭中,中科院上海技術(shù)物理研究所在863計劃高技術(shù)成果的基礎(chǔ)上對

13、紅外技術(shù)應(yīng)用于非接觸式測溫進行了深入研究,在短時間內(nèi)開發(fā)成功了“非接觸式紅外測溫儀”,打開了國內(nèi)“非接觸式測量”的新篇章,但由于這種裝置受一定因素影響,測量結(jié)果還有待進一步進行校正。 在國外,非接觸式紅外測溫儀已經(jīng)非常先進了,自1999年就有許多國家致力于這方面的開發(fā)研究,到現(xiàn)在為止很多國家的產(chǎn)品已經(jīng)達到國際先進水平,并已廣泛應(yīng)用于各個領(lǐng)域。比如:美國早在2001年就頒布了有關(guān)紅外測溫儀的計量標準,美國雷泰公司生產(chǎn)的</p

14、><p>  1. 設(shè)計思路與原理方框圖</p><p><b>  1.1 設(shè)計思路</b></p><p>  本設(shè)計中采用的熱釋電紅外傳感器是PerkinElmer Optoelectronics的P7187。溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的DS18B20。單片機是TI公司的帶有LCD驅(qū)動的低功耗單片機,可以直接與LCD屏相連

15、而不需要另外的驅(qū)動電路,它最多可以顯示96段。ADC采用的是AD公司帶有恒定電流源的高精度的16位∑-△AD,它為兩路輸入,一路與熱電堆相連,另一路與熱敏電阻相連。恒定電流源可以用于補償電路中驅(qū)動熱敏電阻。利用紅外傳感器對被測目標時的熱輻射進行采集,通過轉(zhuǎn)換電路將紅外傳感器采集到的光信號轉(zhuǎn)換成電信號,再將電信號通過放大電路,A/D轉(zhuǎn)換等單元電路處理后送到單片機中,最后單片機將帶有數(shù)據(jù)信息的電信號進行分析處理,將電信號轉(zhuǎn)變成與之相對應(yīng)大小

16、的溫度值并將結(jié)果送到LCD進行顯示。</p><p>  1.2 系統(tǒng)方框圖及測量原理</p><p>  1.2.1 系統(tǒng)方框圖</p><p>  根據(jù)設(shè)計要求,建立總的系統(tǒng)設(shè)計框架。總體框架圖如1.2-1</p><p>  1.2-1紅外測溫裝置襲擊框架</p><p>  1.2.2 測量原理</p&g

17、t;<p>  自然界一切溫度高于絕對零度(-273.15℃)的物體,由于分子的熱運動,都在不停地向周圍空間輻射包括紅外波段在內(nèi)的電磁波,其輻射能量與物體本身的溫度關(guān)系符合輻射定律。</p><p>  公式一中:E為輻射出射度,表現(xiàn)物體輻射能力的強弱,單位是W/m3;δ為斯蒂芬—彼爾茲曼常數(shù),5.67×10-8W/(m2·K4);ε為物體的輻射率;T為物體的溫度,單位K;T0為

18、物體周圍的環(huán)境溫度,單位K。物體的溫度越高,輻射功率就越大。相反,物體輻射功率越大,其溫度也越高,利用這個公式,我們就可以知道所測量物體的溫度。</p><p>  人體主要輻射波長在9~10μm的紅紅外線,通過對人體量的測量,便能準確的測量人體表面溫度。由于該波長范圍內(nèi)的光線不被空氣所吸收,因而能更準確的測量人體表面溫度。紅外測溫最大的優(yōu)點是測量速度快,并由于它只吸收人體對外發(fā)射的紅外輻射,沒有任何化學(xué)、生物因

19、素作用于人體,所以可以安全放心使用。</p><p>  紅外快速檢測人體溫度裝置是利用紅外傳感器對被測目標時的熱輻射進行采集,通過轉(zhuǎn)換電路將紅外傳感器采集到的光信號轉(zhuǎn)換成電信號,再將電信號通過放大電路,A/D轉(zhuǎn)換等單元電路處理后送到單片機中,最后單片機將帶有數(shù)據(jù)信息的電信號進行分析處理,將電信號轉(zhuǎn)變成與之相對應(yīng)大小的溫度值顯示輸出。當(dāng)人體靠近紅外探測器的有效范圍后,人體釋放的電磁波或紅外輻射會被紅外熱釋傳感器所

20、吸收,從而引起紅外熱釋傳感器輸出電壓的變化。但因其輸出電壓信號特別小,所以要經(jīng)過一定的放大處理。然后經(jīng)過A/D轉(zhuǎn)換等電路處理后送入單片機,單片機將傳送過來的數(shù)據(jù)信號分析處理,并將起轉(zhuǎn)換為相應(yīng)大小的溫度值顯示輸出。當(dāng)顯示的溫度低于所設(shè)置的溫度(T<TL)就會啟動報警電路聲光報警;當(dāng)顯示的溫度高于所設(shè)置的最高溫度(T>TH),也會啟動聲光電路報警。圖1.2-2是紅外測溫的系統(tǒng)原理圖。</p><p>  1.2-2系

21、統(tǒng)原理圖</p><p><b>  2 器件選擇</b></p><p>  2.1 紅外器件的選擇</p><p>  2.1.1 熱釋電效應(yīng)</p><p>  當(dāng)一些晶體受熱時,在晶體兩端將會產(chǎn)生數(shù)量相等而符號相反的電荷,這種由于熱變化產(chǎn)生的電極化現(xiàn)象,被稱為熱釋電效應(yīng)。通常,晶體自發(fā)極化所產(chǎn)生的束縛電荷被來自空

22、氣中附著在晶體表面的自由電子所中和,其自發(fā)極化電性不能表現(xiàn)出來。某些晶體(如:PZT,LiTaO3,PVFZ等)的表面接受了紅外線的輻射能量,其表面產(chǎn)生溫度變化,隨著溫度的上升或下降,這些物質(zhì)表面上就會產(chǎn)生電荷的變化。圖2.1.1-1為熱釋電晶體表面電荷隨溫度變化的移動情況。</p><p>  圖 2.1.1-1 熱釋電效應(yīng)圖</p><p>  可見,當(dāng)紅外線照射熱釋電元件時,其內(nèi)部極

23、化作用發(fā)生很大的變化,其變化部分作為電荷釋放出,從外部取出該電荷就變成傳感器的輸出電壓。由此可見,熱釋電傳感器只有在溫度變化時才有輸出電壓。</p><p>  2.1.2 P7187熱釋電紅外傳感器</p><p>  熱釋電紅外傳感器利用的正是熱釋電效應(yīng),是一種溫度敏感傳感器。它由陶瓷氧化物或壓電晶體元件組成,元件兩個表面做成電極,當(dāng)傳感器監(jiān)測范圍內(nèi)溫度有ΔT的變化時,熱釋電效應(yīng)會在兩

24、個電極上會產(chǎn)生電荷ΔQ,即在兩電極之間產(chǎn)生一微弱電壓ΔV。傳感器主要有外殼、濾光片、熱釋電元件PZT、場效應(yīng)管FET等組成。其中,濾光片設(shè)置在窗口處,組成紅外線通過的窗口。濾光片為6mm多層膜干涉濾光片,對太陽光和熒光燈光的短波長(約5mm以下)可很好濾除。熱釋電元件PZT將波長在8mm~12mm之間的紅外信號的微弱變化轉(zhuǎn)變?yōu)殡娦盘?,為了只對人體的紅外輻射敏感,在它的輻射照面通常覆蓋有特殊的菲涅耳濾光片,使環(huán)境的干擾受到明顯的抑制作用。

25、P7187熱釋電紅外探測器是由熱釋電紅外傳感器、菲涅耳透鏡及電子電路組成的一種光電檢測裝置。他能無接觸地檢測人體運動時輻射出的紅外線并轉(zhuǎn)換成電信號輸出。人體的體溫約為3 7℃,輻射最多紅外線的波長是10μm左右,而P7187對7~20μm范圍波長比較靈敏,他采用了2個熱釋電元件PZT板,PZT板表面吸收紅外線,并在受光面的內(nèi)外各自安裝取出電荷的一對電極,能敏感的捕捉到被測物體或光源,具有</p><p>  圖2

26、.1.2-1 P7187熱釋電紅外傳感器結(jié)構(gòu)圖與等效電路圖</p><p>  2.2 LM358放大器件</p><p> ?。?)LM358 內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關(guān)。它的使用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運算放大器的場

27、合。</p><p> ?。?)LM358參數(shù)特性</p><p><b>  · 內(nèi)部頻率補償;</b></p><p><b>  · 內(nèi)部頻率補償;</b></p><p>  · 直流電壓增益高(約100dB);</p><p>  &#

28、183; 單位增益頻帶寬(約1MHz);</p><p>  · 電源電壓范圍寬:單電源(3—30V);</p><p>  ·雙電源(±1.5 一±15V);</p><p>  · 低功耗電流,適合于電池供電;</p><p><b>  · 低輸入偏流;</b&

29、gt;</p><p>  · 低輸入失調(diào)電壓和失調(diào)電流;</p><p>  · 共模輸入電壓范圍寬,包括接地;</p><p>  · 差模輸入電壓范圍寬,等于電源電壓范圍;</p><p>  · 輸出電壓擺幅大(0 至Vcc-1.5V);</p><p>  2.3 溫度

30、傳感器DS18B20</p><p>  2.3.1 DS18B20性能特點</p><p>  DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點如下:</p><p>  ●獨特的單線

31、接口僅需要一個端口引腳進行通信;</p><p>  ●多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)功能;</p><p><b>  ●無須外部器件;</b></p><p>  ●可通過數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;</p><p><b>  ●零待機功耗;</b><

32、/p><p>  ●溫度以9或12位數(shù)字;</p><p>  ●用戶可定義報警設(shè)置;</p><p>  ●報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;</p><p>  ●負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作; </p><p>  2.3.2 DS18B20內(nèi)部結(jié)構(gòu)&

33、lt;/p><p>  DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2.3.2-1</p><p>  圖2.3.2-1DS18B20其內(nèi)部結(jié)構(gòu)框圖</p><p>  64位ROM的結(jié)構(gòu)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進行通信的原因。

34、溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。</p><p>  DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖3所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時寄存器中

35、的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.3.2-2所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,DS18B20出廠時該位被設(shè)置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。</p><p>  圖2.3.2-2 DS18B20的字節(jié)定義</p><p>  由圖2.3.2-3可見,DS18B20溫度轉(zhuǎn)換的時間

36、比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。</p><p><b>  圖2.3.2-3</b></p><p>  高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。</p><p>  當(dāng)DS1

37、8B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。</p><p>  當(dāng)符號位S=0時,表示測得的溫度值為正值,可以直接將二進制位轉(zhuǎn)換為十進制;當(dāng)符號位S=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù)值。圖

38、2.3.2-4是一部分溫度值對應(yīng)的二進制溫度數(shù)據(jù)。</p><p>  DS18B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。若T>TH或T<TL,則將該器件內(nèi)的報警標志位置位,并對主機發(fā)出的報警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時測量溫度并進行報警搜索。</p><p>  在64位ROM的最高有效字節(jié)中存儲有循環(huán)冗余檢驗碼(CRC)。主機RO

39、M的前56位來計算CRC值,并和存入DS18B20的CRC值作比較,以判斷主機收到的ROM數(shù)據(jù)是否正確。</p><p>  DS18B20的測溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)據(jù)2的脈沖輸入。器件中還有一個計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的

40、時鐘脈沖進行計數(shù)進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將0℃所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1、溫度寄存器中,計數(shù)器1和溫度寄</p><p>  存器被預(yù)置在0℃所對應(yīng)的一個基數(shù)值。</p><p>  減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被</

41、p><p>  裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此</p><p>  循環(huán)直到減法計數(shù)器計數(shù)到0時,停止溫度寄存器的累加,此時溫度寄存器中的數(shù)值就是所測溫度值。其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)器門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值大致被測溫度值。</p><p>  圖2.3.2-4 一部分溫度對應(yīng)表</p&g

42、t;<p>  另外,由于DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作按協(xié)議進行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。</p><p>  2.4 A/D 轉(zhuǎn)換器TLC549</p><p>  2.4.1TLC549 的性能參數(shù)</p>

43、<p>  TLC549是采用IinCMOSTM技術(shù)并以開關(guān)電容逐次逼近原理工作的8為串行A/D芯片,可與通用微處理器、控制器通過I/O、CLOCK CS、DATA OUT三條口線進行串行接口。TLC549既有4MHz的片內(nèi)系統(tǒng)時鐘和軟、硬件控制電路,轉(zhuǎn)換時間最長為17μs,允許最高轉(zhuǎn)換速度達40000次/s。總失調(diào)誤差最大為±0.5LSB,典型功耗為6mW。TLC549采用差分參考電壓高阻輸入,抗干擾,可按比例量程

44、校準轉(zhuǎn)換范圍,由于其VREF-接地時,(VREF+)-(VREF-)≥1V,故可用于較小信號的采樣,此外該芯片還單電源3~6V的供電范圍??傊?,TLC549具有控制口線少,時序簡單,轉(zhuǎn)換速度快,低功耗,價格便宜等特點,故我們選用TLC549作為A/D轉(zhuǎn)換器件使</p><p>  用。TLC549的內(nèi)部框圖和引腳名稱如圖2.4.1-1</p><p>  圖2.4.1-1 TLC549內(nèi)部

45、框圖</p><p>  2.4.2 TLC549的工作原理</p><p>  TLC549帶有片內(nèi)系統(tǒng)時鐘,該時鐘與I/O CLOCK是獨立工作的,無需特殊速度和相位匹配。當(dāng)CS為高時,數(shù)據(jù)DATA OUT端處于高阻態(tài),此時I/O CLOCK不起作用。這種CS控制作用允許在同時使用TLC549時,共用I/O CLOCK,以減少A/D使用時的I/O控制端口。</p><

46、;p>  2.5 AT89C51</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組

47、合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。AT89C51的管腳如圖2.5-1</p><p>  2.5-1 AT89C51的管腳圖</p><p><b>  1.主要特性</b></p><p>  ·與MCS-51 兼容</p><p&g

48、t;  ·4K字節(jié)可編程閃爍存儲器</p><p>  ·壽命:1000寫/擦循環(huán)</p><p>  ·數(shù)據(jù)保留時間:10年</p><p>  ·全靜態(tài)工作:0Hz-24Hz</p><p>  ·三級程序存儲器鎖定</p><p>  ·128*8位內(nèi)部

49、RAM</p><p>  ·32可編程I/O線</p><p>  ·兩個16位定時器/計數(shù)器</p><p><b>  ·5個中斷源</b></p><p><b>  ·可編程串行通道</b></p><p>  ·低

50、功耗的閑置和掉電模式</p><p>  ·片內(nèi)振蕩器和時鐘電路 </p><p>  2.6 顯示器件LM016L</p><p>  LM016L是雙行顯示的液晶顯示器。在溫度顯示方面觀察較方便,相比較于LED數(shù)碼管其連接電路簡單而且觀察方便。</p><p><b>  3 電路設(shè)計</b></p&

51、gt;<p>  根據(jù)設(shè)計要求,系統(tǒng)整體硬件電路包括:紅外信號采集部分,環(huán)境溫度采集部分,復(fù)位部分,鍵盤輸入部分,顯示部分,報警部分等電路組成。</p><p>  3.1 復(fù)位電路設(shè)計</p><p>  當(dāng)在AT89C51單片機的RST引腳引入高電平并保持兩個機器周期時,單片機內(nèi)部就執(zhí)行復(fù)位操作。若該引腳一直保持高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。</p>&

52、lt;p>  我們采用的是上電與按鍵均有效的電路。按健復(fù)位電路是上電手動復(fù)位,使用比較方便,在程序跑飛時,可以手動復(fù)位,這樣就不用在重起單片機電源,就可以實現(xiàn)復(fù)位。復(fù)位電路如下圖3.1-1</p><p><b>  3.1-1復(fù)位電路</b></p><p>  3.2 上下限溫度控制電路</p><p>  如圖3.2-1該電路由四個

53、點動式開關(guān)構(gòu)成,分別送入單片機的P1.4、P1.5、P1.6、P1.7口。開始時P1.4、P1.5、P1.6、P1.7口的電位都處于高電位,此時顯示屏顯示當(dāng)前溫度,當(dāng)按下控制P1.5的開關(guān)立即就會顯示上限溫度和下限溫度。如果發(fā)現(xiàn)設(shè)置的溫度上限過低,再點擊控制P1.5的開關(guān)就會將溫度上限所設(shè)置的溫度降低,點擊P1.7確定。如果覺得上限溫度設(shè)置的過低,此時按下控制P1.4的開關(guān),點擊控制P1.5的開關(guān)就可將溫度上限所設(shè)置的溫度升高,同樣點擊

54、P1.7確定。上述是對溫度上限的設(shè)置。當(dāng)需要設(shè)置溫度下限的時候,我們同樣需要點擊控制P1.5的開關(guān),在顯示溫度上限和下限時點擊控制P1.6的開關(guān)就可調(diào)節(jié)溫度下限,點擊控制P1.4的開關(guān)就可以在升溫降溫間轉(zhuǎn)換,設(shè)置好以后按確定按鈕回到當(dāng)前溫度顯示狀態(tài)。</p><p>  3.2-1上下限溫度控制</p><p><b>  3.3 報警電路</b></p>

55、<p>  如圖3.3-1發(fā)聲器由P3.7口輸出,當(dāng)溫度傳感器或紅外傳感器所探測的溫度低于或高于所設(shè)置的溫度上下限,揚聲器就會發(fā)出連續(xù)的報警聲。</p><p>  圖3.3-1報警電路</p><p><b>  3.4 顯示電路</b></p><p>  圖3.3.4-1是LM016L與單片機的連接電路圖。LM016L是雙行

56、顯示的液晶顯示器。在溫度顯示方面觀察較方便,相比較于LED數(shù)碼管其連接電路簡單而且觀察方便。</p><p>  圖3.4-1顯示電路</p><p>  3.5 P7187紅外傳感電路</p><p>  如圖3.5-1是紅外熱釋傳感器的工作電路圖,該電路有放大和濾波功能。</p><p><b>  4 系統(tǒng)調(diào)試仿真</b

57、></p><p><b>  仿真步驟:</b></p><p>  在PROTUES中按照設(shè)計原理及設(shè)計框架搭圖。</p><p>  利用QTH軟件驚醒程序調(diào)試,生成 XX.HEX文件。</p><p>  在PROTUES圖中加載XX.HEX。</p><p><b>  

58、觀察現(xiàn)象。</b></p><p>  在電路圖中調(diào)節(jié)滑動變阻器RV1改變紅外放大電壓大小,觀察輸出信號大小,使其信號不要超出ICL549的基準電壓,以免燒壞A/D轉(zhuǎn)換器ICL549。</p><p><b>  調(diào)試注意事項:</b></p><p>  調(diào)節(jié)RV1大小時注意使其信號不要超出ICL549的基準電壓,以免燒壞A/D轉(zhuǎn)

59、換器ICL549。</p><p>  在不超過紅外傳感器溫度上限和下限的情況下調(diào)試。</p><p><b>  5 源程序</b></p><p>  TEMP_ZH DATA 24H</p><p>  TEMPL DATA 25H</p><p>  TEMPH D

60、ATA 26H</p><p>  TEMP_TH DATA 27H</p><p>  TEMP_TL DATA 28H</p><p>  TEMPHC DATA 29H</p><p>  TEMPLC DATA 2AH</p><p>  k0 EQU P1.0&l

61、t;/p><p>  K1 EQU P1.4</p><p>  K2 EQU P1.5</p><p>  K3 EQU P1.6</p><p>  K4 EQU P1.7</p><p>  DATE_SDO P2.5</p><

62、;p>  DATE_CS P2.6</p><p>  DATE_CLK P2.7 </p><p>  BEEP EQU P3.7</p><p>  LCD_X EQU 2FH </p><p>  LCD_RS EQU P2.0</p><p>  LCD_RW

63、 EQU P2.1</p><p>  LCD_EN EQU P2.2</p><p>  flag1 equ 20H.0</p><p>  KEY_UD EQU 20H.1</p><p>  date_line equ p3.3</p><p>  ORG 0000H</

64、p><p><b>  JMP MAIN</b></p><p>  MAIN: MOV SP,#60H</p><p>  MOV A,#00H</p><p>  MOV R0,#20H</p><p>  MOV R1,#10H</p><p>  CL

65、EAR: MOV @R0,A</p><p><b>  INC R0</b></p><p>  DJNZ R1,CLEAR</p><p>  CALL SET_LCD</p><p>  CALL RE_18B20</p><p>  START: CALL RESET&

66、lt;/p><p>  JNB FLAG1,START1 </p><p>  CALL MENU_OK</p><p>  CALL READ_E2</p><p>  CALL TEMP_BJ</p><p>  JMP START2</p><p>  START1: CAL

67、L MENU_ERROR</p><p>  CALL TEMP_BJ</p><p><b>  JMP $</b></p><p>  START2: CALL RESET</p><p>  JNB FLAG1,START1</p><p>  MOV A,#0CCH &l

68、t;/p><p>  CALL WRITE</p><p>  MOV A,#44H </p><p>  CALL WRITE</p><p>  CALL RESET</p><p>  MOV A,#0CCH</p><p>  CALL WRITE</p>&l

69、t;p>  MOV A,#0BEH </p><p>  CALL WRITE</p><p>  CALL READ</p><p>  call CONVTEMP</p><p>  Call DISPBCD</p><p><b>  CALL CONV</b></p&g

70、t;<p>  CALL TEMP_COMP</p><p>  CALL PROC_KEY</p><p>  SJMP START2</p><p>  PROC_KEY:JB K1,PROC_K1</p><p>  CALL BEEP_BL</p><p><b>  JNB K

71、1,$</b></p><p>  MOV DPTR,#M_ALAX1</p><p><b>  MOV A,#1</b></p><p>  CALL LCD_PRINT</p><p>  CALL LOOK_ALARM</p><p><b>  JB K3

72、,$</b></p><p>  CALL BEEP_BL</p><p>  JMP PROC_K2</p><p>  PROC_K1: JB K2,PROC_END</p><p>  CALL BEEP_BL</p><p><b>  JNB K2,$</b><

73、;/p><p>  MOV DPTR,#RESET_A1</p><p>  MOV A,#1</p><p>  CALL LCD_PRINT</p><p>  CALL SET_ALARM</p><p>  CALL RE_18B20</p><p>  CALL WRITE

74、_E2</p><p>  PROC_K2:CALL MENU_OK</p><p>  CALL TEMP_BJ</p><p>  PROC_END:RET</p><p>  SET_ALARM: CALL RESET_ALARM</p><p>  CALL LOOK_ALARM</p>

75、<p>  AS0: JB K1,AS00</p><p>  CALL BEEP_BL</p><p><b>  JNB K1,$</b></p><p>  CPL 20H.1 </p><p>  AS00: JB 20H.1,ASZ01</p><p> 

76、 JMP ASJ01 </p><p>  ASZ01: JB K2,ASZ02 </p><p>  CALL BEEP_BL</p><p>  INC TEMP_TH</p><p>  MOV A,TEMP_TH</p><p>  CJNE A,#120,ASZ011</p>&

77、lt;p>  MOV TEMP_TH,#0</p><p>  ASZ011: CALL LOOK_ALARM</p><p>  MOV R5,#10</p><p>  CALL DELAY</p><p>  JMP ASZ01</p><p>  ASZ02: JB K3,ASZ03 &

78、lt;/p><p>  CALL BEEP_BL</p><p>  INC TEMP_TL</p><p>  MOV A,TEMP_TL</p><p>  CJNE A,#99,ASZ021</p><p>  MOV TEMP_TL,#00H</p><p>  ASZ021:

79、CALL LOOK_ALARM </p><p>  MOV R5,#10</p><p>  CALL DELAY</p><p>  JMP ASZ02</p><p>  ASZ03: JB K4,AS0</p><p>  CALL BEEP_BL</p><p><

80、;b>  JNB K4,$</b></p><p><b>  RET</b></p><p>  ASJ01: JB K2,ASJ02 </p><p>  CALL BEEP_BL</p><p>  DEC TEMP_TH</p><p>  MOV A,T

81、EMP_TH</p><p>  CJNE A,#0FFH,ASJ011</p><p>  JMP ASJ022</p><p>  ASJ011: CALL LOOK_ALARM</p><p>  MOV R5,#10</p><p>  CALL DELAY</p><p>

82、<b>  JMP AS0</b></p><p>  ASJ02: JB K3,ASJ03 </p><p>  CALL BEEP_BL</p><p>  DEC TEMP_TL</p><p>  MOV A,TEMP_TL</p><p>  CJNE A,#0FFH,A

83、SJ021</p><p>  JMP ASJ022</p><p>  ASJ021: CALL LOOK_ALARM</p><p>  MOV R5,#10</p><p>  CALL DELAY</p><p><b>  JMP AS0</b></p><

84、;p>  ASJ022: CPL 20H.1</p><p>  JMP ASZ01</p><p>  ASJ03: JMP ASZ03</p><p><b>  RET</b></p><p>  RESET_ALARM:MOV DPTR,#RESET_A1</p><p&g

85、t;  MOV A,#1 </p><p>  CALL LCD_PRINT</p><p><b>  RET</b></p><p>  RESET_A1:DB "RESET ALERT CODE"</p><p>  TEMP_COMP: MOV A,TEMP_TH</p>

86、<p>  SUBB A,TEMP_ZH</p><p>  JC CHULI1</p><p>  MOV A,TEMP_ZH</p><p>  SUBB A,TEMP_TL</p><p>  JC CHULI2 </p><p>  MOV DPTR,#BJ5</p>&l

87、t;p>  CALL TEMP_BJ3</p><p><b>  RET</b></p><p>  CHULI1: MOV DPTR,#BJ3</p><p>  CALL TEMP_BJ3</p><p>  CALL BEEP_BL</p><p><b>  R

88、ET</b></p><p>  CHULI2: MOV DPTR,#BJ4</p><p>  CALL TEMP_BJ3</p><p>  CALL BEEP_BL</p><p><b>  RET</b></p><p>  TEMP_BJ3: MOV A,#0CE

89、H</p><p><b>  CALL WCOM</b></p><p>  MOV R1,#0</p><p>  MOV R0,#2</p><p>  BBJJ3: MOV A,R1</p><p>  MOVC A,@A+DPTR</p><p>  

90、CALL WDATA</p><p><b>  INC R1</b></p><p>  DJNZ R0,BBJJ3</p><p><b>  RET</b></p><p>  BJ3:DB ">H"</p><p>  BJ4:DB

91、"<L"</p><p>  BJ5:DB " !"</p><p>  TEMP_BJ: MOV A,#0CBH</p><p><b>  CALL WCOM</b></p><p>  MOV DPTR,#BJ1</p><p>  MOV

92、 R1,#0</p><p>  MOV R0,#2</p><p>  BBJJ1: MOV A,R1</p><p>  MOVC A,@A+DPTR</p><p>  CALL WDATA</p><p><b>  INC R1</b></p><p&g

93、t;  DJNZ R0,BBJJ1</p><p><b>  RET</b></p><p>  BJ1:DB 00H,"C"</p><p>  MENU_OK: MOV DPTR,#M_OK1</p><p><b>  MOV A,#1</b></p>

94、<p>  CALL LCD_PRINT</p><p>  MOV DPTR,#M_OK2</p><p><b>  MOV A,#2</b></p><p>  CALL LCD_PRINT</p><p><b>  RET</b></p><p&g

95、t;  M_OK1: DB " DS18B20 OK ",0</p><p>  M_OK2:DB " TEMP: ",0</p><p>  MENU_ERROR:MOV DPTR,#M_ERROR1 </p><p><b>  MOV A,#1</b></

96、p><p>  CALL LCD_PRINT</p><p>  MOV DPTR,#M_ERROR2</p><p><b>  MOV A,#2</b></p><p>  CALL LCD_PRINT</p><p><b>  RET</b></p>

97、<p>  M_ERROR1: DB " DS18B20 ERROR ",0</p><p>  M_ERROR2:DB " TEMP: ---- ",0</p><p>  RESET: setb date_line</p><p><b>  nop</b></p

98、><p>  clr date_line</p><p>  mov r0,#6bh </p><p>  mov r1,#04h</p><p>  tsr1: djnz r0,$</p><p>  mov r0,#6bh</p><p>  djnz r1,tsr1</p>

99、<p>  setb date_line </p><p><b>  nop</b></p><p><b>  nop</b></p><p><b>  nop</b></p><p>  mov r0,#32h</p><p>  ts

100、r2: jnb date_line,tsr3</p><p>  djnz r0,tsr2</p><p><b>  jmp tsr4 </b></p><p>  tsr3: setb flag1 </p><p><b>  jmp tsr5</b></p><p&

101、gt;  tsr4: clr flag1 </p><p><b>  jmp tsr7</b></p><p>  tsr5: mov r0,#06bh</p><p>  tsr6: djnz r0,$ </p><p>  tsr7: setb date_line</p><p&

102、gt;<b>  ret</b></p><p>  RE_18B20:JB FLAG1,RE_18B20A</p><p><b>  RET</b></p><p>  RE_18B20A:CALL RESET</p><p>  MOV A,#0CCH </p><p

103、>  LCALL WRITE</p><p>  MOV A,#4EH </p><p>  LCALL WRITE</p><p>  MOV A,TEMP_TH</p><p>  LCALL WRITE</p><p>  MOV A,TEMP_TL</p><p>  

104、LCALL WRITE</p><p>  MOV A,#7FH </p><p>  LCALL WRITE</p><p><b>  RET</b></p><p>  WRITE_E2:CALL RESET</p><p>  MOV A,#0CCH </p>&l

105、t;p>  LCALL WRITE</p><p>  MOV A,#48H </p><p>  LCALL WRITE</p><p><b>  RET</b></p><p>  READ_E2:CALL RESET</p><p>  MOV A,#0CCH </p

106、><p>  LCALL WRITE</p><p>  MOV A,#0B8H </p><p>  CALL WRITE</p><p><b>  RET</b></p><p>  STORE_DATA:MOV A,#40H</p><p>  CALL WC

107、OM</p><p>  MOV R2,#08H</p><p>  MOV DPTR,#D_DATA</p><p>  MOV R3,#00H</p><p>  S_DATA: MOV A,R3</p><p>  MOVC A,@A+DPTR</p><p>  CALL

108、WDATA</p><p>  DJNZ R2,S_DATA</p><p><b>  RET</b></p><p>  D_DATA:DB 0CH,12H,12H,0CH,00H,00H,00H,00H</p><p>  write: mov r2,#8</p><p><b&

109、gt;  CLR C</b></p><p>  wr1:clr date_line </p><p>  mov r3,#07</p><p>  djnz r3,$ </p><p><b>  rrc a </b></p><p>  mov date_line,c </

110、p><p>  mov r3,#3CH</p><p>  djnz r3,$ </p><p>  setb date_line </p><p><b>  nop</b></p><p>  djnz r2,wr1 </p><p>  setb date_line<

111、;/p><p><b>  ret</b></p><p>  read: mov r4,#4</p><p>  mov r1,#TEMPL </p><p>  re00: mov r2,#8</p><p>  re01: clr cy</p><p>

112、  setb date_line</p><p><b>  nop</b></p><p><b>  nop</b></p><p>  clr date_line </p><p><b>  nop</b></p><p><b>  

113、nop</b></p><p><b>  nop</b></p><p>  setb date_line </p><p>  mov r3,#09 </p><p><b>  djnz r3,$</b></p><p>  mov c,date_line

114、</p><p>  mov r3,#3CH</p><p>  djnz r3,$ </p><p><b>  rrc a </b></p><p>  djnz r2,re01 </p><p><b>  mov @r1,a</b></p><p&

115、gt;<b>  inc r1</b></p><p>  djnz r4,re00</p><p><b>  ret</b></p><p>  CONVTEMP: MOV A,TEMPH </p><p>  ANL A,#80H</p><p>  JZ

116、 TEMPC1 </p><p><b>  CLR C</b></p><p>  MOV A,TEMPL</p><p><b>  CPL A </b></p><p>  ADD A,#01H</p><p>  MOV TEMPL,A</p>

117、<p>  MOV A,TEMPH</p><p><b>  CPL A</b></p><p>  ADDC A,#00H</p><p>  MOV TEMPH,A</p><p>  SJMP TEMPC11</p><p>  TEMPC1: MOV

118、 TEMPHC,#0AH</p><p>  TEMPC11: MOV A,TEMPHC</p><p><b>  SWAP A</b></p><p>  MOV TEMPHC,A</p><p>  MOV A,TEMPL</p><p>  ANL A,#0FH &

119、lt;/p><p>  MOV DPTR,#TEMPDOTTAB</p><p>  MOVC A,@A+DPTR</p><p>  MOV TEMPLC,A </p><p>  MOV A,TEMPL </p><p>  ANL A,#0F0H </p><p><b>

120、  SWAP A</b></p><p>  MOV TEMPL,A</p><p>  MOV A,TEMPH </p><p>  ANL A,#0FH</p><p><b>  SWAP A</b></p><p>  ORL A,TEMPL </p>

121、<p>  MOV TEMP_ZH,A</p><p>  LCALL HEX2BCD1</p><p>  MOV TEMPL,A</p><p>  ANL A,#0F0H</p><p><b>  SWAP A</b></p><p>  ORL A,TEMPHC

122、</p><p>  MOV TEMPHC,A</p><p>  MOV A,TEMPL</p><p>  ANL A,#0FH</p><p><b>  SWAP A </b></p><p>  ORL A,TEMPLC</p><p>  MOV T

123、EMPLC,A</p><p><b>  MOV A,R4</b></p><p>  JZ TEMPC12</p><p>  ANL A,#0FH</p><p><b>  SWAP A</b></p><p><b>  MOV R4,A<

124、/b></p><p>  MOV A,TEMPHC </p><p>  ANL A,#0FH</p><p><b>  ORL A,R4</b></p><p>  MOV TEMPHC,A</p><p>  TEMPC12: RET</p><

125、;p>  HEX2BCD1: MOV B,#064H</p><p><b>  DIV AB </b></p><p>  MOV R4,A </p><p>  MOV A,#0AH</p><p><b>  XCH A,B</b></p><p>&l

126、t;b>  DIV AB</b></p><p><b>  SWAP A</b></p><p><b>  ORL A,B</b></p><p><b>  RET</b></p><p>  TEMPDOTTAB:DB 00H,00H,01H

127、,01H,02H,03H,03H,04H</p><p>  DB 05H,05H,06H,06H,07H,08H,08H,09H</p><p>  LOOK_ALARM: MOV DPTR,#M_ALAX2 </p><p>  MOV A,#2 </p><p>  CALL LCD_PRINT</p><

128、p>  MOV A,#0C6H</p><p>  CALL TEMP_BJ1</p><p>  MOV A,TEMP_TH </p><p>  MOV LCD_X,#3 </p><p>  CALL SHOW_DIG2H</p><p>  MOV A,#0CEH</p><

129、;p>  CALL TEMP_BJ1</p><p>  MOV A,TEMP_TL </p><p>  MOV LCD_X,#12</p><p>  CALL SHOW_DIG2L </p><p><b>  RET</b></p><p><b>  M_ALAX

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論