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

下載本文檔

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

文檔簡介

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

2、89C52;蜂鳴器。AbstractTemperature detection and control of industrial production process, one of the more typical applications, with sensors in production and life is more widely used, using a new single-bus digital temperature sensor to achieve the test and control the temperature more rapidly developm

3、ent, this paper is designed based on STC89C52 temperature detection and alarm systems. The system will be more than a single-bus temperature sensor DS18B20 and connected to a port on the controller, the temperature sensors on each loop collection, the temperature will be collected to compare with th

4、e set value, when the temperature exceeds the upper limit set , Through the buzzer alarm. The system design and layout simple and compact structure, small size, light weight, anti-jamming capability, cost-effective to expand convenience, in large warehouses, factories, construction and other areas o

5、f intelligent multi-point temperature measurement in a wide range of applications prospects. Key words: digital temperature sensor; DS18B20; STC89C52; alarm signal. 畢業(yè)論文(設(shè)計(jì))原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設(shè)計(jì))是我在導(dǎo)師的指導(dǎo)下進(jìn)行的研究工作與取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的容外,本論文(設(shè)計(jì))不包含其他個人已經(jīng)發(fā)表或撰寫過的研究成果。對本論文(設(shè)計(jì))的研究做出重要貢獻(xiàn)的個人和集體,均已在文中作了明確說明并表

6、示意。 作者簽名: 日期:畢業(yè)論文(設(shè)計(jì))授權(quán)使用說明本論文(設(shè)計(jì))作者完全了解*學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計(jì))的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計(jì))并向相關(guān)部門送交論文(設(shè)計(jì))的電子版和紙質(zhì)版。有權(quán)將論文(設(shè)計(jì))用于非贏利目的的少量復(fù)制并允許論文(設(shè)計(jì))進(jìn)入學(xué)校圖書館被查閱。學(xué)校可以公布論文(設(shè)計(jì))的全部或部分容。的論文(設(shè)計(jì))在解密后適用本規(guī)定。 作者簽名: 指導(dǎo)教師簽名:日期: 日期:注意事項(xiàng)1.設(shè)計(jì)(論文)的容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、

7、正文、結(jié)論7)參考文獻(xiàn)8)致9)附錄(對論文支持必要時)2.論文字?jǐn)?shù)要求:理工類設(shè)計(jì)(論文)正文字?jǐn)?shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正文字?jǐn)?shù)不少于1.2萬字。3.附件包括:任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體與大小符合要求,無錯別字,不準(zhǔn)請他人代寫2)工程設(shè)計(jì)類題目的圖紙,要求部分用尺規(guī)繪制,部分用計(jì)算機(jī)繪制,所有圖紙應(yīng)符合國家技術(shù)標(biāo)準(zhǔn)規(guī)。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫3)畢業(yè)論文須用A4單面打印,論文50頁以上的雙面打印4)圖表應(yīng)繪制于無格子的頁面上5)軟件工程類課題

8、應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(jì)(論文)2)附件:按照任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)次序裝訂3)其它目 錄一、緒論 1.1 設(shè)計(jì)的意義與目標(biāo).4 1.2 單片機(jī)的概述.4 1.3 設(shè)計(jì)方案的論證.5 二、硬件的設(shè)計(jì) (一)、主要器件的選擇2.1.1 主控制器的選擇.62.1.2 DS18B20溫度傳感器.72.1.3 蜂鳴器的報警原理.132.1.4 1602LCD顯示原理.14 (二)、電路的設(shè)計(jì)2.2.1最小系統(tǒng)電路設(shè)計(jì).182.2.2溫度傳感器DS18B20電路圖設(shè)計(jì).182.2.3顯示電路設(shè)計(jì).19 三、軟件設(shè)計(jì) (一)、 主程序設(shè)計(jì).20 (二)、部分

9、程序設(shè)計(jì)3.2.1獲取溫度子程序.223.2.2溫度計(jì)算BCD碼轉(zhuǎn)換子程序.223.2.3DS18B20初始化子程序.263.2.4LCD1602液晶顯示程序.29 四、調(diào)試 4.1 硬件調(diào)試.30 4.2 軟件調(diào)試.30 五、總結(jié).31 六、致.32 七、參考文獻(xiàn).32 八、附錄.33 一 緒 論1.1 選題的意義與容防潮、防霉、防腐、防爆是倉庫日常工作的重要容,是衡量倉庫管理質(zhì)量的重要指標(biāo)。它直接影響到儲備物資的使用壽命和工作可靠性。為保證日常工作的順利進(jìn)行,首要問題是加強(qiáng)倉庫溫度與濕度的監(jiān)測工作。但傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測量計(jì)和濕度試紙等測試器材,通過人工進(jìn)行檢測,

10、對不符合溫度和濕度要求的庫房進(jìn)行通風(fēng)、去濕和降溫等工作。這種人工測試方法費(fèi)時費(fèi)力、效率低,且測試的溫度與濕度誤差大,隨機(jī)性大。因此,研究溫度的測量方法和裝置具有重要意義,溫度測控技術(shù)也在各個領(lǐng)域應(yīng)用越來越廣泛。采用單片機(jī)對溫度進(jìn)行控制,不僅具有控制方便和組態(tài)簡單的優(yōu)點(diǎn),而且可以提高被控溫度的技術(shù)指標(biāo)。我們設(shè)計(jì)了這種造價低廉、使用方便且測量準(zhǔn)確的溫濕度測量儀。1.2 單片機(jī)的概述單片機(jī)自1976年由Intel公司推出MCS-48開始,迄今已有三十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面。單片機(jī)的應(yīng)用領(lǐng)域已

11、從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動化、汽車電子、PC機(jī)外圍以與網(wǎng)絡(luò)通訊等廣大領(lǐng)域,對各個行業(yè)的技術(shù)改造和產(chǎn)品更新?lián)Q代起著重要的推動作用。目前使用的MCS-51系列單片機(jī)與其兼容產(chǎn)品通常分成以下幾類:基本型、增強(qiáng)型、低功耗型、專用型、超8位型、片閃爍存儲器型。其中ATMEL公司的標(biāo)準(zhǔn)型AT89單片機(jī)因其與MCS-51的完全兼容性、優(yōu)良的工作性能、使用的靈活性以與較高的性能價格比,成為AT89系列單片機(jī)的主流機(jī)型,在嵌入式控制系統(tǒng)中獲得廣泛應(yīng)用。1.3 設(shè)計(jì)方案的論證方案一由于本設(shè)計(jì)實(shí)現(xiàn)的是測溫電路,首先我們可以使用熱敏電阻之類的器件,利用其感溫效應(yīng),將其隨被測

12、溫度變化的電壓或電流值采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,通過顯示電路就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。因此,我們引出第二種方案。方案 二 我們可以采用技術(shù)成熟、操作簡單、精確度高的溫度傳感器,在此,可以選用數(shù)字溫度傳感器DS18B20,根據(jù)它的特點(diǎn)和測溫原理,很容易就能直接讀取被測溫度值并進(jìn)行轉(zhuǎn)換,這樣就可以滿足設(shè)計(jì)要求。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計(jì)也比較簡單,故在本設(shè)計(jì)中采用了方案二。通過方案二設(shè)計(jì)的溫度計(jì)總體電路圖如附錄圖C所示,控制器采用單片機(jī)STC89C52,溫度傳感器采用DS18B20

13、,用4位LED數(shù)碼管以串口并行輸出方式傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示。LCD1602顯示單片機(jī)復(fù)位 單片機(jī)主控制器溫度傳感器 時鐘震蕩蜂鳴器報警 圖1.1 方案二的總體設(shè)計(jì)框圖二、硬件的設(shè)計(jì)(一)、主要器件的選擇2.1.1 主控制器的選擇STC89C52 是低電壓,高性能 CMOS 8 位單片機(jī),片含 8k bytes 的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes 的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用高密度、非易失性存儲技術(shù)生產(chǎn),與標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)與8052產(chǎn)品引腳兼容,片置通用8位中央處理器(CPU)和 Flash 存儲單元,功能強(qiáng)大STC89C52 單片機(jī)適合于許多較為復(fù)

14、雜控制應(yīng)用場合。STC89C52單片機(jī)為40引腳雙列直插芯片,有四個I/O口P0、P1、P2、P3,每一條I/O線都能獨(dú)立地作輸出或輸入。STC89C52 PDIP管腳封裝,如圖2.1.1所示。圖2.1 STC89C52 PDIP管腳封裝STC89c52包含以下部分:(1)一個8位微處理器CPU(2)片數(shù)據(jù)存儲器RAM和特殊功能寄存器SFR(3)片程序存儲器ROM(4)兩個定時/計(jì)數(shù)器T0、T1,可用作定時器,也可用以對外部脈沖進(jìn)行計(jì)數(shù)(5)四個8位可編程的并行I/O端口,每個端口既可作輸入,也可作輸出(6)一個串行端口,用于數(shù)據(jù)的串行通信(7)中斷控制系統(tǒng)(8)部時鐘電路2.1.2 DS18

15、B20溫度傳感器 (1) DS18B20的主要特征: 全數(shù)字溫度轉(zhuǎn)換與輸出。 先進(jìn)的單總線數(shù)據(jù)通信。 最高12位分辨率,精度可達(dá)土0.5攝氏度。 12位分辨率時的最大工作周期為750毫秒。 可選擇寄生工作方式。 檢測溫度圍為55C +125C (67F +257F) 置EEPROM,限溫報警功能。 64位光刻ROM,置產(chǎn)品序列號,方便多機(jī)掛接。 多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。 圖2.2(2) DS18B20部結(jié)構(gòu):圖2.3 DS18B20部結(jié)構(gòu)框圖溫度傳感器DS18B20的部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2.

16、4所示。圖2.4 高速暫存RAM結(jié)構(gòu)圖其中,前2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié),為配置寄存器,它的容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。暫存存儲器的第5個字節(jié)是配置寄存器,可以通過相應(yīng)的寫命令進(jìn)行配置,其容如下:0R1R0111111MSB LSB其中R0和R1是溫度值分辨率位,可按表2.1進(jìn)行配置。表2.1 溫度值分辨率配置表R1R0分辨率最大轉(zhuǎn)換時間(ms)009位93.75ms(tconv/8)0110位183.50ms(tconv/4)1011位375ms(t

17、conv/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高SSSSS262524MSB LSB這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在DS18B20的兩個8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1

18、,測到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。格式中,S表示位。對應(yīng)的溫度計(jì)算:當(dāng)符號位S=0時,表示測得的溫度植為正值,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,表示測得的溫度植為負(fù)值,先將補(bǔ)碼變換為原碼,再計(jì)算十進(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)制)+12500000111 1101000007D0H+8500000101 010100000550H+25.062500000001 1001

19、00010191H+10.12500000000 1010001000A2H+0.500000000 000010000008H000000000 000000000000H-0.511111111 11111000FFF8H-10.12511111111 01011110FFE5H-25.062511111110 01101111FF6FH-5511111100 10010000FC90H(3) DS18B20測溫原理DS18B20的測溫原理如圖2.5所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小用于產(chǎn)生固定頻率的脈沖信號送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)

20、生的信號作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測量.計(jì)數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55所對應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55所對應(yīng)的一個基數(shù)值。斜率累加器計(jì)數(shù)比較器預(yù)置低溫度系數(shù)振蕩器高溫度系數(shù)振蕩器減法計(jì)數(shù)器1減法計(jì)數(shù)器2減到0減到0預(yù)置溫度寄存器斜率累加器計(jì)數(shù)比較器預(yù)置圖2.5 DS18B20測溫原理圖減法計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時溫度寄存器的值將加1,減法計(jì)

21、數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。在正常測溫情況下,DS18B20的測溫分辨力為0.5,可采用下述方法獲得高分辨率的溫度測量結(jié)果:首先用DS18B20提供的讀暫存器指令(BEH)讀出以0.5為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實(shí)際溫度的整數(shù)部分Tz,然后再用BEH指令取計(jì)數(shù)器1的計(jì)數(shù)剩余值Cs和每度計(jì)數(shù)值CD。實(shí)際溫度Ts可用式(2-1)計(jì)算:Ts=(Tz-0.25)+(CD-Cs)/CD (2-1)2.1.3

22、 蜂鳴器的報警原理(1)三極管驅(qū)動的蜂鳴器報警電路RP. 1.0STC 89S52+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.4 LCD1602顯示原理(1) LCD1602的控制原理: 1602液晶模塊部的控制器共有11條控制指令,如下表所示 表2.3 LCD1602控制指令序號指令RSR/WD7D6D5D4D3D2

23、D1D01清顯示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計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)容 LCD1602液晶模塊的讀寫操作,屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明1為高電平,0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置指令2:

24、光標(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的點(diǎn)陣字符,高電平時顯示5X10

25、的顯示字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址 BF:忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或數(shù)據(jù),如果為低電平表示不忙。讀寫操作時序如圖所示: 圖2.7 LCD1602讀時序圖圖2.8 LCD1602寫操作時序(2) LCD1602的RAM地址映射與標(biāo)準(zhǔn)字庫表: 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在,哪里顯示字符,圖2.9是1602的部顯示地址。圖2.9 LCD1602部顯示地址(二)、電路的設(shè)計(jì)2.2.1最小

26、系統(tǒng)電路設(shè)計(jì)本系統(tǒng)使用兒的基于單片機(jī)的溫度計(jì)的設(shè)計(jì)所以首先設(shè)計(jì)單片機(jī)的最小系統(tǒng),所謂最小系統(tǒng)是一個真正可用的單片機(jī)的最小配置系統(tǒng)。由于本次設(shè)計(jì)所是用的stc89c52單片機(jī)片不能集成始終電路所需的晶體振蕩器,也沒有復(fù)位電路,在構(gòu)成最小系統(tǒng)時必須外接這些部件。電路設(shè)計(jì)如圖2.10 其中電容為30PF,10UF ,晶振為11.0592MHZ。 2.10 單片機(jī)最小系統(tǒng)圖2.2.2溫度傳感器DS18B20電路圖設(shè)計(jì)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列、各種封裝形式如圖3.4所示。其中,DQ 為數(shù)據(jù)輸入/輸出引腳,也可用

27、作開漏單總線接口引腳,當(dāng)被用在寄生電源工作方式下,可以向器件提供電源;GND為地信號;VDD為可選擇的電源引腳,當(dāng)工作于寄生電源時,此引腳必須接地。其電路圖2.11所示。 圖2.11 溫度傳感器DS18B20電路圖 2.2.3顯示電路設(shè)計(jì)1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表: 表2.4 LCD1602引腳說明編號符號引腳說明編號符號引腳說明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ù)16

28、BLK背光源負(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í)行命令。第714腳:D0D7為8位雙

29、向數(shù)據(jù)線。第15腳:背光源正極。 圖2.11 LCD 1602連接電路圖第16腳:背光源負(fù)極。三、軟件設(shè)計(jì) (一)、 主程序設(shè)計(jì) 圖3.1 主體流程圖設(shè)計(jì)(二)、部分程序設(shè)計(jì)3.2.1獲取溫度子程序圖3.2 讀出溫度子程序流程圖3.2.2溫度計(jì)算BCD碼轉(zhuǎn)換子程序 ;=將從DS18B20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換 TEMPER_COV :MOV A,#0F0H ANL A, TEMPER_L SWAP A MOV TEMPER_NUM,A MOV A,TEMPER_L JNB ACC.3,TEMPER_COV1 INC TEMPER_NUM TEMPER_COV1:MOV A, TEMPER_H

30、 ANL A, #07H SWAP A ORL A,TEMPER_NUM MOV TEMPER_NUM,A MOV A ,#0FH ANL A ,TEMPER_L MOV TEMPER_D,A CLR C SUBB A ,#10 JC JIANLO MOV TEMPER_D , A INC TEMPER_NUM JIANLO: LCALL BIN_BCD RET ;=將16進(jìn)制的溫度數(shù)據(jù)轉(zhuǎn)換成壓縮BCD碼 BIN_BCD: MOV DPTR ,#TEMP_TAB MOV A ,TEMPER_NUM MOVC A ,A+DPTR MOV TEMPER_NUM,A RET TEMP_TAB :DB

31、 00H,01H,02H,03H,04H,05H,06H,07H DB 08H,09H,10H,11H,12H,13H,14H,15H DB 16H,17H,18H,19H,20H,21H,22H,23H DB 24H,25H,26H,27H,28H,29H,30H,31H DB 32H,33H,34H,35H,36H,37H,38H,39H DB 40H,41H,42H,43H,44H,45H,46H,47H DB 48H,49H,50H,51H,52H,53H,54H,55H DB 56H,57H,58H,59H,60H,61H,62H,63H DB 64H,65H,66H,67H,68H

32、,69H,70H,71H DB 72H,73H,74H,75H,76H,77H,78H,79H DB 80H,81H,82H,83H,84H,85H,86H,87H DB 88H,89H,90H,91H,92H,93H,94H,95H DB 96H,97H,98H,99H 圖3.4 計(jì)算溫度子程序流程圖3.2.3DS18B20初始化子程序?qū)τ贒S18B20來說,它的初始化是很重要的,沒有初始化,它根本就不能工作。下面是它的初始化子程序:INIT_1820:SETB DQ NOP CLR DQ MOV R0,#80H TSR1: DJNZ R0,TSR1 SETB DQ MOV R0,#25H

33、TSR2: DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 TSR3: SETB FLAG1 LJMP TSR5 TSR4 : CLR FLAG1 LJMP TSR7 TSR5: MOV R0,#06BH TSR6: DJNZ R0,TSR6 TSR7: SETB DQ RET3.2.4LCD1602液晶顯示程序 DISPLAY1:LCALL LCD_CS MOV R0,#11 MOV 50H,#0 MOV R1,#08H A1: MOV A, R1 MOV P0,A ACALL ENABLE MOV DPTR,#TABLE1 MOV A ,50H MOVC A ,A +

34、DPTR LCALL WRITE_E INC 50H INC R1 DJNZ R0,A1 RET DISPLAY2; LCALL LCD_CS MOV P0,#0C1H CALL ENABLE LCALL WRITE1 RET WRITE1:MOV R1,#4 MOV R0,#37H MOV DPTR,#TABLE2 B1: MOV A,R0 MOVC A,A+DPTR CALL WRITE_E INC R0 DJNZ RI,B1 RET DISPLAY3:LCALL LCD_CS MOV R0,#16 MOV 50H,#0 MOV RI,#80H C1: MOV A,R1 MOV P0,A

35、ACALL ENABLE MOV DPTR ,#TABLE3 MOV A ,50H MOVC A,A+DPTR LCALL WRITE_E INC 50H INC R1 DJNZ R0,C1 RET ENABLE :CLR RS CLR RW CLR E ACALL DELAY3 SETB E RET WRITE_E:CALL DELAY3 SETB RS CLR RW SETB E MOV P0,A CLR E RET LCD_CS : MOV P0,#01H ACALL ENABLE MOV P0,#38H ACALL ENABLE MOV P0,#0CH ACALL ENABLE MOV

36、 P0,#06H ACALL ENABLE DELAY3:MOV R7 ,#20 D1:MOV R6,#250 D2:DJNZ R6,D2 DJNZ R7,D1 RET TABLE1:DB D,S,1,8,B,2,0,O,K TABLE2:DB 0,1,2,3,4,5,6,7,8,9, TABLE3:DBD,S,1,8,B,2,0,E,R,R,O,R END 四、調(diào)試4.1 硬件調(diào)試(1)排除器件的損害主要有兩種原因:一是在商店就是壞的,被被我們買回來了,而是由于我們自己焊接不當(dāng),導(dǎo)致的器件燒壞:尤其是電烙鐵,我們使用時盡量不要長時間將器件與電烙鐵接觸,而且要把電烙鐵接地,可以用替換法來檢測可

37、以元器件。(2)排除邏輯故障 這主要是靠我們的細(xì)心,要認(rèn)真對照我們的設(shè)計(jì)電路圖去焊接,不要接錯線接漏線,尤其是地線和+5V線不要接到一起。4.2 軟件調(diào)試本次設(shè)計(jì)電路原理圖時還有一個錯誤,這一錯誤導(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)過檢查簡化了報

38、警程序,才發(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ù)雜一點(diǎn)就不易找出問題了。五、總結(jié)和體會本設(shè)計(jì)利用89S52芯片控制溫度傳感器DS18B20,再輔之以部分外圍電路實(shí)現(xiàn)對環(huán)境溫度的測控,性能穩(wěn)定,精度教高,而且擴(kuò)展性能很強(qiáng)大。由于DS18B20的測量精度只有0.5 度,往往很多場合需要更加精確的溫度,在所測溫度精度不變的基礎(chǔ)上必須對數(shù)據(jù)進(jìn)行校正。由于DS18B20

39、 是基于帶隙結(jié)構(gòu)的數(shù)字式溫度傳感器,PN 結(jié)增量電壓正比于IC 絕對溫度(PTAT),它的測溫精度較高,但存在著一定的誤差.不過,其誤差在時間和外部環(huán)境變化的條件下,保持相當(dāng)高的穩(wěn)定性。它充分利用監(jiān)控計(jì)算機(jī)的處理能力,在監(jiān)控計(jì)算機(jī)上用線性插補(bǔ)的數(shù)學(xué)方法對其進(jìn)行誤差校正補(bǔ)償,能輕易地將其提高其精度。在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設(shè)計(jì)但這次設(shè)計(jì)真的讓我長進(jìn)了很多,單片機(jī)匯編語言課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,有好多的東西,只有我們?nèi)ピ囍隽耍拍苷嬲恼莆铡A?、?在此要感我們的指導(dǎo)賀新民老師和王玉之老師對我們悉心的照顧,感老師給我們的幫助。在

40、設(shè)計(jì)過程中,我通過查閱大量有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué),并向老師請教等方式,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設(shè)計(jì)中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計(jì)做的也不太好,但是在學(xué)習(xí)過程中所學(xué)到的東西是這次培訓(xùn)的最大的收獲和財富,使我終身受益。七、參考文獻(xiàn)1 馬家辰 .MCS-51單片機(jī)原理與接口技術(shù)M . :工業(yè)大學(xué),19982 王武江 .常用集成電路速成手冊 M. :冶金工業(yè),20043 振江 .

41、新型集成電路使用指南和典型應(yīng)用L . :電子科技大學(xué),20004 童本敏 .集成電路數(shù)據(jù)手冊TTL集成電路L . :電子工業(yè),19895 江太輝,鄧展威 .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ā)實(shí)用子程序 M . :人民郵電, 20058 馬忠梅 .單片機(jī)的C語言應(yīng)用程序設(shè)計(jì) M .:航空航天大學(xué), 20039 譚博學(xué) .集成電路原理與應(yīng)用 M .:電子工業(yè), 20031

42、0 National Semiconductor Data Book, 1992-199411 建華,亢海偉,旭東,東陽 . DSP與數(shù)字溫度傳感器DS18B20的接口設(shè)計(jì) G . : 省科學(xué)院學(xué)報 第21卷 第2 期 2004年6月八、附錄附錄1:設(shè)計(jì)成品圖附2:設(shè)計(jì)全程序46 / 46;=;采用LCD1602顯示測溫度,顯示精度0.1度,測溫圍-55+125 ;用STC89C52單片機(jī),12MHZ晶振 ; DS18B20 溫度計(jì);=自定義管腳存 TEMPER_L EQU 36H TEMPER_H EQU 35H TEMPER_D EQU 61H TEMPER_NUM EQU 60H FLAG1 BIT 00H B

溫馨提示

  • 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

提交評論