基于STC89C52單片機(jī)溫度報警器畢業(yè)論文_第1頁
基于STC89C52單片機(jī)溫度報警器畢業(yè)論文_第2頁
基于STC89C52單片機(jī)溫度報警器畢業(yè)論文_第3頁
基于STC89C52單片機(jī)溫度報警器畢業(yè)論文_第4頁
基于STC89C52單片機(jī)溫度報警器畢業(yè)論文_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于STC89C52單片機(jī)溫度報警器PAGE45基于STC89C52單片機(jī)溫度報警器摘要溫度的檢測與控制是工業(yè)生產(chǎn)過程中比較典型的應(yīng)用之一,隨著傳感器在生產(chǎn)和生活中的更加廣泛的應(yīng)用,利用新型單總線式數(shù)字溫度傳感器實現(xiàn)對溫度的測試與控制得到更快的開發(fā),本文設(shè)計了一種基于STC89C52的溫度檢測及報警系統(tǒng)。該系統(tǒng)將多個單總線溫度傳感器DS18B20并接在控制器的一個端口上,對各個傳感器溫度進(jìn)行循環(huán)采集,將采集到的溫度值與設(shè)定值進(jìn)行比較,當(dāng)超出設(shè)定的上限溫度時,通過蜂鳴器報警信號。該系統(tǒng)設(shè)計和布線簡單,結(jié)構(gòu)緊湊,體積小,重量輕,抗干擾能力強(qiáng),性價比高,擴(kuò)展方便,在大型倉庫,工廠,智能化建筑等領(lǐng)域的多點溫度檢測中有廣闊的應(yīng)用前景。關(guān)鍵詞:數(shù)字溫度傳感器;DS18B20;STC89C52;蜂鳴器。AbstractTemperaturedetectionandcontrolofindustrialproductionprocess,oneofthemoretypicalapplications,withsensorsinproductionandlifeismorewidelyused,usinganewsingle-busdigitaltemperaturesensortoachievethetestandcontrolthetemperaturemorerapidlydevelopment,thispaperisdesignedbasedonSTC89C52temperaturedetectionandalarmsystems.Thesystemwillbemorethanasingle-bustemperaturesensorDS18B20andconnectedtoaportonthecontroller,thetemperaturesensorsoneachloopcollection,thetemperaturewillbecollectedtocomparewiththesetvalue,whenthetemperatureexceedstheupperlimitset,Throughthebuzzeralarm.Thesystemdesignandlayoutsimpleandcompactstructure,smallsize,lightweight,anti-jammingcapability,cost-effectivetoexpandconvenience,inlargewarehouses,factories,constructionandotherareasofintelligentmulti-pointtemperaturemeasurementinawiderangeofapplicationsprospects.

Keywords:digitaltemperaturesensor;DS18B20;STC89C52;alarmsignal.畢業(yè)論文(設(shè)計)原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設(shè)計)是我在導(dǎo)師的指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計)不包含其他個人已經(jīng)發(fā)表或撰寫過的研究成果。對本論文(設(shè)計)的研究做出重要貢獻(xiàn)的個人和集體,均已在文中作了明確說明并表示謝意。作者簽名:日期:畢業(yè)論文(設(shè)計)授權(quán)使用說明本論文(設(shè)計)作者完全了解**學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計)的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計)并向相關(guān)部門送交論文(設(shè)計)的電子版和紙質(zhì)版。有權(quán)將論文(設(shè)計)用于非贏利目的的少量復(fù)制并允許論文(設(shè)計)進(jìn)入學(xué)校圖書館被查閱。學(xué)??梢怨颊撐模ㄔO(shè)計)的全部或部分內(nèi)容。保密的論文(設(shè)計)在解密后適用本規(guī)定。

作者簽名:指導(dǎo)教師簽名:日期:日期:

注意事項1.設(shè)計(論文)的內(nèi)容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻(xiàn)8)致謝9)附錄(對論文支持必要時)2.論文字?jǐn)?shù)要求:理工類設(shè)計(論文)正文字?jǐn)?shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字?jǐn)?shù)不少于1.2萬字。3.附件包括:任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準(zhǔn)請他人代寫2)工程設(shè)計類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機(jī)繪制,所有圖紙應(yīng)符合國家技術(shù)標(biāo)準(zhǔn)規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應(yīng)繪制于無格子的頁面上5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(論文)2)附件:按照任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)次序裝訂3)其它

目錄一、緒論1.1設(shè)計的意義及目標(biāo)41.2單片機(jī)的概述41.3設(shè)計方案的論證5二、硬件的設(shè)計(一)、主要器件的選擇2.1.1主控制器的選擇62.1.2DS18B20溫度傳感器72.1.3蜂鳴器的報警原理132.1.41602LCD顯示原理14(二)、電路的設(shè)計2.2.1最小系統(tǒng)電路設(shè)計182.2.2溫度傳感器DS18B20電路圖設(shè)計182.2.3顯示電路設(shè)計19三、軟件設(shè)計(一)、主程序設(shè)計20(二)、部分程序設(shè)計3.2.1獲取溫度子程序223.2.2溫度計算BCD碼轉(zhuǎn)換子程序223.2.3DS18B20初始化子程序263.2.4LCD1602液晶顯示程序29四、調(diào)試4.1硬件調(diào)試304.2軟件調(diào)試30五、總結(jié)31六、致謝32七、參考文獻(xiàn)32八、附錄33一緒論1.1選題的意義與內(nèi)容防潮、防霉、防腐、防爆是倉庫日常工作的重要內(nèi)容,是衡量倉庫管理質(zhì)量的重要指標(biāo)。它直接影響到儲備物資的使用壽命和工作可靠性。為保證日常工作的順利進(jìn)行,首要問題是加強(qiáng)倉庫內(nèi)溫度與濕度的監(jiān)測工作。但傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進(jìn)行檢測,對不符合溫度和濕度要求的庫房進(jìn)行通風(fēng)、去濕和降溫等工作。這種人工測試方法費時費力、效率低,且測試的溫度及濕度誤差大,隨機(jī)性大。因此,研究溫度的測量方法和裝置具有重要意義,溫度測控技術(shù)也在各個領(lǐng)域應(yīng)用越來越廣泛。采用單片機(jī)對溫度進(jìn)行控制,不僅具有控制方便和組態(tài)簡單的優(yōu)點,而且可以提高被控溫度的技術(shù)指標(biāo)。我們設(shè)計了這種造價低廉、使用方便且測量準(zhǔn)確的溫濕度測量儀。1.2單片機(jī)的概述單片機(jī)自1976年由Intel公司推出MCS-48開始,迄今已有三十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面面。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域,對各個行業(yè)的技術(shù)改造和產(chǎn)品更新?lián)Q代起著重要的推動作用。目前使用的MCS-51系列單片機(jī)及其兼容產(chǎn)品通常分成以下幾類:基本型、增強(qiáng)型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲器型。其中ATMEL公司的標(biāo)準(zhǔn)型AT89單片機(jī)因其與MCS-51的完全兼容性、優(yōu)良的工作性能、使用的靈活性以及較高的性能價格比,成為AT89系列單片機(jī)的主流機(jī)型,在嵌入式控制系統(tǒng)中獲得廣泛應(yīng)用。1.3設(shè)計方案的論證方案一由于本設(shè)計實現(xiàn)的是測溫電路,首先我們可以使用熱敏電阻之類的器件,利用其感溫效應(yīng),將其隨被測溫度變化的電壓或電流值采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,通過顯示電路就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。因此,我們引出第二種方案。方案二我們可以采用技術(shù)成熟、操作簡單、精確度高的溫度傳感器,在此,可以選用數(shù)字溫度傳感器DS18B20,根據(jù)它的特點和測溫原理,很容易就能直接讀取被測溫度值并進(jìn)行轉(zhuǎn)換,這樣就可以滿足設(shè)計要求。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計也比較簡單,故在本設(shè)計中采用了方案二。通過方案二設(shè)計的溫度計總體電路圖如附錄圖C所示,控制器采用單片機(jī)STC89C52,溫度傳感器采用DS18B20,用4位LED數(shù)碼管以串口并行輸出方式傳送數(shù)據(jù)實現(xiàn)溫度顯示。LCD1602顯示單片機(jī)復(fù)位單片機(jī)主控制器LCD1602顯示單片機(jī)復(fù)位單片機(jī)主控制器溫度傳感器時鐘震蕩蜂鳴器報警溫度傳感器時鐘震蕩蜂鳴器報警圖1.1方案二的總體設(shè)計框圖二、硬件的設(shè)計(一)、主要器件的選擇2.1.1主控制器的選擇STC89C52是低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用高密度、非易失性存儲技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強(qiáng)大STC89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場合。STC89C52單片機(jī)為40引腳雙列直插芯片,有四個I/O口P0、P1、P2、P3,每一條I/O線都能獨立地作輸出或輸入。STC89C52PDIP管腳封裝,如圖2.1.1所示。圖2.1STC89C52PDIP管腳封裝STC89c52包含以下部分:(1)一個8位微處理器CPU(2)片內(nèi)數(shù)據(jù)存儲器RAM和特殊功能寄存器SFR(3)片內(nèi)程序存儲器ROM(4)兩個定時/計數(shù)器T0、T1,可用作定時器,也可用以對外部脈沖進(jìn)行計數(shù)(5)四個8位可編程的并行I/O端口,每個端口既可作輸入,也可作輸出(6)一個串行端口,用于數(shù)據(jù)的串行通信(7)中斷控制系統(tǒng)(8)內(nèi)部時鐘電路2.1.2DS18B20溫度傳感器(1)DS18B20的主要特征:▲全數(shù)字溫度轉(zhuǎn)換及輸出?!冗M(jìn)的單總線數(shù)據(jù)通信?!罡?2位分辨率,精度可達(dá)土0.5攝氏度?!?2位分辨率時的最大工作周期為750毫秒?!蛇x擇寄生工作方式?!鴻z測溫度范圍為–55°C~+125°C(–67°F~+257°F)▲內(nèi)置EEPROM,限溫報警功能?!?4位光刻ROM,內(nèi)置產(chǎn)品序列號,方便多機(jī)掛接?!鄻臃庋b形式,適應(yīng)不同硬件系統(tǒng)。圖2.2(2)DS18B20內(nèi)部結(jié)構(gòu):圖2.3DS18B20內(nèi)部結(jié)構(gòu)框圖溫度傳感器DS18B20的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2.4所示。圖2.4高速暫存RAM結(jié)構(gòu)圖其中,前2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。暫存存儲器的第5個字節(jié)是配置寄存器,可以通過相應(yīng)的寫命令進(jìn)行配置,其內(nèi)容如下:0R1R0111111MSBLSB其中R0和R1是溫度值分辨率位,可按表2.1進(jìn)行配置。表2.1溫度值分辨率配置表R1R0分辨率最大轉(zhuǎn)換時間(ms)009位93.75ms(tconv/8)0110位183.50ms(tconv/4)1011位375ms(tconv/2)1112位750ms(tconv)當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前、高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。溫度值格式如下:低232221202-12-22-32-4高SSSSS262524MSBLSB這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在DS18B20的兩個8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。格式中,S表示位。對應(yīng)的溫度計算:當(dāng)符號位S=0時,表示測得的溫度植為正值,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,表示測得的溫度植為負(fù)值,先將補(bǔ)碼變換為原碼,再計算十進(jìn)制值。例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H.表2.2部分溫度的二進(jìn)制數(shù)表示溫度數(shù)字輸出(二進(jìn)制)數(shù)字輸出(16進(jìn)制)+125℃000001111101000007D0H+85℃00000101010100000550H+25.0625℃00000001100100010191H+10.125℃000000001010001000A2H+0.5℃00000000000010000008H0℃00000000000000000000H-0.5℃1111111111111000FFF8H-10.125℃1111111101011110FFE5H-25.0625℃1111111001101111FF6FH-55℃1111110010010000FC90H(3)DS18B20測溫原理DS18B20的測溫原理如圖2.5所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,圖中還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進(jìn)行計數(shù),進(jìn)而完成溫度測量.計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應(yīng)的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。斜率累加器斜率累加器計數(shù)比較器預(yù)置低溫度系數(shù)振蕩器高溫度系數(shù)振蕩器減法計數(shù)器1減法計數(shù)器2減到0減到0預(yù)置溫度寄存器斜率累加器計數(shù)比較器預(yù)置圖2.5DS18B20測溫原理圖減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。在正常測溫情況下,DS18B20的測溫分辨力為0.5℃,可采用下述方法獲得高分辨率的溫度測量結(jié)果:首先用DS18B20提供的讀暫存器指令(BEH)讀出以0.5℃為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實際溫度的整數(shù)部分Tz,然后再用BEH指令取計數(shù)器1的計數(shù)剩余值Cs和每度計數(shù)值CD。實際溫度Ts可用式(2-1)計算:Ts=(Tz-0.25℃)+(CD-Cs)/CD(2-1)2.1.3蜂鳴器的報警原理(1)三極管驅(qū)動的蜂鳴器報警電路RP.1.0STC89S52RP.1.0STC89S52+5V+5V 圖2.6三極管驅(qū)動的蜂鳴器報警電路壓電式蜂鳴器約10mA的驅(qū)動電流,可以使用TTL系列集成電路7406或7407低電平驅(qū)動,這里我選用了一個三極管來做驅(qū)動。P1.0接三極管輸入端。當(dāng)P1.0輸出低電平時,三極管導(dǎo)通,壓電式蜂鳴器兩端獲得的+5V電壓而鳴叫:當(dāng)P1.0輸出高電平,三極管截止,蜂鳴器停止發(fā)音。2.1.4LCD1602顯示原理LCD1602的控制原理:1602液晶模塊內(nèi)部的控制器共有11條控制指令,如下表所示表2.3LCD1602控制指令序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容

LCD1602液晶模塊的讀寫操作,屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。(說明1為高電平,0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H指令3:光標(biāo)和顯示位置設(shè)置I/D,光標(biāo)移動方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或右移,高電平表示有效,低電平表示無效。指令4:顯示開關(guān)控制。D:控制整體的顯示開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示。C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位S/C:高電平時顯示移動的文字,低電平時移動光標(biāo)。指令6:功能設(shè)置命令DL:高電平時為4位總線,低電平時為8位總線N:低電平時為單行顯示,高電平時為雙行顯示,F(xiàn):低電平時顯示5X7的點陣字符,高電平時顯示5X10的顯示字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址BF:忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或數(shù)據(jù),如果為低電平表示不忙。讀寫操作時序如圖所示:

圖2.7LCD1602讀時序圖

圖2.8LCD1602寫操作時序(2)LCD1602的RAM地址映射及標(biāo)準(zhǔn)字庫表:液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在,哪里顯示字符,圖2.9是1602的內(nèi)部顯示地址。

圖2.9LCD1602內(nèi)部顯示地址

(二)、電路的設(shè)計2.2.1最小系統(tǒng)電路設(shè)計本系統(tǒng)使用兒的基于單片機(jī)的溫度計的設(shè)計所以首先設(shè)計單片機(jī)的最小系統(tǒng),所謂最小系統(tǒng)是一個真正可用的單片機(jī)的最小配置系統(tǒng)。由于本次設(shè)計所是用的stc89c52單片機(jī)片內(nèi)不能集成始終電路所需的晶體振蕩器,也沒有復(fù)位電路,在構(gòu)成最小系統(tǒng)時必須外接這些部件。電路設(shè)計如圖2.10其中電容為30PF,10UF,晶振為11.0592MHZ。2.10單片機(jī)最小系統(tǒng)圖2.2.2溫度傳感器DS18B20電路圖設(shè)計主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列、各種封裝形式如圖3.4所示。其中,DQ為數(shù)據(jù)輸入/輸出引腳,也可用作開漏單總線接口引腳,當(dāng)被用在寄生電源工作方式下,可以向器件提供電源;GND為地信號;VDD為可選擇的電源引腳,當(dāng)工作于寄生電源時,此引腳必須接地。其電路圖2.11所示。圖2.11溫度傳感器DS18B20電路圖2.2.3顯示電路設(shè)計1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表:表2.4LCD1602引腳說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。圖2.11LCD1602連接電路圖第16腳:背光源負(fù)極。三、軟件設(shè)計(一)、主程序設(shè)計圖3.1主體流程圖設(shè)計(二)、部分程序設(shè)計3.2.1獲取溫度子程序圖3.2讀出溫度子程序流程圖3.2.2溫度計算BCD碼轉(zhuǎn)換子程序;=====================將從DS18B20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換TEMPER_COV:MOVA,#0F0HANLA,TEMPER_LSWAPAMOVTEMPER_NUM,AMOVA,TEMPER_LJNBACC.3,TEMPER_COV1INCTEMPER_NUMTEMPER_COV1:MOVA,TEMPER_HANLA,#07HSWAPAORLA,TEMPER_NUMMOVTEMPER_NUM,AMOVA,#0FHANLA,TEMPER_LMOVTEMPER_D,ACLRCSUBBA,#10JCJIANLOMOVTEMPER_D,AINCTEMPER_NUMJIANLO:LCALLBIN_BCDRET;====================將16進(jìn)制的溫度數(shù)據(jù)轉(zhuǎn)換成壓縮BCD碼BIN_BCD:MOVDPTR,#TEMP_TABMOVA,TEMPER_NUMMOVCA,@A+DPTRMOVTEMPER_NUM,ARETTEMP_TAB:DB00H,01H,02H,03H,04H,05H,06H,07HDB08H,09H,10H,11H,12H,13H,14H,15HDB16H,17H,18H,19H,20H,21H,22H,23HDB24H,25H,26H,27H,28H,29H,30H,31HDB32H,33H,34H,35H,36H,37H,38H,39HDB40H,41H,42H,43H,44H,45H,46H,47HDB48H,49H,50H,51H,52H,53H,54H,55HDB56H,57H,58H,59H,60H,61H,62H,63HDB64H,65H,66H,67H,68H,69H,70H,71HDB72H,73H,74H,75H,76H,77H,78H,79HDB80H,81H,82H,83H,84H,85H,86H,87HDB88H,89H,90H,91H,92H,93H,94H,95HDB96H,97H,98H,99H圖3.4計算溫度子程序流程圖3.2.3DS18B20初始化子程序?qū)τ贒S18B20來說,它的初始化是很重要的,沒有初始化,它根本就不能工作。下面是它的初始化子程序:INIT_1820:SETBDQNOPCLRDQMOVR0,#80HTSR1:DJNZR0,TSR1SETBDQMOVR0,#25HTSR2:DJNZR0,TSR2JNBDQ,TSR3LJMPTSR4TSR3:SETBFLAG1LJMPTSR5TSR4:CLRFLAG1LJMPTSR7TSR5:MOVR0,#06BHTSR6:DJNZR0,TSR6TSR7:SETBDQRET3.2.4LCD1602液晶顯示程序DISPLAY1:LCALLLCD_CSMOVR0,#11MOV50H,#0MOVR1,#08HA1:MOVA,R1MOVP0,AACALLENABLEMOVDPTR,#TABLE1MOVA,50HMOVCA,@A+DPTRLCALLWRITE_EINC50HINCR1DJNZR0,A1RETDISPLAY2;LCALLLCD_CSMOVP0,#0C1HCALLENABLELCALLWRITE1RETWRITE1:MOVR1,#4MOVR0,#37HMOVDPTR,#TABLE2B1:MOVA,@R0MOVCA,@A+DPTRCALLWRITE_EINCR0DJNZRI,B1RETDISPLAY3:LCALLLCD_CSMOVR0,#16MOV50H,#0MOVRI,#80HC1:MOVA,R1MOVP0,AACALLENABLEMOVDPTR,#TABLE3MOVA,50HMOVCA,@A+DPTRLCALLWRITE_EINC50HINCR1DJNZR0,C1RETENABLE:CLRRSCLRRWCLREACALLDELAY3SETBERETWRITE_E:CALLDELAY3SETBRSCLRRWSETBEMOVP0,ACLRERETLCD_CS:MOVP0,#01HACALLENABLEMOVP0,#38HACALLENABLEMOVP0,#0CHACALLENABLEMOVP0,#06HACALLENABLEDELAY3:MOVR7,#20D1:MOVR6,#250D2:DJNZR6,D2DJNZR7,D1RETTABLE1:DB'D','S','1','8','B','2','0',',',',','O','K'TABLE2:DB'0','1','2','3','4','5','6','7','8','9'','TABLE3:DB'D','S','1','8','B','2','0','E','R','R','O','R'END四、調(diào)試4.1硬件調(diào)試(1)排除器件的損害主要有兩種原因:一是在商店就是壞的,被被我們買回來了,而是由于我們自己焊接不當(dāng),導(dǎo)致的器件燒壞:尤其是電烙鐵,我們使用時盡量不要長時間將器件與電烙鐵接觸,而且要把電烙鐵接地,可以用替換法來檢測可以元器件。(2)排除邏輯故障這主要是靠我們的細(xì)心,要認(rèn)真對照我們的設(shè)計電路圖去焊接,不要接錯線接漏線,尤其是地線和+5V線不要接到一起。4.2軟件調(diào)試本次設(shè)計電路原理圖時還有一個錯誤,這一錯誤導(dǎo)致電路不能正常工作,在看報警器的PDF文檔后,發(fā)現(xiàn)報警器供電電壓為12V,所以我不假思索就把電源供電設(shè)為5V。電路板制作完成后調(diào)試發(fā)現(xiàn)報警溫度不準(zhǔn)確。后來才發(fā)現(xiàn)報警器是與39R的電阻并連,當(dāng)溫度上升到30攝氏度時電阻兩端的電壓為3V而供電電壓為5V。故去掉電阻才工作正常。用PROTUES仿真時我發(fā)現(xiàn)溫度報警電路不起作用,當(dāng)溫度超過30度或小于10度都不能報警。剛開始以為是程序的問題,經(jīng)過檢查簡化了報警程序,才發(fā)現(xiàn)是電路及喇叭的電壓不正確。軟硬件聯(lián)合調(diào)試時數(shù)碼管顯示有效,但有兩數(shù)碼管g段顯示不了。開始將200R的電阻短接,數(shù)碼管顯示更亮。但仍不行,后用萬用表檢測發(fā)現(xiàn)STC89C52管腳P06接數(shù)碼管g段處虛焊,不能導(dǎo)通。焊好后正常顯示。應(yīng)該吸取教訓(xùn),下次焊接要更小心,要是電路再復(fù)雜一點就不易找出問題了。五、總結(jié)和體會本設(shè)計利用89S52芯片控制溫度傳感器DS18B20,再輔之以部分外圍電路實現(xiàn)對環(huán)境溫度的測控,性能穩(wěn)定,精度教高,而且擴(kuò)展性能很強(qiáng)大。由于DS18B20的測量精度只有±0.5度,往往很多場合需要更加精確的溫度,在所測溫度精度不變的基礎(chǔ)上必須對數(shù)據(jù)進(jìn)行校正。由于DS18B20是基于帶隙結(jié)構(gòu)的數(shù)字式溫度傳感器,PN結(jié)增量電壓正比于IC絕對溫度(PTAT),它的測溫精度較高,但存在著一定的誤差.不過,其誤差在時間和外部環(huán)境變化的條件下,保持相當(dāng)高的穩(wěn)定性。它充分利用監(jiān)控計算機(jī)的處理能力,在監(jiān)控計算機(jī)上用線性插補(bǔ)的數(shù)學(xué)方法對其進(jìn)行誤差校正補(bǔ)償,能輕易地將其提高其精度。在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設(shè)計但這次設(shè)計真的讓我長進(jìn)了很多,單片機(jī)匯編語言課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握。六、致謝在此要感謝我們的指導(dǎo)賀新民老師和王玉之老師對我們悉心的照顧,感謝老師給我們的幫助。在設(shè)計過程中,我通過查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗和自學(xué),并向老師請教等方式,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設(shè)計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計做的也不太好,但是在學(xué)習(xí)過程中所學(xué)到的東西是這次培訓(xùn)的最大的收獲和財富,使我終身受益。七、參考文獻(xiàn)[1]馬家辰.MCS-51單片機(jī)原理及接口技術(shù)【M】.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1998[2]王武江.常用集成電路速成手冊【M】.北京:冶金工業(yè)出版社,2004[3]楊振江.新型集成電路使用指南和典型應(yīng)用【L】.西安:西安電子科技大學(xué)出版社,2000[4]童本敏.集成電路數(shù)據(jù)手冊——TTL集成電路【L】.北京:電子工業(yè)出版社,1989[5]江太輝,鄧展威.DS18B20數(shù)字式溫度傳感器的特性與應(yīng)用【G】.電子技術(shù)2003年第12期[6]陳濤,王仲東.DS18B20在糧情監(jiān)控系統(tǒng)中的應(yīng)用【G】.昆明:昆明理工大學(xué)學(xué)報(理工版).2003年10月第5期第28卷[7]邊春遠(yuǎn)、王志強(qiáng).MCS-51單片機(jī)應(yīng)用開發(fā)實用子程序【M】.北京:人民郵電出版社,2005[8]馬忠梅.單片機(jī)的C語言應(yīng)用程序設(shè)計【M】.北京:北京航空航天大學(xué)出版社,2003[9]譚博學(xué).集成電路原理及應(yīng)用【M】.北京:電子工業(yè)出版社,2003[10]NationalSemiconductorDataBook,1992-1994[11]劉建華,亢海偉,劉旭東,陳東陽.DSP與數(shù)字溫度傳感器DS18B20的接口設(shè)計【G】.河北:河北省科學(xué)院學(xué)報第21卷第2期2004年6月八、附錄附錄1:設(shè)計成品圖附2:設(shè)計全程序;=================================================;采用LCD1602顯示測溫度,顯示精度0.1度,測溫范圍-55——+125;用STC89C52單片機(jī),12MHZ晶振;DS18B20溫度計;=============自定義管腳內(nèi)存TEMPER_LEQU36HTEMPER_HEQU35HTEMPER_DEQU61HTEMPER_NUMEQU60HFLAG1BIT00HBAI_CEQU37HSH_CEQU38HDOTEQU39HG_CEQU3AHDQBITP3.7RSBITP3.5RWBIT01HEBITP3.4;===========================ORG0000HLJMPSTART1START1:MOVSP,#70HMOVDOT,#0AHLCALLLCD_CSSTART:LCALLINIT_1820LCALLGET_TEMPERLCALLTEMPER_COVCLRFLAG1MOVA,TEMPER_NUMANLA,0F0HSWAPAMOVBAI_C,AMOVA,TEMPER_NUMANLA,0FHMOVSH_C,AMOVG_C,TEMPER_DLPLP:LCALLDISPLAY2LJMPSTART;============獲取溫度子程序GET_TEMPER:SETBDQBCD:JBFLAG1,S22LCALLDISPLAY3MOVP0,#08HACALLENABLELCALLYS125MSLCALLINIT_1820LJMPBCDS22:LCALLDISPLAY1MOVA,#0CCHLCALLWRITE_1820MOVA,#44HLCALLWRITE_1820NOPCBA:LCALLINIT_1820JBFLAG1,ABCLCALLDISPLAY3MOVP0,#08HACALLENABLELCALLYS125MSLCALLINIT_1820LJMPCBAABC:LCALLDELAY1MOVA,#0CCHLCALLWRITE_1820MOVA,#0BEHLCALLWRITE_1820LCALLREAD_18200RET;==========讀DS18B20的程序,從DS18B20中讀出一個字節(jié)的數(shù)據(jù)READ_1820:MOVR2,#8RE1:CLRCSETBDQNOPNOPCLRDQNOPNOPNOPSETBDQMOVR3,#7DJNZR3,$MOVC,DQMOVR3,#23DJNZR3,$RRCADJNZR2,RE1RET;=======寫DS18B20的程序WRITE_1820:MOVR2,#8CLRCWR1:CLRDQMOVR3,#6DJNZR3,$RRCAMOVDQ,CMOVR3,#23DJNZR3,$SETBDQNOPDJNZR2,WR1SETBDQRET;========================讀DS18B20的程序,從DS18B20中讀出連兩個字節(jié)的溫度數(shù)據(jù)READ_18200:MOVR4,#2MOVR1,#36HRE00:MOVR2,#8RE01:CLRCSETBDQNOPNOPCLRDQMOVR3,#7DJNZR3,$MOVC,DQMOVR3,#23DJNZR3,$RRCADJNZR2,RE01MOV@R1,ADECR1DJNZR4,RE00RET;===========將從DS18B20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換TEMPER_COV:MOVA,#0F0HANLA,TEMPER_LSWAPAMOVTEMPER_NUM,AMOVA,TEMPER_LJNBACC.3,TEMPER_COV1INCTEMPER_NUMTEMPER_COV1:MOVA,TEMPER_HANLA,#07HSWAPAORLA,TEMPER_NUMMOVTEMPER_NUM,AMOVA,#0FHANLA,TEMPER_LMOVTEMPER_D,ACLRCSUBBA,#10JCJIANLOMOVTEMPER_D,AINCTEMPER_NUMJIANLO:LCALLBIN_BCDRET;================================================將16進(jìn)制的溫度數(shù)據(jù)轉(zhuǎn)換成壓縮BCD碼BIN_BCD:MOVDPTR,#TEMP_TABMOVA,TEMPER_NUMMOVCA,@A+DPTRMOVTEMPER_NUM,ARETTEMP_TAB:DB00H,01H,02H,03H,04H,05H,06H,07HDB08H,09H,10H,11H,12H,13H,14H,15HDB16H,17H,18H,19H,20H,21H,22H,23HDB24H,25H,26H,27H,28H,29H,30H,31HDB32H,33H,34H,35H,36H,37H,38H,39HDB40H,41H,42H,43H,44H,45H,46H,47HDB48H,49H,50H,51H,52H,53H,54H,55HDB56H,57H,58H,59H,60H,61H,62H,63HDB64H,65H,66H,67H,68H,69H,70H,71HDB72H,73H,74H,75H,76H,77H,78H,79HDB80H,81H,82H,83H,84H,85H,86H,87HDB88H,89H,90H,91H,92H,93H,94H,95HDB96H,97H,98H,99H;======================================DS18B20初始化程序INIT_1820:SETBDQNOPCLRDQMOVR0,#80HTSR1:DJNZR0,TSR1SETBDQMOVR0,#25HTSR2:DJNZR0,TSR2JNBDQ,TSR3LJMPTSR4TSR3:SETBFLAG1LJMPTSR5TSR4:CLRFLAG1LJMPTSR7TSR5:MOVR0,#06BHTSR6:DJNZR0,TSR6TSR7:SETBDQRET;=====================================延時子程序DELAY:MOVR7,#2HMIN:DJNZR7,YS500RETYS500:LCALLYS500USLJMPMINYS500US:MOVR6,#200DJNZR6,$RETDELAY1:MOVR7,#6DELAY1_1:MOVR6,#200DELAY1_2:MOVR5,#250DJNZR5,$DJNZR6,DELAY1_2DJNZR7,DELAY1_1RETYS125MS:MOVR7,#250YS125MS1:MOVR6,#250DJNZR6,$DJNZR7,YS125MS1RETDISPLAY1:LCALLLCD_CSMOVR0,#11MOV50H,#0MOVR1,#08HA1:MOVA,R1MOVP0,AACALLENABLEMOVDPTR,#TABLE1MOVA,50HMOVCA,@A+DPTRLCALLWRITE_EINC50HINCR1DJNZR0,A1RETDISPLAY2:LCALLLCD_CSMOVP0,#0C1HCALLENABLELCALLWRITE1RETWRITE1:MOVR1,#4MOVR0,#37HMOVDPTR,#TABLE2B1:MOVA,@R0MOVCA,@A+DPTRCALLWRITE_EINCR0DJNZRI,B1RETDISPLAY3:LCALLLCD_CSMOVR0,#16MOV50H,#0MOVRI,#80HC1:MOVA,R1MOVP0,AACALLENABLEMOVDPTR,#TABLE3MOVA,50HMOVCA,@A+DPTRLCALLWRITE_EINC50HINCR1DJNZR0,C1RETENABLE:CLRRSCLRRWCLREACALLDELAY3SETBERETWRITE_E:CALLDELAY3SETBRSCLRRWSETBEMOVP0,ACLRERETLCD_CS:MOVP0,#01HACALLENABLEMOVP0,#38HACALLENABLEMOVP0,#0CHACALLENABLEMOVP0,#06HACALLENABLEDELAY3:MOVR7,#20D1:MOVR6,#250D2:DJNZR6,D2DJNZR7,D1RETTABLE1:DB'D','S','1','8','B','2','0',',',',','O','K'TABLE2:DB'0','1','2','3','4','5','6','7','8','9'','TABLE3:DB'D','S','1','8','B','2','0','E','R','R','O','R'END基于C8051F單片機(jī)直流電動機(jī)反饋控制系統(tǒng)的設(shè)計與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實現(xiàn)基于單片機(jī)的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗臺控制器的研制基于單片機(jī)的軟起動器的研究和設(shè)計基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于

溫馨提示

  • 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

提交評論