版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 大學(xué)生電子(dinz)競(jìng)賽設(shè)計(jì)報(bào)告項(xiàng)目名稱: 環(huán)境溫度監(jiān)控報(bào)警(bo jng)系統(tǒng)組 長(zhǎng): 王偉濤 組 員: 王塨、張峰 系 別: 物理系 專 業(yè): 光電器件(qjin)及其應(yīng)用方向指導(dǎo)教師: 李清貴 完成時(shí)間: 2015年7月25日 摘要(zhiyo):本著熟悉單片機(jī)編程,系統(tǒng)設(shè)計(jì)的目的,增強(qiáng)(zngqing)動(dòng)手合作能力,選擇了做單片機(jī)實(shí)時(shí)溫度監(jiān)控報(bào)警系統(tǒng)這個(gè)實(shí)驗(yàn)項(xiàng)目。本開放性實(shí)驗(yàn)(shyn)主要由AT89C52芯片、1602液晶顯示器、DS18B20數(shù)字式溫度傳感器、蜂鳴器等組成。通過(guò)溫度傳感器實(shí)時(shí)采集環(huán)境溫度顯示在液晶屏上,并經(jīng)過(guò)單片機(jī)處理,設(shè)置兩個(gè)上限溫度報(bào)警值,本系統(tǒng)可用于智能家
2、居溫控報(bào)警,車間溫控等,具有一定推廣價(jià)值。關(guān)鍵字:溫度報(bào)警 溫度上下限 AT89C52單片機(jī) 液晶LCD1602 溫度傳感器DS18B20 Abstract: In the design of the single chip microcomputer programming, system design, enhance the ability to work, the choice of real-time temperature monitoring and control system of single-chip microcomputer. This open experiment
3、 is mainly made up of AT89C52 chip, 1602 LCD, DS18B20 digital temperature sensor, buzzer and so on. Through the temperature sensors to collect the environmental temperature display on the LCD screen, and through the SCM processing, set two upper limit temperature alarm value, the system can be used
4、for the intelligent home control alarm, workshop temperature control, with certain value of popularization.Key words: temperature alarm Upper and lower limits of temperature temperatureAT89C52 microcontroller LCD LCD1602 temperature sensor DS18B20 TOC o 1-3 h z u HYPERLINK l _Toc425624996 一、課程設(shè)計(jì)任務(wù)(r
5、n wu) 一、課程設(shè)計(jì)任務(wù)(rn wu)1.1、功能(gngnng)介紹本環(huán)境溫度監(jiān)控(jin kn)報(bào)警系統(tǒng)以STC89C52單片機(jī)為核心,通過(guò)單線數(shù)字溫度傳感器DS18B20來(lái)進(jìn)行收集當(dāng)前環(huán)境溫度,用矩陣鍵盤輸入設(shè)置兩個(gè)上線環(huán)境溫度值,用1602液晶顯示屏顯示當(dāng)前溫度值和設(shè)置好的兩個(gè)上線環(huán)境溫度值,用蜂鳴器和LED燈作為警報(bào),從而可以實(shí)現(xiàn)以下功能:(1)可以對(duì)當(dāng)前環(huán)境溫度進(jìn)行測(cè)量溫度測(cè)量范圍:090攝氏度,誤差0.1攝氏度(2)可通過(guò)1602LCD液晶顯示屏顯示出來(lái)當(dāng)前環(huán)境溫度值和設(shè)置的兩個(gè)上線溫度值,并且數(shù)值可以達(dá)到小數(shù)點(diǎn)后一位。(3)可以通過(guò)矩陣鍵盤實(shí)時(shí)對(duì)兩個(gè)上線環(huán)境溫度值調(diào)控(4)
6、當(dāng)環(huán)境溫度大于上限的較小值時(shí)會(huì)亮綠燈并且蜂鳴器會(huì)做頻率較低的長(zhǎng)聲報(bào)警,當(dāng)大于較大值時(shí)兩燈都會(huì)亮并且蜂鳴器會(huì)做頻率較高的報(bào)警。(5)通過(guò)定時(shí)器編一個(gè)時(shí)鐘實(shí)時(shí)顯示當(dāng)前時(shí)間,當(dāng)環(huán)境溫度大于上限溫度時(shí)會(huì)停止時(shí)間,記下事故發(fā)生時(shí)間。二、系統(tǒng)整體設(shè)計(jì)方案2.1、系統(tǒng)組成及功能 本系統(tǒng)共分為六個(gè)模塊。(1)單片機(jī)模塊,這部分主要實(shí)現(xiàn)數(shù)據(jù)的處理,輸出執(zhí)行(zhxng),報(bào)警設(shè)置功能(主要模塊)(2)液晶顯示模塊可以分別(fnbi)顯示實(shí)時(shí)溫度值,溫度上下限。(主要(zhyo)模塊)(3)溫度傳感模塊的主要功能是通過(guò)DS18B20的強(qiáng)大功能實(shí)現(xiàn)對(duì)溫度的采集。(主要模塊)(4)蜂鳴器模塊可以發(fā)出報(bào)警聲。(5)按鍵
7、可以設(shè)置時(shí)間和上限的兩個(gè)溫度值(6)LED燈模塊可以顯示報(bào)警信號(hào)2.2、系統(tǒng)框架溫度讀取液晶顯示AT89C52控制器鍵盤掃描并設(shè)置蜂鳴器LED燈 圖1三、硬件(yn jin)電路設(shè)計(jì)本系統(tǒng)(xtng)由溫度傳感器DS18B20模塊(m kui)、單片機(jī)AT89C52模塊、LCD液晶顯示1602模塊、蜂鳴器模塊、LED燈模塊、鍵盤模塊六大模塊組成,3.1、單片機(jī)模塊3.1.1、AT89C52簡(jiǎn)介該環(huán)境溫度監(jiān)控報(bào)警系統(tǒng)所用的單片機(jī)是AT89C52單片機(jī),又圖2為AT89C52單片機(jī)引腳圖,AT89C52是一個(gè)低電壓,高性能 HYPERLINK /view/22318.htm t _blank CM
8、OS8位 HYPERLINK /view/1012.htm t _blank 單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的 HYPERLINK /view/7641.htm t _blank Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器( HYPERLINK /view/3558.htm t _blank RAM),器件采用 HYPERLINK /view/110906.htm t _blank ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51 HYPERLINK /view/178189.htm t _blank 指令系統(tǒng),片內(nèi)置通用8位 HYPERLI
9、NK /view/14045.htm t _blank 中央處理器和Flash HYPERLINK /view/1223079.htm t _blank 存儲(chǔ)單元,該型號(hào)的單片機(jī)是應(yīng)用量最多最普遍的單片機(jī),它具有性能穩(wěn)定、抗干擾能力強(qiáng)、性價(jià)比高、適應(yīng)溫度范圍廣、功耗低、體積小的特點(diǎn)廣泛應(yīng)用于各種復(fù)雜環(huán)境及各電子行業(yè)中。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2 個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的
10、Flash存儲(chǔ)器可有效地降低開發(fā)成本因此我們選擇了AT89C52單片機(jī)。3.1.2、AT89C52的資源(zyun):(1)兼容(jin rn)MCS51 HYPERLINK /view/178189.htm t _blank 指令系統(tǒng)(zh ln x tn)(2)8kB可反復(fù)擦寫(大于1000次) HYPERLINK /view/32473.htm t _blank Flash ROM;(3)32個(gè)雙向I/O口;(4)256x8bit內(nèi)部 HYPERLINK /view/3558.htm t _blank RAM;(5)3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷; 圖2(6)時(shí)鐘頻率0-24MHz;(
11、7)2個(gè)串行中斷,可編程 HYPERLINK /view/245027.htm t _blank UART串行通道;(8)2個(gè)外部中斷源,共8個(gè)中斷源;(9)2個(gè)讀寫中斷口線,3級(jí)加密位;(10)低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;(11)有 HYPERLINK /view/2352559.htm t _blank PDIP、 HYPERLINK /view/188697.htm t _blank PQFP、TQFP及 HYPERLINK /view/852053.htm t _blank PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。3.1.3、引腳說(shuō)明(1)P0口P0 口是一組8
12、 位漏極開路型雙向I/O 口, 也即地址/ HYPERLINK /view/712987.htm t _blank 數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8 個(gè)TTL邏輯門電路,對(duì)端口P0 寫“1”時(shí),可作為高阻抗輸入端用。在訪問(wèn) HYPERLINK /view/1273932.htm t _blank 外部數(shù)據(jù) HYPERLINK /view/87697.htm t _blank 存儲(chǔ)器或 HYPERLINK /view/421016.htm t _blank 程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0
13、 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。(2)P1口P1 是一個(gè)(y )帶內(nèi)部(nib)上拉電阻(dinz)的8 位雙向I/O 口, P1 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè) HYPERLINK /view/641241.htm t _blank 引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2
14、EX)。(3)P2口P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的 HYPERLINK /view/700402.htm t _blank 輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)端口P2 寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)外部 HYPERLINK /view/421016.htm t _blank 程序存儲(chǔ)器或16 位地?cái)?shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR 指令)時(shí),P2 口送出高8 位地址數(shù)據(jù)。在訪問(wèn)8 位地址的外部數(shù)據(jù) HYPER
15、LINK /view/87697.htm t _blank 存儲(chǔ)器(如執(zhí)行MOVXRI 指令)時(shí),P2 口輸出P2 HYPERLINK /view/629932.htm t _blank 鎖存器的內(nèi)容。(4)P3口P3 口是一組帶有內(nèi)部(nib)上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收(xshu)或輸出電流)4 個(gè)TTL 邏輯(lu j)門電路。對(duì)P3 口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流(IIL),P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能,P3 口還接收一些用于Flash HYPE
16、RLINK /view/600209.htm t _blank 閃速存儲(chǔ)器編程和程序校驗(yàn)的 HYPERLINK /view/8407048.htm t _blank 控制信號(hào)。(5)RST復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST HYPERLINK /view/641241.htm t _blank 引腳出現(xiàn)兩個(gè) HYPERLINK /view/713240.htm t _blank 機(jī)器周期以上高電平將使 HYPERLINK /view/1012.htm t _blank 單片機(jī)復(fù)位.(6)ALE/PROG當(dāng)訪問(wèn)外部 HYPERLINK /view/421016.htm t _blank 程序存儲(chǔ)器
17、或數(shù)據(jù)存儲(chǔ)器時(shí),ALE( HYPERLINK /view/2260573.htm t _blank 地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時(shí)鐘振蕩頻率的1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn) HYPERLINK /view/1273932.htm t _blank 外部數(shù)據(jù) HYPERLINK /view/87697.htm t _blank 存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE 脈沖。(7)PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序 HYPERLINK /view/87697.htm t _blank 存儲(chǔ)器的讀選通信
18、號(hào),當(dāng)AT89C52 由外部 HYPERLINK /view/421016.htm t _blank 程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè) HYPERLINK /view/713240.htm t _blank 機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn) HYPERLINK /view/1273932.htm t _blank 外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。(8)EA/VPP外部訪問(wèn)(fngwn)允許。欲使CPU 僅訪問(wèn)(fngwn)外部(wib) HYPERLINK /view/421016.htm t _blank 程序存儲(chǔ)器(地址為0000HFFFFH),EA
19、端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash HYPERLINK /view/87697.htm t _blank 存儲(chǔ)器編程時(shí),該 HYPERLINK /view/641241.htm t _blank 引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。(9)XTAL1振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。(10)XTAL2振蕩器反相放大器的輸出端。 圖33.1.4、單片機(jī)模塊電路設(shè)計(jì)AT89C52單片機(jī)接線圖如下圖2P0接液
20、晶(yjng)數(shù)據(jù)口,P2.2和P2.3接2個(gè)發(fā)光(f un)二極管,P3接8個(gè)按鈕,P2.4接蜂鳴器,P2.5接繼電器,P2.6接液晶(yjng)的RS,P2.7接液晶的EN,P1.2接溫度傳感器,其他按單片機(jī)最小系統(tǒng)連接。3.2傳感器模塊3.2.1、DS18B20簡(jiǎn)介采用DALLAS最新單線數(shù)字溫度傳感器DS18B20。新的“一線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。DS18B20“一線總線”數(shù)字化溫度傳感器也支持“一線總線”接口,測(cè)量溫度范圍為 -55C+125C,在-10+85C范圍內(nèi),精度為0.5
21、C?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。DS18B20的特性:DS18B20可以程序設(shè)定912位的分辨率,精度為0.5C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的 圖4報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價(jià)格比也非常出色!繼“一線總線”的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)。3.2.2、DS18B20引
22、腳說(shuō)明(shumng)DQ:數(shù)字信號(hào)輸入(shr)輸出端。GND:電源(dinyun)地端。VDD:外接供電電源輸入端(在寄生電源接線時(shí)此腳應(yīng)接地)。3.2.3 DS18B20引腳電路設(shè)計(jì) 圖5 3.3、液晶顯示模塊 3.3.1、1602LCD液晶顯示屏簡(jiǎn)介 采用LCD1602液晶顯示模塊,有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得 圖6到廣泛的應(yīng)用。目前字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件。它可以顯示兩行,每行16個(gè)字符,采用單5V電源供電,外圍電路配置簡(jiǎn)單,價(jià)格便宜,具有很高的性價(jià)比。3.3.2、1602引腳說(shuō)明(shumng)
23、1602采用(ciyng)標(biāo)準(zhǔn)的16腳接口(ji ku)(1)第1腳:VSS為電源地(2)第2腳:VDD接5V電源正極(3)第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正極時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高。 (4)第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。 (5)第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。 (6)第6腳:E(或EN)端為使能(enable)端。 (7)第714腳:D0D7為8位雙向數(shù)據(jù)端。 (8)第1516腳:空腳或背光電源,15腳背光正極,16腳背光負(fù)極。3.3.3、1602電路設(shè)計(jì) 圖7四、軟件(run
24、jin)模塊設(shè)計(jì)4.1、主程序流程框圖(kungt)開始液晶、定時(shí)器、變量初始化鍵盤掃描、按鍵處理時(shí)鐘顯示、溫度轉(zhuǎn)化并顯示Yes溫度小于較低溫度值正常工作NoYes溫度大于較低且小于溫度值綠燈亮,有長(zhǎng)報(bào)警聲No溫度大于較高溫度值紅綠燈亮,有短報(bào)警聲,繼電器控制開關(guān)斷開,停止時(shí)鐘YesNo結(jié)束單片機(jī)溫度實(shí)時(shí)監(jiān)控報(bào)警系統(tǒng)流程圖 圖84.2、顯示(xinsh)模塊4.2.1程序編寫(binxi)說(shuō)明寄 圖9 圖10 寄存器選擇(xunz)控制表RSR/W操作說(shuō)明00寫入指令寄存器(清除屏等)01讀busy flag(DB7),以及讀取位址計(jì)數(shù)器(DB0DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11
25、從數(shù)據(jù)寄存器讀取數(shù)據(jù)注:關(guān)于(guny)E=H脈沖(michng)開始時(shí)初始化E為0,然后置E為1,再清0.4.2.2、顯示子程序void write_com(uchar com)/寫液晶命令函數(shù)rs=0;lcden=0;P0=com;delay(3);lcden=1;delay(3);lcden=0;void write_date(uchar date)/寫液晶數(shù)據(jù)函數(shù)rs=1;lcden=0;P0=date;delay(3);lcden=1;delay(3);lcden=0;void write_sfm(uchar add,char date)/1602液晶刷新時(shí)分秒函數(shù)1為時(shí),4為分,7
26、為秒 char shiwei,gewei;shiwei=date/10;gewei=date%10;write_com(0 x80+add);write_date(0 x30+shiwei);write_date(0 x30+gewei);void write_nyr(uchar add,char date)/1602液晶刷新(shu xn)年月日函數(shù)3為年,6為分,9為秒char shiwei,gewei;shiwei=date/10;gewei=date%10;write_com(0 xc0+add);write_date(0 x30+shiwei);write_date(0 x30+ge
27、wei);4.3、溫度傳感器模塊(m kui)4.3.1、程序(chngx)編寫說(shuō)明 圖11 圖12初始化(1) 先將數(shù)據(jù)線置高電平“1”。(2) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn))(3) 數(shù)據(jù)線拉到低電平“0”。(4) 延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)。(5) 數(shù)據(jù)線拉到高電平“1”。(6) 延時(shí)等待(dngdi)(如果初始化成功則在15到60微秒時(shí)間(shjin)之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回(fnhu)的低電平“0”。據(jù)該狀態(tài)可以來(lái)確定它的存在,但是應(yīng)注意不能無(wú)限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。(7) 若CPU讀到了
28、數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒。(8) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。寫操作(1) 數(shù)據(jù)線先置低電平“0”。(2) 延時(shí)確定的時(shí)間為15微秒。(3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。(4) 延時(shí)時(shí)間為45微秒。(5) 將數(shù)據(jù)線拉到高電平。(6) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。(7) 最后將數(shù)據(jù)線拉高。讀操作(1)將數(shù)據(jù)線拉高“1”。(2)延時(shí)2微秒。(3)將數(shù)據(jù)線拉低“0”。(4)延時(shí)3微秒。(5)將數(shù)據(jù)線拉高“1”。(6)延時(shí)5微秒。(7)讀數(shù)據(jù)線的狀態(tài)(zhung
29、ti)得到1個(gè)狀態(tài)(zhungti)位,并進(jìn)行數(shù)據(jù)處理。(8)延時(shí)60微秒。4.3.2、溫度(wnd)傳感器讀取溫度以及顯示溫度的子程序:void dsreset(void) /18B20復(fù)位,初始化函數(shù) uint i; ds=0; i=103; while(i0)i-; ds=1; i=4; while(i0)i-;bit tempreadbit(void) /讀1位函數(shù) uint i; bit dat; ds=0;i+; /i+ 起延時(shí)作用 ds=1;i+;i+; dat=ds; i=8;while(i0)i-; return (dat);uchar tempread(void) /讀1個(gè)
30、字節(jié) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)(y )字節(jié)在DAT里 return(dat);void tempwritebyte(uchar dat) /向18B20寫一個(gè)字節(jié)(z ji)數(shù)據(jù) uint i; uchar j; bit testb; for(j=1;j1; if(testb) /寫 1 ds=0; i+;i+; ds=1; i=8;while(i0)i-; else ds=0; /寫 0 i=8;while(i0)i-; ds=1; i+;i+;
31、void tempchange(void) /DS18B20 開始獲取(huq)溫度并轉(zhuǎn)換 dsreset(); delay(1); tempwritebyte(0 xcc); / 寫跳過(guò)讀ROM指令 tempwritebyte(0 x44); / 寫溫度(wnd)轉(zhuǎn)換指令uint get_temp() /讀取寄存器中存儲(chǔ)(cn ch)的溫度數(shù)據(jù) uchar a,b; dsreset(); delay(1); tempwritebyte(0 xcc); tempwritebyte(0 xbe); a=tempread(); /讀低8位 b=tempread(); /讀高8位 temp=b; t
32、emp=8; /兩個(gè)(lin )字節(jié)組合為1個(gè)字 temp=temp|a; f_temp=temp*0.0625; /溫度在寄存器中為12位 分辨率位0.0625 temp=f_temp+0.5; /加0.5是四舍五入 return temp; /temp是浮點(diǎn)型五、結(jié)論緊緊張張的電子大賽培訓(xùn)也有一周之久了,首先給我們的感覺就是有好多東西都不懂,但這未必是一件壞事,就像王老師說(shuō)的一樣,你越是不懂就說(shuō)明你要學(xué)的東西很多,你的提升空間也就越大。我們組每天都是起早貪黑的工作者早上7:40準(zhǔn)時(shí)在實(shí)驗(yàn)室坐著中午不休息一直到晚上10:40才回去,因?yàn)樵偻砘氐剿奚峋鸵P(guān)門了,當(dāng)東西做不完時(shí)我們都有一種沖動(dòng)晚
33、上不回了,正是因?yàn)檫@種執(zhí)著拼搏的精神使我們收獲很多,每天我們都會(huì)感覺腦子里都是滿滿的不管是懂得的收獲還是不懂得煩惱。從剛開始(kish)的什么也不懂到現(xiàn)在的protel畫電路圖、proteus仿真、腐蝕、打板,焊接、調(diào)試(dio sh)等一些東西基本上動(dòng)能很好的掌握了,可以說(shuō)這是一個(gè)巨大的進(jìn)步,調(diào)試是一個(gè)復(fù)雜而漫長(zhǎng)的過(guò)程,需要我們不斷地去做,有一次我們的仿真也做出來(lái)了,但是在實(shí)物上就是不行,結(jié)果總是不對(duì),經(jīng)過(guò)一上午的檢查調(diào)試終于知道了是我們的一根線接反了,開始的時(shí)候我們還以為是在焊接時(shí)由于高溫而把與器件燒了呢,于是我們有萬(wàn)能表一個(gè)一個(gè)的檢查電路。從這可以看出這是一個(gè)看似簡(jiǎn)單而最容易出錯(cuò)的過(guò)程,
34、需要我們的耐心(nixn)和細(xì)心?,F(xiàn)在我們的環(huán)境溫度監(jiān)控報(bào)警系統(tǒng)已經(jīng)做出來(lái)了,它可以收集環(huán)境的溫度并在顯示屏上顯示出來(lái),我們可以用矩陣鍵盤設(shè)置兩個(gè)上線溫度值,當(dāng)檢測(cè)到的環(huán)境溫度值大于最小上線溫度時(shí)二極管會(huì)閃爍并且蜂鳴器會(huì)做頻率較低的報(bào)警,當(dāng)環(huán)境溫度大于較大上線溫度值時(shí)二極管會(huì)閃爍并且蜂鳴器會(huì)做頻率較高的報(bào)警。它具有一定的使用價(jià)值可以用于倉(cāng)庫(kù)、實(shí)驗(yàn)室、機(jī)房以及軍事等設(shè)備上。該系統(tǒng)的整體設(shè)計(jì)還是有很大的提升空間的,比如讓它也可以監(jiān)控低溫,當(dāng)溫度低于設(shè)置溫度值時(shí)也能夠做出一些指示報(bào)警。另一方面,該系統(tǒng)只是報(bào)警這是不夠的,最終還是需要人去做出反應(yīng),我們可以讓它自動(dòng)切斷電源,從而保護(hù)設(shè)備,這樣使其更具有
35、自動(dòng)化,從而會(huì)有更大的推廣應(yīng)用范圍。六、致謝(zh xi)本次項(xiàng)目從開始設(shè)計(jì)(shj)到最后完工涉及到大量的知識(shí)應(yīng)用,我們的指導(dǎo)老師李清貴老師一直孜孜不倦的指導(dǎo)我們,給我們提供幫助,特別是當(dāng)遇到單片機(jī)上的問(wèn)題(wnt)。在此我們感謝李清貴老師。在項(xiàng)目(xingm)設(shè)計(jì)的過(guò)程中有楊彥偉老師(losh)、李浩平老師和王曉軍老師(losh)的監(jiān)督管理以及在知識(shí)、器材、元件方便對(duì)我們的幫助,在此我們一并表示致謝!對(duì)當(dāng)我們遇到問(wèn)題時(shí)給我們提供幫助的同學(xué)們?cè)诖宋覀兺瑯颖闶歉兄x。感謝一路上有你們的陪伴,真心的感謝你們!七、參考文獻(xiàn)1、唐穎.單片機(jī)技術(shù)及C51程序設(shè)計(jì).電子工業(yè)出版社.20122、黃智偉.全國(guó)
36、大學(xué)生電子設(shè)計(jì)競(jìng)賽訓(xùn)練教程.電子工業(yè)出版社.20103、郭天祥.51單片機(jī)C語(yǔ)言(yyn)教程.電子(dinz)工業(yè)出版社.20094 李朝清.單片機(jī)原理(yunl)及接口技術(shù).北京航空航天大學(xué)出版社,1996.85 于永權(quán).89系列(MCS-51兼容)Flash單片機(jī)原理及應(yīng)用.北京:電子工業(yè)出版社,19976 百度文庫(kù)7 宋文續(xù),揚(yáng)帆.傳感器與檢測(cè)技術(shù).北京:高等教育出版社,2005.48 常健生.檢測(cè)與轉(zhuǎn)換技術(shù).北京:機(jī)械工業(yè)出版社,2004.69 凌志浩.智能儀表原理與設(shè)計(jì)技術(shù).上海:華東理工大學(xué)出版社,2003.8八、附錄(fl)8.1、實(shí)物圖8.2、仿真(fn zhn)圖8.3、總
37、程序(chngx)#include#define uchar unsigned char #define uint unsigned intsbit rs=P26;sbit lcden=P27;sbit jidianqi=P25;sbit s1=P30;/功能鍵sbit s2=P31;/增加(zngji)鍵sbit s3=P32;/減小鍵sbit beep=P15;/蜂鳴器sbit led1=P10;sbit led2=P11;sbit ds=P37; /溫度傳感器uint warnl=33; /下限(xixin)溫度uint warnh=35; /上限溫度uint temp;/整形溫度數(shù)據(jù)f
38、loat f_temp;/浮點(diǎn)型溫度數(shù)據(jù)uchar count,stop,s1num,s2num;/其它變量定義char miao,shi,fen;uchar code table= : : ;/液晶固定顯示內(nèi)容uchar code table1= L H: ;void delay(uint z)/延時(shí)函數(shù)uint x,y;for(x=z;x0;x-)for(y=124;y0;y-); void di() /蜂鳴器報(bào)警聲音beep=0;delay(100);beep=1; /*=液晶操作=*/void write_com(uchar com)/寫液晶命令函數(shù)rs=0;lcden=0;P0=co
39、m;delay(3);lcden=1;delay(3);lcden=0;void write_date(uchar date)/寫液晶數(shù)據(jù)(shj)函數(shù)rs=1;lcden=0;P0=date;delay(3);lcden=1;delay(3);lcden=0;void write_sfm(uchar add,char date)/1602液晶刷新(shu xn)時(shí)分秒函數(shù)1為時(shí),4為分,7為秒 char shiwei,gewei;shiwei=date/10;gewei=date%10;write_com(0 x80+add);write_date(0 x30+shiwei);write_d
40、ate(0 x30+gewei);void write_sfm1(uchar add,int temp)char shiwei,gewei,xswei;shiwei=temp/100;gewei=temp%100/10;xswei=temp%100%10;write_com(0 x80+add);write_date(0 x30+shiwei);write_date(0 x30+gewei);write_date(0 x2e);write_date(0 x30+xswei);void write_nyr(uchar add,char date)/1602液晶(yjng)刷新年月日函數(shù)3為年,6
41、為分,9為秒char shiwei,gewei;shiwei=date/10;gewei=date%10;write_com(0 xc0+add);write_date(0 x30+shiwei);write_date(0 x30+gewei); /*=*/*=ds18B20程序(chngx)=*/void dsreset(void) /18B20復(fù)位(f wi),初始化函數(shù) uint i; ds=0; i=103; while(i0)i-; ds=1; i=4; while(i0)i-;bit tempreadbit(void) /讀1位函數(shù)(hnsh) uint i; bit dat; d
42、s=0;i+; /i+ 起延時(shí)作用 ds=1;i+;i+; dat=ds; i=8;while(i0)i-; return (dat);uchar tempread(void) /讀1個(gè)字節(jié) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=tempreadbit(); dat=(j1); /讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個(gè)字節(jié)在DAT里 return(dat);void tempwritebyte(uchar dat) /向18B20寫一個(gè)字節(jié)數(shù)據(jù) uint i; uchar j; bit testb; for(j=1;j1; if(testb) /寫 1 ds=0; i+;i+; ds=1; i=8;while(i0)i-; else ds=0; /寫 0 i=8;while(i0)i-; ds=1; i+;i+; void tempchange(void) /DS18B20 開始(kish)獲取溫度并轉(zhuǎn)換 ds
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024中外合資企業(yè)教育培訓(xùn)與經(jīng)營(yíng)合同書
- 2024廣州市房地產(chǎn)中介服務(wù)合同(賣方出租方使用)
- 2024個(gè)人民間借款合同范例
- 2024年信息安全保密協(xié)議
- 2024年合伙人分伙協(xié)議書
- 2024果樹苗木定購(gòu)合同范本
- 跨境電商商品銷售合同
- 承包商土地使用權(quán)贈(zèng)與合同模板
- 精裝修室內(nèi)工程合同
- 2024英文合同范本
- 文明交通你我同行(課件)-小學(xué)生主題班會(huì)通用版
- 《嬰幼兒行為觀察、記錄與評(píng)價(jià)》期末試卷及答案 卷3
- 企業(yè)戰(zhàn)略管理概述
- 消防安全概述
- 《馮諼客孟嘗君》
- 食品儲(chǔ)存不當(dāng)?shù)奈:侠韮?chǔ)存避免食物中毒
- 湖北省鄂東南聯(lián)考2023-2024學(xué)年高一上學(xué)期期中考試物理
- 自體骨髓干細(xì)胞治療急性心肌梗死的臨床研究的開題報(bào)告
- 家長(zhǎng)會(huì)課件:小學(xué)二年級(jí)學(xué)生家長(zhǎng)會(huì)課件
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十一章運(yùn)動(dòng)技能的練習(xí)
- 《第2課:20世紀(jì)的藝術(shù)大師-馬蒂斯》教學(xué)設(shè)計(jì)(湖北省縣級(jí)優(yōu)課)-五年級(jí)美術(shù)教案
評(píng)論
0/150
提交評(píng)論