




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選文檔基于單片機(jī)的液晶溫度顯示器的設(shè)計(jì) 摘要本文主要介紹了一個(gè)基于AT89C51單片機(jī)的測(cè)溫系統(tǒng),具體描述了利用液晶顯示器件LCD1602和傳感器DS18B20開發(fā)測(cè)溫系統(tǒng)的過程,對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,特殊是數(shù)字溫度傳感DS18B20的數(shù)據(jù)采集過程。關(guān)鍵詞AT89C51;DS18B20 ;LCD1602Based on single chip microcomputer temperature of liquid crystal display designAuthor:Zhou WeiTao(Garde11 class4 Major Com
2、munication, School of Physics and Telecommunication Engineering, Shaanxi University of Telechnology ,shaanxi hanzhong 723000)Tutor: Liu YafengAbstract This paper mainly introduces a temperature measurement system based on AT89C51, describes in detail using LCD1602 LCD display device and sensor DS18B
3、20 temperature measurement and control system in the development process, focusing on sensor under the single chip microcomputer hardware connection, software programming and the flow diagram of each module system are analyzed in detail, especially the digital temperature sensor DS18B20 the data col
4、lection process.Key words AT89C51; DS18B20; LCD1602 引言溫度是生活及生產(chǎn)中最基本的物理量,它表征的是物體的冷熱程度。自然界中任何物理、化學(xué)過程都緊密地與溫度相聯(lián)系。在很多生產(chǎn)過程中,溫度的測(cè)量和把握都直接和平安生產(chǎn)、提高生產(chǎn)效率、保證產(chǎn)品質(zhì)量、節(jié)省能源等重大技術(shù)經(jīng)濟(jì)指標(biāo)相聯(lián)系。自18世紀(jì)工業(yè)革命以來,工業(yè)過程離不開溫度把握。溫度把握廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,如家電、汽車、材料、電力電子等。溫度把握的精度以及不同把握對(duì)象的把握方法選擇都起著至關(guān)重要的作用。隨著社會(huì)的進(jìn)步和工業(yè)技術(shù)的進(jìn)展,溫度因素在社會(huì)生活各個(gè)方面已不容忽視。由于很多產(chǎn)品對(duì)溫
5、度范圍要求嚴(yán)格,而目前市場(chǎng)上普遍存在的溫度檢測(cè)儀器大都是單點(diǎn)測(cè)量,同時(shí)有溫度信息傳遞不準(zhǔn)時(shí)、精度不夠的缺點(diǎn),不利于工業(yè)把握者依據(jù)溫度變化準(zhǔn)時(shí)做出打算,在這樣的形式下,開發(fā)一種能夠同時(shí)測(cè)量多點(diǎn),并且實(shí)時(shí)性高、精度高,能夠綜合處理多點(diǎn)溫度信息的測(cè)量系統(tǒng)就很有必要。在單片機(jī)技術(shù)已經(jīng)普及到我們生活、工作、科研、各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù)條件下,我們可以基于89S51單片機(jī),利用液晶顯示器件以及DS18B20溫度傳感器等器件,通過溫度傳感器在單片機(jī)下的硬件連接,軟件編程即可設(shè)計(jì)DS18B20溫度傳感器系統(tǒng)。該系統(tǒng)可以便利的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可依據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來相
6、當(dāng)便利,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的幫助擴(kuò)展。DS18B20與AT89C51結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)潔,抗干擾力量強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。1內(nèi)容1.1課程設(shè)計(jì)題目 基于DS18B20的溫度傳感器1.2課程設(shè)計(jì)目的通過基于MCS-51系列單片機(jī)AT89C51和DS18B20溫度傳感器檢測(cè)溫度,生疏芯片的使用,溫度傳感器的功能,數(shù)碼顯示管的使用,匯編語言的設(shè)計(jì);并且把我們這一年所學(xué)的數(shù)字和模擬電子技術(shù)、檢測(cè)技術(shù)、單片機(jī)應(yīng)用等學(xué)問,
7、通過理論聯(lián)系實(shí)際,從題目分析、電路設(shè)計(jì)調(diào)試、程序編制調(diào)試到傳感器的選定等這一完整的試驗(yàn)過程,培育了同學(xué)正確的設(shè)計(jì)思想,使同學(xué)充分發(fā)揮主觀能動(dòng)性,去獨(dú)立解決實(shí)際問題,以達(dá)到提升同學(xué)的綜合力量、動(dòng)手力量、文獻(xiàn)資料查閱力量的作用,為畢業(yè)設(shè)計(jì)和以后工作打下一個(gè)良好的基礎(chǔ)。1.3設(shè)計(jì)任務(wù)和要求以MCS-51系列單片機(jī)為核心器件,組成一個(gè)數(shù)字溫度計(jì),接受數(shù)字溫度傳感器DS18B20為檢測(cè)器件,進(jìn)行單點(diǎn)溫度檢測(cè),檢測(cè)精度為0.5攝氏度。溫度顯示接受LCD1602顯示,兩位整數(shù),一位小數(shù)。圖1.1 系統(tǒng)總體仿真圖1.4方案選擇與論證依據(jù)設(shè)計(jì)任務(wù)的總體要求,本系統(tǒng)可以劃分為以下幾個(gè)基本模塊,針對(duì)各個(gè)模塊的功能要
8、求,分別有以下一些不同的設(shè)計(jì)方案:1.4.1溫度傳感模塊方案一:接受熱敏電阻,熱敏電阻精度、重復(fù)性、牢靠性較差,對(duì)于檢測(cè)1攝氏度的信號(hào)是不適用的,也不能滿足測(cè)量范圍。在溫度測(cè)量系統(tǒng)中,也常接受單片溫度傳感器,比如AD590,LM35等。但這些芯片輸出的都是模擬信號(hào),必需經(jīng)過A/D轉(zhuǎn)換后才能送給計(jì)算機(jī),這樣就使測(cè)溫系統(tǒng)的硬件結(jié)構(gòu)較簡(jiǎn)單。另外,這種測(cè)溫系統(tǒng)難以實(shí)現(xiàn)多點(diǎn)測(cè)溫,也要用到簡(jiǎn)單的算法,肯定程度上也增加了軟件實(shí)現(xiàn)的難度。 方案二:接受單總線數(shù)字溫度傳感器DS18B20測(cè)量溫度,直接輸出數(shù)字信號(hào)。便于單片機(jī)處理及把握,節(jié)省硬件電路。且該芯片的物理化學(xué)性很穩(wěn)定,此元件線形性能好,在0100攝氏度
9、時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一接受了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS18B20和微把握器AT89C51構(gòu)成的溫度裝置,它直接輸出溫度的數(shù)字信號(hào)到微把握器。每只DS18B20具有一個(gè)獨(dú)有的不行修改的64位序列號(hào),依據(jù)序列號(hào)可訪問不同的器件。這樣一條總線上可掛接多個(gè)DS18B20傳感器,實(shí)現(xiàn)多點(diǎn)溫度測(cè)量,輕松的組建傳感網(wǎng)絡(luò)。 綜上分析,我選用其次種方案。圖1.2 溫度傳感模塊仿真圖1.4.2顯示模塊 方案一:接受8位段數(shù)碼管,將單片機(jī)得到的數(shù)據(jù)通過數(shù)碼管顯示出來。該方案簡(jiǎn)潔易行,但所需的元件較多,且不簡(jiǎn)潔進(jìn)行操作,可讀性差,一旦設(shè)定后很難再加入其他的功能,顯示格式受限
10、制,且大耗電量大,不宜用電池給系統(tǒng)供電。 方案二:接受液晶顯示器件,液晶顯示平穩(wěn)、省電、美觀,更簡(jiǎn)潔實(shí)現(xiàn)題目要求,對(duì)后續(xù)的園藝通兼容性高,只需將軟件作修改即可,可操作性強(qiáng),也易于讀數(shù),接受RT1602兩行十六個(gè)字符的顯示,能同時(shí)顯示其它的信息如日期、時(shí)間、星期、溫度。 綜上分析,我們接受了其次個(gè)方案圖1.3 顯示模塊仿真圖2系統(tǒng)概述2.1系統(tǒng)的總體設(shè)計(jì)方案 8255PCD 微機(jī)系統(tǒng) 接受AT89S52單片機(jī)作為把握核心對(duì)溫度傳感器DS18B20把握,讀取溫度信號(hào)并進(jìn)行計(jì)算處理,并送到液晶顯示器LCD1602顯示。 依據(jù)系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由3個(gè)模塊組成:主把握器、測(cè)溫電路和顯示電路。數(shù)
11、字溫度計(jì)總體電路結(jié)構(gòu)框圖如圖2.1下所示。 DS18B20顯示電路圖2.1 總體電路結(jié)構(gòu)框圖2.2硬件電路設(shè)計(jì)2.2.1單片機(jī)把握模塊該模塊由AT89C51單片機(jī)組成在設(shè)計(jì)方面,AT89C51的EA接高電平,其外圍電路供應(yīng)能使之工作的晶振脈沖、復(fù)位按鍵,四個(gè)I/O分別接8路的單列IP座便利與外圍設(shè)備連接。 當(dāng)AT89C51芯片接到來自溫度傳感器的信號(hào)時(shí),其內(nèi)部程序?qū)⒁罁?jù)信號(hào)的類型進(jìn)行處理,并且將處理的結(jié)果送到顯示模塊,發(fā)送把握信號(hào)把握各模塊。2.2.2溫度傳感器模塊圖2.2 DS18B20 2.2.2.1 DS18B20原理與分析 DS18B20是美國(guó)DALLAS半導(dǎo)體公司繼DS1820之后最
12、新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測(cè)溫度并且可依據(jù)實(shí)際要求通過簡(jiǎn)潔的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式??梢苑謩e在93.75 ms和750 ms內(nèi)完成9位和12位的數(shù)字量,并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅需要一根口線(單線接口)讀寫,溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS18B20供電,而無需額外電源。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)潔,牢靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、辨別率等方面較DS1820有了很大的改進(jìn),給用戶帶來了更便利的使用和更令人滿足的效果。 以下是DS18B20的特點(diǎn): (1)獨(dú)
13、特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。 (2)在使用中不需要任何外圍元件。 (3)可用數(shù)據(jù)線供電,電壓范圍:+3.0+5.5 V。 (4)測(cè)溫范圍:-55 - +125 。固有測(cè)溫辨別率為0.5 。 (5)通過編程可實(shí)現(xiàn)9-12位的數(shù)字讀數(shù)方式。 (6)用戶可自設(shè)定非易失性的報(bào)警上下限值。 (7)支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。 (8)負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 圖2.3 DS18B20的測(cè)溫原理2.2.2.2 DS18B20的測(cè)溫原理 DS18
14、B20的測(cè)溫原理如圖2.3所示,圖2.3低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯轉(zhuǎn)變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖2.3還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來打算,每次測(cè)量前,首先將-55 所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在 -55 所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存
15、器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開頭對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖中的斜率累加器用于補(bǔ)償和修正測(cè)溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達(dá)到被測(cè)溫度值,這就是DS18B20的測(cè)溫原理。 另外,由于DS18B20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必需按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令
16、處理數(shù)據(jù)。 DS18B20工作過程一般遵循以下協(xié)議:初始化ROM操作命令存儲(chǔ)器操作命令處理數(shù)據(jù) 初始化 單總線上的全部處理均從初始化序列開頭。初始化序列包括總線主機(jī)發(fā)出一復(fù)位脈沖,接著由從屬器件送出存在脈沖。存在脈沖讓總線把握器知道DS1820 在總線上且已預(yù)備好操作。 ROM操作命令 一旦總線主機(jī)檢測(cè)到從屬器件的存在,它便可以發(fā)出器件ROM操作命令之一。全部ROM操作命令均為8位長(zhǎng)。這些命令如下: Read ROM(讀ROM)33h 此命令允許總線主機(jī)讀DS18B20的8位產(chǎn)品系列編碼,唯一的48位序列號(hào),以及8位的CRC。此命令只能在總線上僅有一個(gè)DS18B20的狀況下可以使用。假如總線上
17、存在多于一個(gè)的從屬器件,那么當(dāng)全部從片企圖同時(shí)發(fā)送時(shí)將發(fā)生數(shù)據(jù)沖突的現(xiàn)象(漏極開路會(huì)產(chǎn)生線與的結(jié)果)。 Match ROM( 符合ROM)55h 此命令后繼以64位的ROM數(shù)據(jù)序列,允許總線主機(jī)對(duì)多點(diǎn)總線上特定的DS1尋址。只有與64位ROM序列嚴(yán)格相符的DS18B20才能對(duì)后繼的存貯器操作命令作出響應(yīng)。全部與64位ROM序列不符的從片將等待復(fù)位脈沖。此命令在總線上有單個(gè)或多個(gè)器件的狀況下均可使用。 Skip ROM( 跳過ROM )CCh 在單點(diǎn)總線系統(tǒng)中,此命令通過允許總線主機(jī)不供應(yīng)64位ROM編碼而訪問存儲(chǔ)器操作來節(jié)省時(shí)間。假如在總線上存在多于一個(gè)的從屬器件而且在Skip ROM命令之后
18、發(fā)出讀命令,那么由于多個(gè)從片同時(shí)發(fā)送數(shù)據(jù),會(huì)在總線上發(fā)生數(shù)據(jù)沖突(漏極開路下拉會(huì)產(chǎn)生線與的效果)。 Search ROM( 搜尋ROM)F0h 當(dāng)系統(tǒng)開頭工作時(shí),總線主機(jī)可能不知道單線總線上的器件個(gè)數(shù)或者不知道其64位ROM編碼。搜尋ROM命令允許總線把握器用排解法識(shí)別總線上的全部從機(jī)的64位編碼。 Alarm Search(告警搜尋)ECh 此命令的流程與搜尋ROM命令相同。但是,僅在最近一次溫度測(cè)量消滅告警的狀況下,DS18B20才對(duì)此命令作出響應(yīng)。告警的條件定義為溫度高于TH 或低于TL。只要DS18B20一上電,告警條件就保持在設(shè)置狀態(tài),直到另一次溫度測(cè)量顯示出非告警值或者轉(zhuǎn)變TH或T
19、L的設(shè)置,使得測(cè)量值再一次位于允許的范圍之內(nèi)。貯存在EEPROM內(nèi)的觸發(fā)器值用于告警。 存儲(chǔ)器操作命令 Write Scratchpad(寫暫存存儲(chǔ)器)4Eh 這個(gè)命令向DS18B20的暫存器中寫入數(shù)據(jù),開頭位置在地址2。接下來寫入的兩個(gè)字節(jié)將被存到暫存器中的地址位置2和3??梢栽谌魏螘r(shí)刻發(fā)出復(fù)位命令來中止寫入。 Read Scratchpad(讀暫存存儲(chǔ)器)BEh 這個(gè)命令讀取暫存器的內(nèi)容。讀取將從字節(jié)0開頭,始終進(jìn)行下去,直到第9(字節(jié)8,CRC)字節(jié)讀完。假如不想讀完全部字節(jié),把握器可以在任何時(shí)間發(fā)出復(fù)位命令來中止讀取。 Copy Scratchpad(復(fù)制暫存存儲(chǔ)器)48h 這條命令把
20、暫存器的內(nèi)容拷貝到DS18B20的E2存儲(chǔ)器里,即把溫度報(bào)警觸發(fā)字節(jié)存入非易失性存儲(chǔ)器里。假如總線把握器在這條命令之后跟著發(fā)出讀時(shí)間隙,而DS18B20又正在忙于把暫存器拷貝到E2存儲(chǔ)器,DS18B20就會(huì)輸出一個(gè)“0”,假如拷貝結(jié)束的話,DS18B20 則輸出“1”。假如使用寄生電源,總線把握器必需在這條命令發(fā)出后馬上起動(dòng)強(qiáng)上拉并最少保持10ms。 Convert T(溫度變換)44h 這條命令啟動(dòng)一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后DS18B20保持等待狀態(tài)。假如總線把握器在這條命令之后跟著發(fā)出讀時(shí)間隙,而DS18B20又忙于做時(shí)間轉(zhuǎn)換的話,DS18B20將在總線上輸出“0
21、”,若溫度轉(zhuǎn)換完成,則輸出“1”。假如使用寄生電源,總線把握器必需在發(fā)出這條命令后馬上起動(dòng)強(qiáng)上拉,并保持500ms。 Recall E2(重新調(diào)整E2)B8h 這條命令把貯存在E2中溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯?chǔ)器。這種重新調(diào)出的操作在對(duì)DS18B20上電時(shí)也自動(dòng)發(fā)生,因此只要器件一上電,暫存存儲(chǔ)器內(nèi)就有了有效的數(shù)據(jù)。在這條命令發(fā)出之后,對(duì)于所發(fā)出的第一個(gè)讀數(shù)據(jù)時(shí)間片,器件會(huì)輸出溫度轉(zhuǎn)換忙的標(biāo)識(shí):“0”=忙,“1”=預(yù)備就緒。 Read Power Supply(讀電源)B4h 對(duì)于在此命令發(fā)送至DS18B20之后所發(fā)出的第一讀數(shù)據(jù)的時(shí)間片,器件都會(huì)給出其電源方式的信號(hào):“0”=寄生電源供電,
22、“1”=外部電源供電。 處理數(shù)據(jù) DS18B20的高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其安排如表2.1所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后。表2.1 DS18B20溫度數(shù)據(jù)表表2.1是DS18B20溫度采集轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,假如測(cè)得的溫度大于或等于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;假如溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 溫度
23、轉(zhuǎn)換計(jì)算方法舉例: 例如當(dāng)DS18B20采集到+125的實(shí)際溫度后,輸出為07D0H,則:實(shí)際溫度=07D0H*0.0625=2000*0.0625=1250C。 例如當(dāng)DS18B20采集到-55的實(shí)際溫度后,輸出為FC90H,則應(yīng)先將11位數(shù)據(jù)位取反加1得370H(符號(hào)位不變,也不作為計(jì)算),則: 實(shí)際溫度=370H*0.0625=880*0.0625=550C。 2.2.2.3顯示模塊LCD1602資料(這里主要介紹下指令說明準(zhǔn)時(shí)序)表2.2 1602液晶模塊內(nèi)部的把握器把握指令序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置
24、輸入模式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ù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光
25、標(biāo)移動(dòng)方向,高電平右移,低電平左移 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:高電平常移動(dòng)顯示的文字,低電平常移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 DL:高電平常為4位總線,低電平常為8位總線 N:低電平常為單行顯示,高電平常雙行顯示 F: 低電平常顯示5x7的點(diǎn)陣字符,高電平常顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地
26、址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),假如為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。表2.3 與HD44780相兼容的芯片時(shí)序讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0D7=狀態(tài)字寫指令輸入RS=L,R/W=L,D0D7=指令碼,E=高脈沖輸出無讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,D0D7=數(shù)據(jù),E=高脈沖輸出無圖2.4 讀操作時(shí)序圖2.5 寫操作時(shí)序3軟件設(shè)計(jì)系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換子程序、計(jì)算溫度子程序、顯示等等。 3.1主程序主要功能是完
27、成DS18B20的初始化工作,并進(jìn)行讀溫度,將溫度轉(zhuǎn)化成為壓縮BCD碼 并在顯示器上顯示傳感器所測(cè)得的實(shí)際溫度。3.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需要進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖3.1。圖3.1 DS18B20的初始化流程3.3溫度轉(zhuǎn)換命令子程序發(fā)DS18B20復(fù)位命令溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開頭命令,當(dāng)接受12位分辯率時(shí)轉(zhuǎn)換時(shí)間約為750ms,在本程序設(shè)計(jì)中接受1s顯示程序延時(shí)法等待轉(zhuǎn)換的完成。流程圖如圖3.2 發(fā)跳過ROM命令 圖3.2 延時(shí)流程圖發(fā)溫度轉(zhuǎn)換開頭命令結(jié)束3.4計(jì)算溫度子程序計(jì)算溫度子程序
28、將RAM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定。流程圖如圖3.3。圖3.3 正負(fù)溫度判定流程圖4系統(tǒng)測(cè)試4.1設(shè)計(jì)中的問題通過這次基于DS18B20傳感器測(cè)量溫度的設(shè)計(jì),我學(xué)到了不少新的學(xué)問。首先,這次設(shè)計(jì)讓我把書本上學(xué)到的理論學(xué)問轉(zhuǎn)化成為現(xiàn)實(shí)生活中有價(jià)值的實(shí)物。假如沒有這次設(shè)計(jì)為我 搭建的平臺(tái),我就不能對(duì)書本上的學(xué)問進(jìn)行很好的理解,也不能嫻熟的把它們應(yīng)用到現(xiàn)實(shí)生活中。還有,我們學(xué)會(huì)不能手高眼低,要踏踏實(shí)實(shí),從基礎(chǔ)學(xué)起、做起。但是,具體到設(shè)計(jì)時(shí),我遇到了很多問題。1. 如何將傳感器得到的溫度轉(zhuǎn)換成為對(duì)應(yīng)的電信號(hào);2. 如何將電信號(hào)輸送到單片機(jī)進(jìn)行把握;3. 如何把測(cè)得的溫度用數(shù)
29、字顯示出來。4.2系統(tǒng)改進(jìn)設(shè)想本次基于單片機(jī)的溫度監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)我感覺最大的缺陷就是沒有加入溫度上下限報(bào)警系統(tǒng)的設(shè)計(jì),聯(lián)系實(shí)際在程序中默認(rèn)設(shè)置系統(tǒng)的下限溫度為零下三十?dāng)z氏度。改進(jìn)設(shè)想如下:1. 在硬件方面應(yīng)當(dāng)加上一個(gè)蜂鳴器和三個(gè)按鈕分別為溫度“+”、溫度“”和“確定”,依據(jù)不同的監(jiān)測(cè)環(huán)境的要求用三個(gè)按鈕來設(shè)置具體的上限溫度;2. 在軟件方面分別加上設(shè)置系統(tǒng)默認(rèn)下限溫度的代碼、依據(jù)不同的環(huán)境設(shè)置系統(tǒng)上限溫度的代碼、當(dāng)達(dá)到上限溫度是蜂鳴器就報(bào)警的代碼。參考文獻(xiàn)1梁森,歐陽三泰,王侃夫. 自動(dòng)檢測(cè)技術(shù)及應(yīng)用M.北京:機(jī)械工業(yè)出版社.2012(2).2萬隆.單片機(jī)原理及應(yīng)用技術(shù).M.北京:清華高校出版
30、社.2010.3李朝青.單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版).M.杭州:北京航空航天高校出版社.2013(4).4李廣弟.單片機(jī)基礎(chǔ)M.北京:北京航空航天高校出版社.2007(3). 5康華光.數(shù)字電子技術(shù)基礎(chǔ)(第四版)M.北京:高等教育出版社.2008(5)6 張希影.基于74LS595驅(qū)動(dòng)的溫度顯示器設(shè)計(jì)J.微型計(jì)算機(jī)應(yīng)用,2013,32(23):83-89.7馮若曄,沈大偉,祖靜.基于ARM微處理器LPC2148的LED溫度顯示器設(shè)計(jì)J.電子測(cè)試,2010,23(10):60-63.8洪連環(huán).基于Proteus的液晶溫度顯示器仿真設(shè)計(jì)J.電子設(shè)計(jì)工程,2011,19(5):186-189.
31、9張志奎,劉強(qiáng).淺析溫度計(jì)位置對(duì)測(cè)溫的影響J.變壓器,2012,49(11):46-47.10郭天祥. 51單片機(jī)C語言教程M.北京:電子出版社. 2009(3).11周鵬. 基于STC89C52單片機(jī)的溫度檢測(cè)系統(tǒng)設(shè)計(jì)J. 現(xiàn)代電子技術(shù),2012,35(22):10-13.附錄附錄A:仿真總體電路圖附錄B:程序源代碼#include typedef unsigned char uint8;#define uint unsigned int#define uchar unsigned charsbit DQ = P33; / 定義DQ引腳為P3.3uchar code Bw10= 0x30,0
32、x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;/百位編碼ucharcodeXsw16=0x30,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x35,0x36,0x36,0x37,0x38,0x38,0x39,0x39;/小數(shù)位編碼sbit RS = P20 ;sbit RW = P21 ;sbit EN = P22 ;sbit BUSY = P07;uchar wendu;uchar temp_g,temp_d;unsigned char code word1=Temperature:;void delay(uint xms
33、)uint i,j;for(i=xms;i0;-i)for(j=110;j0;-j);void Delayus(int t) /在11.059MHz的晶振條件下調(diào)用本函數(shù)需要24s ,然后每次計(jì)數(shù)需16s int s; for (s=0; st;s+);void wait(void)/ 等待繁忙標(biāo)志P0 = 0xFF;doRS = 0;RW = 1;EN = 0;EN = 1;while (BUSY = 1);EN = 0;void w_dat(uint8 dat)/ 寫數(shù)據(jù)wait();EN = 0;P0 = dat;RS = 1;RW = 0;EN = 1;EN = 0;void w_cm
34、d(uint8 cmd)/ 寫命令wait();EN = 0;P0 = cmd;RS = 0;RW = 0;EN = 1;EN = 0;void w_string(uint8 addr_start, uint8 *p)/ 發(fā)送字符串到LCDw_cmd(addr_start);while (*p != 0)w_dat(*p+);void Init_LCD1602(void)/ 初始化1602w_cmd(0x38); / 16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口w_cmd(0x0c); / 顯示器開、光標(biāo)開、光標(biāo)允許閃爍w_cmd(0x06); / 文字不動(dòng),光標(biāo)自動(dòng)右移w_cmd(0x01); /
35、 清屏uchar Reset()/完成單總線的復(fù)位操作。 uchar d; DQ = 0; / 將 DQ 線拉低 Delayus(29); / 保持 480s .復(fù)位時(shí)間為480s,因此延時(shí)時(shí)間為(480-24)/16 = 28.5,取29s。 DQ = 1; / DQ返回高電平 Delayus(3); / 等待存在脈沖.經(jīng)過70s之后檢測(cè)存在脈沖,因此延時(shí)時(shí)間為(70-24)/16 = 2.875,取3s。 d = DQ; / 獲得存在信號(hào) Delayus(25); / 等待時(shí)間隙結(jié)束 return(d); / 返回存在信號(hào),0 = 器件存在, 1 = 無器件void write_bit(uchar bitval)/向單總線寫入1位值:bitval DQ = 0; / 將DQ 拉低開頭寫時(shí)間隙 if(bitval=1) DQ =1; / 假如寫1,DQ 返回高電平 Delayus(5);/ 在時(shí)間隙內(nèi)保持電平值, DQ = 1; / Delay
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年煙氣脫硫設(shè)備項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 農(nóng)業(yè)資源開發(fā)使用權(quán)利授權(quán)協(xié)議
- 2025年單證員職業(yè)資格考試試卷:?jiǎn)巫C員職業(yè)資格考試備考指導(dǎo)
- 2025年保健按摩師(初級(jí))理論知識(shí)試卷難點(diǎn)解析與備考指南
- 2025年氣霧劑機(jī)械項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 2025年美容師(中級(jí))職業(yè)技能鑒定實(shí)操試卷-美容師實(shí)操技能考核創(chuàng)新與突破篇
- 2025年麥片項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2025年勞動(dòng)保障協(xié)理員(中級(jí))考試試卷:勞動(dòng)保障政策執(zhí)行與社會(huì)保障改革路徑創(chuàng)新
- 個(gè)人收入及財(cái)務(wù)狀況年度證明(6篇)
- 2025年專升本藝術(shù)概論考試模擬試卷:藝術(shù)創(chuàng)作分析在當(dāng)代藝術(shù)研究中的應(yīng)用
- 第二屆全國(guó)化工和醫(yī)藥行業(yè)安全生產(chǎn)線上知識(shí)競(jìng)賽題庫(共150題)
- JJF1033-2023計(jì)量標(biāo)準(zhǔn)考核規(guī)范
- 2024年吉林長(zhǎng)春市中考地理試卷真題(含答案解析)
- 河北傳統(tǒng)醫(yī)學(xué)師承關(guān)系合同書
- 離婚協(xié)議書(完整版)WORDx(二篇)
- GB/T 6414-1999鑄件尺寸公差與機(jī)械加工余量
- 變電站新建工程土方開挖專項(xiàng)施工方案
- 廣東話粵語姓名拼音大全
- 護(hù)理查對(duì)制度pptPPT課件
- FE系列電磁流量計(jì)說明書(含設(shè)定參數(shù))(1)
- 基于PLC的打包機(jī)控制系統(tǒng)
評(píng)論
0/150
提交評(píng)論