基于單片機(jī)數(shù)字溫度表的設(shè)計研究_第1頁
基于單片機(jī)數(shù)字溫度表的設(shè)計研究_第2頁
基于單片機(jī)數(shù)字溫度表的設(shè)計研究_第3頁
基于單片機(jī)數(shù)字溫度表的設(shè)計研究_第4頁
基于單片機(jī)數(shù)字溫度表的設(shè)計研究_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 學(xué)號 093311003陜西國際商貿(mào)學(xué)院本科畢業(yè)論文基于單片機(jī)數(shù)字溫度表的設(shè)計研究二 級 學(xué) 院:電子與信息工程專 業(yè) 名 稱:電子科學(xué)與技術(shù)學(xué) 生 姓 名:盧浩指 導(dǎo) 教 師:王麗君 講師二一三年六月. 1 .鄭 重 聲 明 本人呈交的學(xué)位論文,是在導(dǎo)師的指導(dǎo)下,獨立進(jìn)行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料真實可靠。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含他人享有著作權(quán)的內(nèi)容。對本論文所涉及的研究工作做出貢獻(xiàn)的其他個人和集體,均已在文中以明確的方式標(biāo)明。本學(xué)位論文的知識產(chǎn)權(quán)歸屬于培養(yǎng)單位。 本人簽名: 日期: 摘 要本設(shè)計實現(xiàn)了以單片機(jī)為控制核心,用溫度傳感芯片

2、對溫度進(jìn)行數(shù)字化采集并通過單片機(jī)直接驅(qū)動筆段式LCD屏顯示溫度值。本系統(tǒng)選用的單片機(jī)是功能強(qiáng)大的STC12C5A60S2單片機(jī),溫度傳感芯片是LM75A,筆段式LCD屏是EDS803A三位半筆段式LCD屏。全系統(tǒng)只由上述三部分和電池組成,沒有使用電路板,直接依靠各部件引腳搭建電路,具有:電路設(shè)計精簡;焊接數(shù)量較少;無外部晶體;無復(fù)位電路;溫度測量精度高(±0.25),范圍廣(.55 至125)等特點。成品體積小巧,美觀打放,成本低廉。既可以使用內(nèi)部超薄紐扣電池供電,也可以使用外部電源供電;既可以吸附于光滑平面靜止測溫,也可以手持移動測溫。關(guān)鍵詞:STC12C5A60S2單片機(jī) LM7

3、5A EDS803A液晶屏 C語言 測溫ABSTRACTThis design achieved with the single chip processor as the core, with a temperature sensor chip of temperature acquisition and driven directly by single chip microcomputer digital pen sections of LCD display temperature. This system chooses the SCM STC12C5A60S2 single.chi

4、p computer is powerful, the temperature sensor chip is LM75A, sections of the LCD screen is EDS803A three and a half sections of LCD screen. Whole system consists of the above three parts and battery only, don't use the circuit board, directly depend on the pin set up circuit various components,

5、 are: circuit design concise; Less number of welding; No external crystal; No reset circuit; Higher temperature measurement precision (plus or minus 0.25 ), range (55 to 125 ), etc. Finished product volume is small and exquisite, beautiful, low cost. Can use internal ultra.thin button batteries, als

6、o can use external power supply; Can adsorption in the smooth plane static temperature, can also be hand.held mobile temperature measurement.KEYWORDS:STC12C5A60S2 Singlechip LM75A EDS803A LCD C programming language Temperature measurement目 錄1 緒論1.1研究背景11.2國內(nèi)外研究現(xiàn)狀11.2.1國內(nèi)發(fā)展近況11.2.2國外的數(shù)字溫度表有以下幾種21.3設(shè)計

7、內(nèi)容和設(shè)計要求31.3.1設(shè)計內(nèi)容31.3.2.設(shè)計要求42 數(shù)字溫度表的硬件設(shè)計2.1 STC12C5A60S2單片機(jī)簡介62. 2 LM75A簡介82.2.1原理簡介82.2.2 LM75A 的功能特點82.2.3 LM75A功能框圖82.2.4 IIC協(xié)議112.3 EDS803A三位半筆段式LCD屏簡介132.3.1筆段式LCD屏簡介132.3.2 EDS893A屏簡介132.4電路設(shè)計142.4.1原理圖14PCB圖142.4.3 3D模擬圖152.4.4 實物圖163 系統(tǒng)軟件設(shè)計3.1程序設(shè)計的總體方案內(nèi)容173.1.1 程序設(shè)計流程圖173.1.2總體設(shè)計方案173.2系統(tǒng)的各

8、個程序173.2.1主程序介紹及功能183.2.2系統(tǒng)子程序184 總結(jié)與展望4.1本課題工作總結(jié)214.2 設(shè)計展望21參考文獻(xiàn)附錄附錄1函數(shù)庫的調(diào)用25附錄2 數(shù)碼表25附錄3 I/O口定義25附錄4虛擬IIC子程序27附錄5延時子程序34附錄6 LCD液晶片交流驅(qū)動子程序35附錄7讀取溫度函數(shù)38附錄8主函數(shù)38附錄9中斷函數(shù)40致謝431 緒論1.1研究背景溫度作為人們?nèi)粘I钪械囊粋€基本量,在很多情況下都需要對其進(jìn)行準(zhǔn)確的測量,隨著人們生活水平的不斷提高,對溫度檢測的要求越來越高,用傳統(tǒng)的測溫元件(熱電偶和熱電阻)測量溫度需要比較多的硬件支持,硬件電路復(fù)雜,軟件調(diào)試復(fù)雜,制作成本高。

9、開發(fā)更加簡潔、高效的數(shù)字溫度表成為一個很有意義的課題。 本課題的設(shè)計源自于袁戰(zhàn)軍老師指導(dǎo)的數(shù)字電壓表項目的啟發(fā)。該項目的電路設(shè)計嚴(yán)謹(jǐn)而復(fù)雜,尤其是驅(qū)動顯示模塊的電路需要大量的手工焊接,而手工焊接不僅低效而且存在安全方面的隱患。如果電子制作中省去繁瑣的焊接,就會對產(chǎn)品的生產(chǎn)制造產(chǎn)生極大的便利,也會為企業(yè)產(chǎn)生更高的效益。安全高效節(jié)能環(huán)保是未來制造業(yè)的基本特征。本設(shè)計只需要:單片機(jī)、段碼液晶片、溫度傳感器芯片、鈕扣電池、導(dǎo)線這些簡單的元件和較少的焊接步驟來完成一個基于單片機(jī)的數(shù)字溫度表的電子制作。1.2國內(nèi)外研究現(xiàn)狀1.2.1國內(nèi)發(fā)展近況我國在溫度計量技術(shù)領(lǐng)域的發(fā)展相對國外發(fā)達(dá)國家起步較晚,但是經(jīng)過

10、多年來的不斷發(fā)展,還是取得了很多優(yōu)異的成績,研發(fā)出了一系列成熟的溫度測量儀器。我國溫度計量技術(shù)的發(fā)展大略可以從以下五個方面來介紹: 1.溫度固定點研究 我國目前研究不同于溫標(biāo)定義點的固定點有兩類。一類是高溫非定義固定點,這種固定點中的研究熱點是金屬碳共晶點,將來可能代替溫度燈作為溫度傳遞標(biāo)準(zhǔn);另一類是小型實用固定點,比如水三相點等,這類固定點雖然溫度不確定度和實用性還是較高的。 2.玻璃液體測溫 玻璃液體測溫的原理是利用感溫液體在玻璃容器中熱脹冷縮的特性,即當(dāng)被測物體的溫度變化時,玻璃容器中感溫液體的體積隨之變化而表現(xiàn)出被測物體的溫度。 在我國,一般的家用或者醫(yī)用體溫計就是一種利用玻璃液體測溫

11、原理研制的溫度計量儀器,使用較為廣泛。另外,基于玻璃液體溫度計發(fā)展而來的高精度數(shù)字溫度計的應(yīng)用也開始逐漸普及,其使用更為簡單、測量精度等各項參數(shù)均優(yōu)于傳統(tǒng)的玻璃液體溫度計。 3.熱電阻及熱電偶測溫 在我國,工業(yè)鉑熱電阻溫度計量儀器在溫度計量系統(tǒng)中還未得到認(rèn)可,但是很多計量單位或者公司已經(jīng)開始使用這種穩(wěn)定性優(yōu)異的溫度計量儀器了。 工業(yè)上使用的熱電偶材料主要是由兩種純金屬組成的,這種材料的均勻性和穩(wěn)定性較好,遠(yuǎn)遠(yuǎn)優(yōu)于一些合金材料。目前,我國的東北大學(xué)長期從事熱電耦溫度計量儀器的保護(hù)的相關(guān)研究,并已經(jīng)取得了一些不錯的研究成果。 4.光纖測溫 光纖測溫技術(shù)基于不同的散射原理可以分為基于拉曼散射、基于瑞

12、利散射和基于布里淵散射三種。光纖測溫技術(shù)的應(yīng)用一般有兩個方面: 第一,利用拉曼反向散射效應(yīng)測量溫度分布。這種方式主要是利用光纖可以改變反向散射光的強(qiáng)度來測定溫度分布,從而可以可靠地用于檢測地下輸送油氣的管道的泄漏位置。目前我國已有部分地域利用這種技術(shù)檢測管道的泄漏問題。 第二,利用熒光衰減時間法測量溫度。這項技術(shù)是把可以發(fā)出熒光的材料制成靈敏元件,再通過光纖傳輸熒光,并通過測量熒光時間來測量溫度。5.輻射測溫在工程上應(yīng)用,測量溫度的方式分為接觸式測溫和非接觸式測溫兩種,由于工作環(huán)境等原因,一般采用非接觸式測溫的方式。近年來,在溫度測量領(lǐng)域興起了一種非接觸測溫方式輻射測溫,其可以在各種惡劣的環(huán)境

13、下高精度測量物體的溫度而被廣泛應(yīng)用。輻射測溫是利用被測物體可以向外界不斷釋放紅外線輻射能量的原理來測量溫度的1.2.2國外的數(shù)字溫度表有以下幾種1. 熱電偶溫度計熱電偶溫度計是由兩條不同金屬連接著一個靈敏的電壓計所組成。金屬接點在不同的溫度下,會在金屬的兩端產(chǎn)生不同的電位差。電位差非常微小,故需靈敏的電壓計才能測得。由電壓計的讀數(shù),便可知道溫度為何。2.光測高溫計物體溫度若高到會發(fā)出大量的可見光時,便可利用測量其熱輻射的多寡以決定其溫度,此種溫度計即為光測溫度計。此溫度計主要是由裝有紅色濾光鏡的望遠(yuǎn)鏡及一組帶有小燈泡、電流計與可變電阻的電路制成。使用前,先建立燈絲不同亮度所對應(yīng)溫度與電流計上的

14、讀數(shù)的關(guān)系。使用時,將望遠(yuǎn)鏡對正待測物,調(diào)整電阻,使燈泡的亮度與待測物相同,這時從電流計便可讀出待測物的溫度了。3.液晶溫度計用不同配方制成的液晶,其相變溫度不同,當(dāng)其相變時,其光學(xué)性質(zhì)也會改變,使液晶看起來變了色。如果將不同相變溫度的液晶涂在一張紙上,則由液晶顏色的變化,便可知道溫度為何。此溫度計之優(yōu)點是讀數(shù)容易,而缺點則是精確度不足,常用于觀賞用魚缸中,以指示水溫。4.半導(dǎo)體溫度計半導(dǎo)體的電阻變化和金屬不同,溫度升高時,其電阻反而減少,并且變化幅度較大。因此少量的溫度變化也可使電阻產(chǎn)生明顯的變化,所制成的溫度計有較高的精密度,常被稱為感溫器。1.3設(shè)計內(nèi)容和設(shè)計要求1.3.1設(shè)計內(nèi)容數(shù)字溫

15、度表系統(tǒng)主要包括:電源、單片機(jī)、溫度傳感器、單片機(jī)、顯示屏、程序,其系統(tǒng)框圖如圖1.1所示。電源3V紐扣電池溫度傳感器LM75A單片機(jī)STC 12C5A60S2段 碼 式 液 晶 片圖1.1數(shù)字溫度表的系統(tǒng)框圖1.電源:因為本課題使用的是STC 12C5A60S2節(jié)能型單片機(jī),驅(qū)動電壓只需要3V,再加上系統(tǒng)電流也很低,只有20mA左右,所以使用小巧的紐扣電池作電源。2.溫度傳感器:我準(zhǔn)備使用LM75A數(shù)字溫度傳感器,它是NXP 公司(飛利浦麾下的電子公司)生產(chǎn)的一款溫度傳感器,有小體積和低功耗的特點。LM75 在使用上有很多優(yōu)點,首先LM75 是采用飛利浦自家的I ²C 總線通信,對

16、時鐘精度沒有要求,用單片機(jī)內(nèi)部的R/C 時鐘源都可以驅(qū)動。其次LM75 的價格只有傳統(tǒng)溫度傳感器DS18B20 的一半。編程的難度較小,芯片附加功能多,工作電壓范圍較寬,不管是5V 電源還是3V 電源都可以驅(qū)動。3.單片機(jī):STC12C5A60S2/AD/PWM系列單片機(jī)是STC生產(chǎn)的單時鐘機(jī)器周期(1 T)的單片機(jī),是高速低功耗超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快812倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位AD轉(zhuǎn)換(250KS,即25萬次秒),針對液晶驅(qū)動、電機(jī)控制,強(qiáng)干擾場合。4.顯示模塊:段碼液晶片靜態(tài)液晶片已經(jīng)不常見了,因為

17、靜態(tài)顯示結(jié)構(gòu)只有一個公共端,所以每一個段碼都有自己獨立的引腳。因為引腳太多,同樣用驅(qū)動芯片制作,當(dāng)然還是選擇引腳少的動態(tài)顯示結(jié)構(gòu)了。不過靜態(tài)顯示結(jié)構(gòu)不需要多級電壓,也沒有灰度調(diào)試的問題,只要各段碼引腳和公共端之間輸入一個交流電壓就可以驅(qū)動起來了。幸好我選用的EDS803A液晶片是靜態(tài)顯示結(jié)構(gòu)的,可以用單片機(jī)的I/O 接口直接驅(qū)動。5.系統(tǒng)程序設(shè)計:系統(tǒng)程序包括主程序和各功能子程序,而在各功能子程序中段碼液晶片驅(qū)動子程序設(shè)計是系統(tǒng)程序設(shè)計的核心;對于該程序設(shè)計將采用模塊化程序設(shè)計思想,即把各輸出符號控制程序分別編程和調(diào)試,然后通過溫度信號處理子程序根據(jù)要求統(tǒng)一調(diào)用。1.3.2.設(shè)計要求本課題使用

18、的元器件為:單片機(jī)、段碼液晶片、溫度傳感器芯片、鈕扣電池、導(dǎo)線這些簡單的元件來完成一個基于單片機(jī)的數(shù)字溫度表的電子制作。本課題的設(shè)計具有以下特點:1.精簡的電路設(shè)計,極少元器件。2.較少焊接數(shù)量。3.使用單片機(jī)內(nèi)部R/C 振蕩器,無需外部晶體,無需復(fù)位電路。4.溫度傳感器可采集.55 至125攝氏度溫度數(shù)據(jù)。5.單片機(jī)、溫度傳感器、液晶片均為工業(yè)級產(chǎn)品。6.單片機(jī)和溫度傳感器均采用省電模式,功耗較低。7.有較高的實用價值。2 數(shù)字溫度表的硬件設(shè)計2.1 STC12C5A60S2單片機(jī)簡介STC12C5A60S2系列單片機(jī)是STC生產(chǎn)的單時鐘機(jī)器周期(IT)的單片機(jī),是高速低功耗超強(qiáng)抗干擾的新一

19、代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8.12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S,即25萬次秒),針對電機(jī)控制,強(qiáng)干擾場合。STC12C5A60S2單片機(jī)有如下技術(shù)特點: 1增強(qiáng)型8051 CPU,IT,單時鐘機(jī)器周期,指令代碼完全兼容傳統(tǒng)8051;2工作電壓:STC12C5A60S2系列工作電壓: 5.5V . 3.5V(5v單片機(jī));STC12LE5A60S2系列工作電壓: 3.6V . 2.2V (3V單片機(jī));3工作頻率范圍:035MHz,相當(dāng)于普通8051的0420MHz;4用戶應(yīng)用程序空間8K16K20K32K

20、40K48K52K60K62K字節(jié); 5片上集成1280字節(jié)RAM;6.通用I/O口(36/40/44個),復(fù)位后為:準(zhǔn)雙向口弱上拉(普通8051傳統(tǒng)I/O口)可設(shè)置成四種模式:準(zhǔn)雙向口弱上拉,強(qiáng)推挽強(qiáng)上拉,僅為輸入高阻,開漏每個I/O口驅(qū)動能力均可達(dá)到20mA,但整個芯片最大不要超過120mA;7ISP(在系統(tǒng)可編程)IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器可通過串口(P3.O/P3.1)直接下載用戶程序,數(shù)秒即可完成一片,極大的方便了學(xué)生實驗設(shè)計;8有EEPROM功能(STC12C5A62S2/AD/PWM無內(nèi)部EEPROM);9看門狗;10.內(nèi)部集成MAX810專用復(fù)位電路

21、(外部晶體12M以下時,復(fù)位腳可直接IK電阻到地);11.外部掉電檢測電路:在P4.6口有一個低壓門檻比較器5v單片機(jī)為1.33V,誤差為±5%,3.3V單片機(jī)為1.3IV,誤差為±3%;12.時鐘源:外部高精度晶體時鐘,內(nèi)部R/C振蕩器(溫漂為±5%到±l0%以內(nèi))。用戶在下載用戶程序時,可選擇是使用內(nèi)部R/C振蕩器還是外部晶體時鐘,常溫下內(nèi)部R/C振蕩器頻率為:5.OV單片機(jī)為: 11MHz17MHz3. 3V單片機(jī)為: 8MHz12MHz。精度要求不高時,可選擇使用內(nèi)部時鐘,但因為有制造誤差和溫漂,以實際測試為準(zhǔn);13.共4個16位定時器,兩個與傳

22、統(tǒng)8051兼容的定時器計數(shù)器,16位定時器TO和Tl,沒有定時器2,但有獨立波特率發(fā)生器做串行通訊的波特率發(fā)生器,再加上2路PCA模塊可再實現(xiàn)2個16位定時器;14.3個時鐘輸出口,可由TO的溢出在P3. 4/TO輸出時鐘,可由Tl的溢出在P3. 5/TI輸出時鐘,獨立波特率發(fā)生器可以在Pl.0口輸出時鐘;15.外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊,Power Down模式可由外部中斷喚醒,INTO/P3.2、INTl/P3.3、TO/P3.4、T1/P3.5、RxD/P3.0、CCPO/P1.3(也可通過寄存器設(shè)置到P4.2),CCPl/P

23、1.4(也可通過寄存器設(shè)置到P4.3);16. PWM(2路)PCA(可編程計數(shù)器陣列,2路) .也可用來當(dāng)2路D/A使用。 .也可用來再實現(xiàn)2個定時器。 .也可用來再實現(xiàn)2個外部中斷(上升沿中斷下降沿中斷均可分別或同時支持);17. A/D轉(zhuǎn)換,10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S(每秒鐘25萬次);18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時器或PCA軟件實現(xiàn)多串口;19. STC12C5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD2/P1.2(可通過寄存器設(shè)置到P4.2),TxD2/P1.3(可通過寄存器設(shè)置到P4.3

24、);20.工作溫度范圍:.40 +85(工業(yè)級)0.75(商業(yè)級);21.封裝:LQFP.48,LQFP.44,PDIP.40,PLCC.44,QFN.40。I/O口不夠時,可用到3根普通I/O口線外接74HC164/165/595(均可級聯(lián))來擴(kuò)展I/O口,還可用A/D做按鍵掃描來節(jié)省I/O口,或用雙CPU,三線通信,還多了串口。2. 2 LM75A簡介2.2.1原理簡介LM75A是一款內(nèi)置帶隙溫度傳感器和模數(shù)轉(zhuǎn)換功能的溫度.數(shù)字轉(zhuǎn)換器,它也是溫度檢測器,可提供過熱輸出。LM75A包含多個數(shù)據(jù)寄存器:配置寄存器(Conf)、溫度寄存器(Temp)和設(shè)定點寄存器(Tos & Thyst

25、)。LM75A還包含一個開漏輸出(OS)管腳,當(dāng)溫度超過編程限制的值時該輸出有效。LM75A有3個可選的邏輯地址管腳,使得同一總線上可同時連接8個器件而不發(fā)生地址沖突。LM75A可配置成不同的工作模式。它可設(shè)置成在正常工作模式下周期性地對環(huán)境溫度進(jìn)行監(jiān)控,或進(jìn)入關(guān)斷模式來將器件功耗降至最低。OS輸出有2種可選的工作模式:OS比較器模式和OS中斷模式。OS輸出可選擇高電平有效或低電平有效。錯誤隊列和設(shè)定點限制可編程,可以激活OS輸出。正常工作模式下,當(dāng)器件上電時,OS工作在比較器模式,溫度閾值為80,滯后75,這時,LM75A就可用作獨立的溫度控制器,預(yù)定義溫度設(shè)定點。2.2.2 LM75A 的

26、功能特點1.提供環(huán)境溫度對應(yīng)的數(shù)字信息,直接表示溫度; 2.可以對某個特定溫度作出反應(yīng),可以配置成中斷戒者比較器模式(OS 輸出); 3.高速I2C 總線接口,有A2.A0 地址線,一條總線上最多可同時使用8 個LM75A; 4.低功耗設(shè)計,工作電流典型值為250uA,掉電模式為3.5uA; 5.測量的溫度最大范圍為.55+125; 6.寬工作電壓范圍:2.8V5.5V; 7.提供了良好的溫度精度(0.125); 8.可編程溫度閾值和滯后設(shè)定點。2.2.3 LM75A功能框圖1.功能框圖圖2.1 LM75A功能框圖 2.引腳說明: 圖2.2引腳說明 3.引腳描述:表2.1 引腳描述管腳號符號功

27、能說明1SDA串行數(shù)據(jù)線2SCL串行始終線3OS過熱關(guān)斷、開漏4GND地5A2用戶定義地址26A1用戶定義地址17A0用戶定義地址08Vcc電源(1)溫度寄存器Temp(地址0x00) 溫度寄存器是一個只讀寄存器,用來存儲讀取的數(shù)字溫度,包含2個8位的數(shù)據(jù)字節(jié),由一個高數(shù)據(jù)字節(jié)(MS)和一個低數(shù)據(jù)字節(jié)(LS)組成。在這兩個字節(jié)中只用到11位,來存放分辨率為0.125的Temp數(shù)據(jù)(以二進(jìn)制補(bǔ)碼數(shù)據(jù)的形式),如下表所示。對于8位的IIC總線來說,只要從LM75A的“00地址”連續(xù)讀兩個字節(jié)即可(溫度的高8位在前)。 表2.2 溫度寄存器Temp MS字節(jié)Temp LS 字節(jié)MSBLSBMSBLS

28、BB7B6B5B4B3B2B1B0B7B6B5B4B3B2B1B0Temp數(shù)據(jù)(11位) .MSBLSBD10D9D8D7D6D5D4D3D2D1D0根據(jù)11位的Temp數(shù)據(jù)來計算Temp值的方法: 若D10=0,溫度值()(Temp數(shù)據(jù))×0.125; 若D10=1,溫度值()(Temp數(shù)據(jù)的二進(jìn)制補(bǔ)碼)×0.125。(2)配置寄存器(地址0x01) 配置寄存器為 8 位可讀寫寄存器,用來存儲器件的某些設(shè)置,如器件的工作模式、OS工作模式、OS極性和OS錯誤隊列等。其位功能分配如下所示:表2.3 配置寄存器B7B6B5B4B3B2B1B0保留OS故障隊列OS極性O(shè)S比較/

29、中斷關(guān)斷(3)設(shè)定點寄存器Tos & Thyst(0x02) 設(shè)定點寄存器用來存儲可編程的過熱關(guān)斷和滯后限制,器件通過兩線的串行總線接口與控制器通信。又分為滯后寄存器和過熱關(guān)斷寄存器:a)滯后寄存器 滯后寄存器是讀/寫寄存器,提供了溫度控制范圍的下限溫度。 該寄存器都包含2個8位的數(shù)據(jù)字節(jié),但2個字節(jié)中,只有9位用來存儲設(shè)定點數(shù)據(jù)(分辨率為0.5的二進(jìn)制補(bǔ)碼),其數(shù)據(jù)格式如下表所示,默認(rèn)為75。表2.4 設(shè)定點寄存器D15D14D8D7D6D0T8T7T6T5T4T3T2T1T0未定義b)過熱關(guān)斷寄存器 過熱關(guān)斷寄存器提供了溫度控制范圍的上限溫度。其數(shù)據(jù)格式如上表所示,默認(rèn)為80。2.

30、2.4 IIC協(xié)議1.IIC串行總線 IIC是一種多向控制總線,也就是說多個芯片可以連接到同一總線結(jié)構(gòu)下,同時每個芯片都可以作為實時數(shù)據(jù)傳輸?shù)目刂圃?,這種方式簡化了信號傳輸總線??偩€擴(kuò)展可以并行也串行。由于串行總線的連線少,結(jié)構(gòu)簡單,往往不用專門的母板和插座而直接用導(dǎo)線連接各個設(shè)備。因此,采用串行線可大大簡化系統(tǒng)的硬件設(shè)計。 IIC總線只有兩根雙向信號線。一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。IIC總線通過上拉電阻接正電源。當(dāng)總線空閑時,兩根線均為高電平。連到總線上的任一器件輸出的低電平,都將使總線的信號變低,即各器件的SDA及SCL都是線“與”關(guān)系??偩€的運行(數(shù)據(jù)傳輸)由主機(jī)控制。所謂

31、主機(jī)是指啟動數(shù)據(jù)的傳送(發(fā)出啟動信號)、發(fā)出時鐘信號以及傳送結(jié)束時發(fā)出停止信號的設(shè)備,通常主機(jī)都是微處理器。被主機(jī)尋訪的設(shè)備稱為從機(jī)。每個接到IIC總線的設(shè)備都有一個唯一的地址,以便于主機(jī)尋訪。發(fā)送數(shù)據(jù)到總線的設(shè)備稱為發(fā)送器,從總線上接收數(shù)據(jù)的設(shè)備稱為接受器。為了保證數(shù)據(jù)可靠地傳送,任一時刻總線只能由一臺主機(jī)控制,IIC總線允許連接不同傳送速率的設(shè)備。2. IIC總線的數(shù)據(jù)傳送(1)起始和終止信號SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號; SDA線由低電平向高電平的變化表示終止信號。 (2)數(shù)據(jù)位的有效性規(guī)定IIC總線進(jìn)行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)

32、必須保持穩(wěn)定,在時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高、低電平狀態(tài)才允許變化。 3.數(shù)據(jù)傳送格式I、字節(jié)傳送與應(yīng)答每一個字節(jié)必須保證是8位長度。數(shù)據(jù)傳送時,先傳送最高位(MSB),每一個被傳送的字節(jié)后面都必須跟隨一位應(yīng)答位(即一幀共有9位)。如果一段時間內(nèi)沒有收到從機(jī)的應(yīng)答信號,則認(rèn)為從機(jī)已正確接收到數(shù)據(jù)。 II、數(shù)據(jù)幀格式 IIC總線上傳送的數(shù)據(jù)信號既包括地址信號,又包括真正的數(shù)據(jù)信號。 在起始信號后必須傳送一個7位的從機(jī)地址,第8位是數(shù)據(jù)的傳送方向位(“0”表示主機(jī)發(fā)送數(shù)據(jù),“1”表示主機(jī)接收數(shù)據(jù))。每次由主機(jī)產(chǎn)生終止信號來結(jié)束數(shù)據(jù)傳送,若主機(jī)要進(jìn)行新的數(shù)據(jù)傳送,則可以不產(chǎn)生終止信號,而

33、是發(fā)出起始信號對另一從機(jī)進(jìn)行尋址??偩€的數(shù)據(jù)傳送有以下幾種方式: a、主機(jī)向從機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)傳送方向不變 b、主機(jī)在第一個字節(jié)后,立即從從機(jī)讀數(shù)據(jù) c、在傳送過程中,當(dāng)需要改變傳送方向時,起始信號和從機(jī)地址都被重復(fù)產(chǎn)生一次,但兩次讀/寫方向正好反相 4.總線的尋址:IIC總線協(xié)議有明確的規(guī)定:采用7位的尋址字節(jié)(尋址字節(jié)是起始信號后的第一個字節(jié))。 D7D1位組成從機(jī)的地址。D0位是數(shù)據(jù)傳送方向位,為“0”時表示主機(jī)向從機(jī)寫數(shù)據(jù),為“1”時表示主機(jī)向從機(jī)讀數(shù)據(jù)。 主機(jī)發(fā)送地址時,總線上的每個從機(jī)都將這7位地址碼與自己的地址進(jìn)行比較,如果相同,則認(rèn)為自己正被主機(jī)尋址。 從機(jī)的地址由固定部分和可

34、編程部分組成。在一個系統(tǒng)中可接入多個相同的從機(jī),接入從機(jī)的最大數(shù)目由從機(jī)地址中的可編程部分決定。如一個從機(jī)的7位尋址位有4位是固定位,3位是可編程位,這時僅能尋址8個相同的從機(jī),即最多可有8個相同的從機(jī)接入到該IIC總線系統(tǒng)中。2.3 EDS803A三位半筆段式LCD屏簡介2.3.1筆段式LCD屏簡介筆段式LCD屏的結(jié)構(gòu)與LED數(shù)碼管很相似,但是由于是液晶,工作機(jī)理上不同,驅(qū)動方式也有很大差異: 1. LED有正負(fù)之分,液晶筆劃沒有。 2. LED在直流電壓下工作,液晶需要交流電壓,防止電解效應(yīng)。 3. LED需要電流提供發(fā)光的能量,液晶筆劃顯示狀態(tài)下電流非常微弱。 4. LED對微小電流不反

35、應(yīng),液晶則很敏感。 5. 液晶屏自身并不能發(fā)光,液晶屏中的液晶只是在電流的作用下有序排列從而阻隔光線而已。因此不能用驅(qū)動LED的方式去驅(qū)動LCD,LCD的驅(qū)動需要給每個筆劃加上一個交流電壓。一般用30.60Hz的方波就可以了,頻率低了顯示會有所波動,而頻率高了功耗也會增加,這是因為因為LCD對電路呈現(xiàn)容性。另外因為LCD屏是交流驅(qū)動所以高低電平都可以“點亮”液晶。2.3.2 EDS893A屏簡介EDS803A是我國大連佳顯電子有限公司生產(chǎn)的一款工業(yè)級標(biāo)準(zhǔn)靜態(tài)三位半筆段式LCD屏,因其具有性能穩(wěn)定、可靠性高、實用強(qiáng)應(yīng)用范圍廣的特點而被廣泛應(yīng)用于電子日歷、電子稱等日用電子產(chǎn)品和時速表、萬用表等測量

36、儀表。圖2.3 EDS803A電路圖圖2.4 EDS803A引腳圖2.4電路設(shè)計2.4.1原理圖圖2.5 原理圖PCB圖圖2.6 PCB圖2.4.3 3D模擬圖圖2.7 3D模擬圖.正面 圖2.8 3D模擬圖.背面2.4.4 實物圖 圖2.9 實物圖3 系統(tǒng)軟件設(shè)計3.1程序設(shè)計的總體方案內(nèi)容3.1.1 程序設(shè)計流程圖開始讀取溫度驅(qū)動顯示計時T>=1.3sT=0否是圖3.1程序設(shè)計流程圖3.1.2總體設(shè)計方案首先是主程序要對LM75A和STC12C5A60S2單片機(jī)進(jìn)行初始化設(shè)計。對LM75A的初始化設(shè)計包括:對LM75A配置寄存器、溫度寄存器、TOS寄存器、THYST寄存器的設(shè)置,使得

37、LM75A工作于最合適的狀態(tài)。對STC12C5A60S2單片機(jī)的初始化主要是對I/O的設(shè)定。初始化以后主程序要控制STC12C5A60S2單片機(jī)讀取LM75A的溫度寄存器中的數(shù)據(jù),并計算這些數(shù)據(jù),使之成為十進(jìn)制數(shù)。再驅(qū)動LCD液晶屏顯示十進(jìn)制溫度值。3.2系統(tǒng)的各個程序3.2.1主程序介紹及功能1.主程序的組成主程序主要由九個模塊組成,函數(shù)庫的調(diào)用、I/O口定義、數(shù)碼表、虛擬IIC子程序、延時子程序、LCD液晶屏驅(qū)動子程序、讀取溫度函數(shù)、主函數(shù)、設(shè)置定時器函數(shù)/中斷函數(shù)。在這里主要介紹軟件程序的幾個主要的模塊,在附錄中有本設(shè)計的源程序。2.主程序的功能主程序先設(shè)置LM75A芯片的內(nèi)部寄存器,使

38、LM75A采集.55 至125的溫度。然后單片機(jī)讀取LM75A的溫度寄存器中的數(shù)據(jù)并計算這些數(shù)據(jù),使之成為十進(jìn)制數(shù)。再驅(qū)動LCD液晶屏顯示十進(jìn)制溫度值。3.2.2系統(tǒng)子程序1.函數(shù)庫的調(diào)用#include <STC12C5A60S2.H> /STC頭文件#include <string.h> /C語言里面關(guān)于字符數(shù)組的函數(shù)定義的頭文件#include <intrins.h>/51基本運算(包括_nop_空函數(shù)) 2.數(shù)碼表unsigned char code disdata=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x

39、7f,0x6f,0x00; /無小數(shù)點八位段碼數(shù)碼表(09,無小數(shù)點)3.I/O口定義 詳見附錄34.虛擬IIC子程序詳見附錄4 5.延時子程序void DELAY_MS (unsigned int a) / 1ms延時程序(12MHz 10倍于51單片機(jī)速度時)unsigned int i;while( .a != 0)for(i = 0; i < 600; i+); 6.LCD液晶片交流驅(qū)動子程序詳見附錄6 7.讀取溫度函數(shù)void LM75A_GetTemp(void) unsigned char buf2; /溫度值儲存 unsigned char t=0,a=0; IRcvSt

40、r(LM75A_ADD,0x00,buf,2); /讀出溫度值(器件地址,子地址,數(shù)據(jù)儲存器,字節(jié)數(shù))t = buf0; /處理溫度整數(shù)部分,0125度LM75_N = 0; /溫度值為正值if(t & 0x80) /判斷溫度是否是負(fù)極(MSB表示溫度符號)LM75_N = 1; /溫度值為負(fù)值t = t; t+; /計算補(bǔ)碼(原碼取反后加1)if(t & 0x01) a=a+1; /從高到低按位加入溫度積加值(0125)if(t & 0x02) a=a+2; if(t & 0x04) a=a+4; if(t & 0x08) a=a+8; if(t &a

41、mp; 0x10) a=a+16; if(t & 0x20) a=a+32; if(t & 0x40) a=a+64; LM75_T = a.7;/調(diào)試得a值比實際高7度所以做了溫度修正(以UTC萬用表溫度檔位測溫為標(biāo)準(zhǔn))a = 0;t = buf1; /處理小數(shù)部分,取0.125精度的前2位(12、25、37、50、62、75、87)if(t & 0x20) a=a+125; if(t & 0x40) a=a+250; if(t & 0x80) a=a+500; LM75_P = a; 8.主函數(shù)詳見附錄8 9.中斷函數(shù)詳見附錄94 總結(jié)與展望4.1本

42、課題工作總結(jié)根據(jù)設(shè)計要求,為保證成品的精巧我選用的單片機(jī)是集成內(nèi)部晶振、內(nèi)部復(fù)位電路的STC12C5A60S2單片機(jī)和貼片的LM75A溫度傳感芯片,為保證顯示范圍選用的顯示屏是帶有正負(fù)號的EDS803A三位半筆段式LCD屏。通過對合適的元件進(jìn)行合理的組裝形成了外形小巧美觀的硬件系統(tǒng),與優(yōu)化的軟件結(jié)合使得該系統(tǒng)具有:簡約、小巧、高精度、寬范圍、抗干擾能力強(qiáng)、節(jié)能省電、高實用性的特點。模塊化的設(shè)計理念使得該系統(tǒng)的適應(yīng)性特別的強(qiáng),既可以使用內(nèi)置的超薄紐扣電池作為電源,又可以直接連接外部電源。本次設(shè)計我有很多的收獲,比如:深入學(xué)習(xí)了單片機(jī)的相關(guān)知識;嘗試了系統(tǒng)的思考問題和解決問題;使用了模塊化的設(shè)計思

43、想;強(qiáng)化了軟件的設(shè)計和應(yīng)用;增強(qiáng)了調(diào)試和使用各實驗設(shè)備的能力。但是在設(shè)計過程中由于時間倉促,個人能力有限,使得成品有諸多不足,需要改進(jìn)和優(yōu)化的地方有很多。比如:軟件設(shè)計有待進(jìn)一步優(yōu)化,測量精度有待進(jìn)一步提高。4.2 設(shè)計展望 本設(shè)計因為具有:簡約、小巧、高精度、寬范圍、抗干擾能力強(qiáng)、節(jié)能省電、高實用性的特點,所以應(yīng)用前景良好。 因為本設(shè)計各芯片元件都是標(biāo)準(zhǔn)的工業(yè)級產(chǎn)品,所以本設(shè)計的抗破壞、抗干擾能力強(qiáng),應(yīng)用范圍廣??梢詰?yīng)用于日常生活需要測溫的地方;可以應(yīng)用于工廠車間、礦區(qū)作用;可以應(yīng)用于辦公環(huán)境測溫;可以應(yīng)用于戶外體育運動;可以應(yīng)用于各種復(fù)雜環(huán)境下(高溫、高海拔)的測溫工作。因為本設(shè)計底面有真

44、空吸盤所以可以廣泛吸附于各種光滑平面??梢詫⒈驹O(shè)計吸附于汽車前擋風(fēng)玻璃作為監(jiān)測車內(nèi)溫度的儀表;可以將本設(shè)計吸附于瓷磚墻面或玻璃窗上就可以隨時看到室內(nèi)溫度;可以將本設(shè)計吸附于溫室大棚的棚面上,參照本設(shè)計顯示的溫度調(diào)整棚內(nèi)的溫度,使棚內(nèi)溫度保持最佳狀態(tài);可以將本設(shè)計吸附于機(jī)器的外殼面,參照本設(shè)計顯示的溫度調(diào)整廠房內(nèi)的溫度,使機(jī)器保持最佳狀態(tài);可以將本設(shè)計吸附于水杯上,這樣就可以直觀地看到杯子的溫度,進(jìn)而推測出水的溫度,不至于燙手。因為本設(shè)計簡約、小巧、省電所以可以運用于各種平臺隨意移動。既可以長時間實時測溫,又可以手持多點測溫。因為本設(shè)計中的單片機(jī)留有5個I/O口備用,所以生產(chǎn)商者可以擴(kuò)充更多的功

45、能,生產(chǎn)出具有更好的用戶體驗的產(chǎn)品。因為標(biāo)準(zhǔn)的元器件生產(chǎn)商多,原材料來源渠道廣泛,所以生產(chǎn)商可以有效控制原材料成本。因為本設(shè)計沒用使用電路板,所以進(jìn)一步降低了成本。因為本設(shè)計使用硬件的直接連接,所以生產(chǎn)者只需要簡單的加工就可以生產(chǎn)出價格低廉的產(chǎn)品上市。參考文獻(xiàn)1 杜洋.愛上單片機(jī)IIM. 北京:人民郵電出版社人民郵電出版社,2011.2 杜洋.制作RT3電子溫度計J.無線電,2011,1(1). 3 郭天祥.51單片機(jī)C語言教程M. 北京:電子工業(yè)出版社,2010.4 肖洪兵.給我學(xué)用單片機(jī)IIM.北京:北京航空航天大學(xué)出版社,2006.5 潘曉寧 單片機(jī)程序設(shè)計實踐教程M.北京:清華大學(xué)出版

46、社,2009.6 譚浩強(qiáng) C語言程序設(shè)計教程第4版M.北京:清華大學(xué)出版社,2010.7 周立功 單片機(jī)實驗與實踐M.北京:航空航天大學(xué)出版社,2009.8 孫涵芳.INTEL16位單片機(jī)M. 北京:北京航空航天大學(xué)出版社,1996. 9 王福瑞.單片微機(jī)測控系統(tǒng)設(shè)計大全M. 北京:北京航空航天大學(xué)出版社,1997.10 元增民,張文希.單片機(jī)原理與應(yīng)用基礎(chǔ).國防科技大學(xué)出版社,2006,205.26611 嚴(yán)潔.單片機(jī)原理及其接口技術(shù).機(jī)械工業(yè)出版社,2010,65.10512 范紅剛.51單片機(jī)自學(xué)筆記.北京航空航天大學(xué)出版社,200913 高云.基于MSP430的溫室多路數(shù)據(jù)采集系統(tǒng).農(nóng)

47、機(jī)化研究,2009,No.814 常鐵原,王欣,陳文軍. 多路數(shù)據(jù)采集系統(tǒng)的設(shè)計.電子技術(shù)應(yīng)用,2008,No.1115 葉紅海,李麗敏.基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn).2008,No.4附錄附錄1函數(shù)庫的調(diào)用#include <STC12C5A60S2.H> /STC頭文件 #include <string.h> /C語言里面關(guān)于字符數(shù)組的函數(shù)定義的頭文件#include <intrins.h>/51基本運算(包括_nop_空函數(shù))#define uchar unsigned char /宏定義 無符號字符#define uint unsigne

48、d int/宏定義 無符號整形#define LM75A_ADD 0x9E /宏定義 LM75A的I2C地址(1001 1110 A2 A1 A0 W/R)(LM75模塊專用固定地址) 附錄2 數(shù)碼表Unsigned char code disdata=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00; /無小數(shù)點八位段碼數(shù)碼表(09,無小數(shù)點)附錄3 I/O口定義unsigned char LM75_T,LM75_P; /溫度值的整數(shù),小數(shù)值(十進(jìn)制,小數(shù)值2位,精度0.125中的前兩位)unsigned char d0=0,d1=

49、0,d2=0,d3=0;/LM75A溫度數(shù)值 ±位,百位,十位,個位unsigned int cou;/全局變量unsigned char menu=0;/全局變量sbit SDA=P22; /位定義.模擬I2C 數(shù)據(jù)傳送位sbit SCL=P21; /位定義.模擬I2C 時鐘控制位 bit m; /交流信號位操作(正負(fù)信號轉(zhuǎn)換)bit IRcvStr(unsigned char sla,unsigned char suba,unsigned char *s,unsigned char no);/向有子地址器件讀取多字節(jié)數(shù)據(jù)函數(shù)bit ISendStr(unsigned char s

50、la,unsigned char suba,unsigned char *s,unsigned char no);/向有子地址器件發(fā)送多字節(jié)數(shù)據(jù)函數(shù)bit LM75_N;/溫度值的符號(0正1負(fù)) bit ack; /應(yīng)答標(biāo)志位 /*單片機(jī)與液晶屏引腳直接連接 以下為對單片機(jī)的顯示驅(qū)動引腳的定義*/ sbitDY_LCD_JIA=P0 0; /設(shè)置LCD連接的I/O口 | sbitDY_LCD0_LBC=P1 2; /設(shè)置LCD連接的I/O口 1BCsbitDY_LCD0_JIAN=P1 1; /設(shè)置LCD連接的I/O口 . sbitDY_LCD_COM=P1 0; /設(shè)置LCD連接的I/O口

51、(LCD公共端)sbitDY_LCD1_L1=P4 5; /設(shè)置LCD連接的I/O口a sbitDY_LCD1_L2=P4 4; /設(shè)置LCD連接的I/O口bsbitDY_LCD1_L3=P3 1; /設(shè)置LCD連接的I/O口csbitDY_LCD1_L4=P3 0; /設(shè)置LCD連接的I/O口dsbitDY_LCD1_L5=P1 6; /設(shè)置LCD連接的I/O口esbitDY_LCD1_L6=P4 6; /設(shè)置LCD連接的I/O口fsbitDY_LCD1_L7=P0 7; /設(shè)置LCD連接的I/O口gsbitDY_LCD2_L1=P2 4; /設(shè)置LCD連接的I/O口asbitDY_LCD2_L2=P0 6; /設(shè)置LCD連接的I/O口bsbitDY_LCD2_L3=P3 5; /設(shè)置LCD連接的I/O口csbitDY_LCD2_L4=P3 4; /設(shè)置LCD連接的I/O口dsbitDY_LCD2_L5=P3 3; /設(shè)置LCD連接的I/O口esbitDY_LCD2_L6=P2 5; /設(shè)置LCD連接的I/O口fsbitDY_LCD2_L7=P2 6; /設(shè)置LCD連接的I/O口gsbitDY_LCD2_L8=P3 6; /設(shè)置LC

溫馨提示

  • 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

提交評論