基于89c52單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于89c52單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于89c52單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于89c52單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于89c52單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄摘要1 關(guān)鍵詞 1abstract 1 key words 11111111222222223333333溫度測(cè)量系統(tǒng)器件簡(jiǎn)介1 1 mcs-52單片機(jī)簡(jiǎn)介1 2溫度傳感器(ds18b20)23三端集成穩(wěn)壓芯片h780534 74hc138 芯片 35 數(shù)碼管 7srg-mpx8-cc-blue 3 6其他 4系統(tǒng)的硬件設(shè)計(jì)4 1溫度測(cè)量系統(tǒng)硬件電路連接圖 2各電路模塊分析 5 2. 1電源電路52. 2單片機(jī)電路5 2. 3溫度傳感器ds18b20電路6 2. 4數(shù)碼管顯示電路7 2. 5譯碼電路部分7系統(tǒng)的軟件設(shè)計(jì)7 1溫度測(cè)量系統(tǒng)軟件流程圖7 2溫度測(cè)量系統(tǒng)各子模塊8 2. 1定吋器

2、設(shè)置部分8 2. 2中斷部分82. 3讀取ds18b20溫度部分8 2. 4溫度譯碼輸出104結(jié)論與設(shè)計(jì)體會(huì)104. 1結(jié)論104. 2展望11致謝12參考文獻(xiàn):12附錄a溫度測(cè)量系統(tǒng)單片機(jī)c程序12基于89c52單片機(jī)的溫度測(cè)量系統(tǒng)設(shè)計(jì)湖北師范學(xué)院機(jī)電與控制工程學(xué)院李春波指導(dǎo)教師摘要:對(duì)溫度測(cè)量進(jìn)行討論,并對(duì)溫度傳感器ds18b20的結(jié)構(gòu)和使川方法進(jìn)行說(shuō)明,溫度測(cè)量系統(tǒng)的 設(shè)計(jì)分為硬件電路設(shè)計(jì)和軟件設(shè)計(jì)兩部分,其中硬件部分使用pmteus進(jìn)行搭建,在構(gòu)成單片機(jī)最小系 統(tǒng)的基礎(chǔ)上進(jìn)行功能擴(kuò)展,并在其上進(jìn)行電路的連接和仿真,實(shí)現(xiàn)系統(tǒng)的溫度測(cè)s功能,軟件部分則是 用proteus和keil聯(lián)調(diào)的方

3、式s終完成軟硬件的設(shè)計(jì)過(guò)程,在仿真的過(guò)程中,可以控制溫度傳感器 ds18b20的溫度值,模擬真實(shí)條件下,溫度的測(cè)取工作。系統(tǒng)所顯示的結(jié)果最終使用數(shù)碼管進(jìn)行顯示, 從而完成整個(gè)系統(tǒng)的設(shè)計(jì)過(guò)程。關(guān)鍵詞:溫度傳感器數(shù)碼管the design of temperature measuring system based on mcu 89c52student majoring in electrical & information engineering tutor li xiujuanabstract: discuss about the measuring system of the tem

4、perature,and explain the structure of the temperature sensor ds18b20 together with its using.the temperature measuring system is divided into two parts,one hardware,the other software.hardware design is built with proteusjn the form of the basis mcu system plus extra extensions.the circuit and the t

5、emperature simulation are realized on proteus to accomplish the temperature measurement of the system.software design can finalize the system with the method of debugging on proteus and keil.in the procedure of the virtual system you can control the temperature of ds18b20 to read the result of the t

6、rue condition.in the end the result of the temperature appears on the numerical code tubes,and you can see the final result on it key words: temperature ; sensor ; numerical code tubes引言隨著社會(huì)經(jīng)濟(jì)的發(fā)展,尤其是工業(yè)控制方面,有許多場(chǎng)合耍求無(wú)人值守并且環(huán)境條 件惡劣,為此對(duì)于環(huán)境的監(jiān)控就要求其能夠自動(dòng)完成并且有一定的抗干擾能力,傳統(tǒng)的模 擬信號(hào)遠(yuǎn)距離溫度測(cè)量系統(tǒng)中,需要很好的解決引線(xiàn)誤差補(bǔ)償、多點(diǎn)測(cè)量切換誤差和

7、放大 電路零點(diǎn)漂移誤差等技術(shù)問(wèn)題,才能達(dá)到較高的測(cè)量精度,而以單片機(jī)為核心的數(shù)字測(cè)量 系統(tǒng)則能克服這些問(wèn)題,以簡(jiǎn)單電路的連接方式,實(shí)現(xiàn)溫度的高精度測(cè)量,并且最終的測(cè) 量結(jié)果可以使用pc機(jī)進(jìn)行處理,下面將進(jìn)入溫度測(cè)量系統(tǒng)的設(shè)計(jì)。1溫度測(cè)量系統(tǒng)器件簡(jiǎn)介1. 1 mcs-52單片機(jī)按照功能劃分,它由微處理器(cpu)、數(shù)據(jù)存儲(chǔ)器(ram)、程序存儲(chǔ)器(rom/eprom)、 并行i/o 口(p0 口、p1 口、p2 口、p3 口)、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功 能寄存器(sfr)組成。它們都是通過(guò)片內(nèi)單一總線(xiàn)連接而成,其基木結(jié)構(gòu)依舊是cpu加 上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對(duì)各種功能部件的

8、控制是采用特殊功能寄存器 (sfr-special function register)的集中控制方式。xtal1xtal2aleparo.m/h微處理器(運(yùn)算器) (控制器)v v圖1.1單片機(jī)的片內(nèi)結(jié)構(gòu)dallas18b20y 串行門(mén)psen1. 2溫度傳感器(ds18b20)美國(guó)dallas半導(dǎo)體公司數(shù)字溫度傳感器的ds1820是世界上第一片支持“一線(xiàn)總線(xiàn)”的 溫度傳感器,“一線(xiàn)總線(xiàn)”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾能力,適合于惡劣 條件下溫度的測(cè)量,其內(nèi)部使用了 on-board專(zhuān)利技術(shù)。新一代的ds18b20體積更小、更經(jīng)濟(jì)、更靈活,充分發(fā)揮丫 “一線(xiàn)總線(xiàn)”的優(yōu)點(diǎn)。 其測(cè)溫范圍

9、力-55°c+125°c,在-10°c+85°c范圍內(nèi),精度為±0.5°c,最差為±2°c,支持 3v5.5v的電壓范圍,分辨率(912位)可由用戶(hù)設(shè)置。引腳如圖1.2所示。gnd:接地dq:總線(xiàn)數(shù)據(jù)傳輸端vcc:電源輸入預(yù)盟斜率累加器低貼度系數(shù)品振預(yù)罝=0高溫度系數(shù)晶計(jì)數(shù)器2ay0已y1cy2y3y4e1y5e2y6e3y72溫度寄存a6.t.74mc138 .圖1. 5 74hc138引腳圖停止=0圖1. 3 ds18b20的基本測(cè)溫原理低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送計(jì)數(shù)

10、器1, 高溫度系數(shù)品振隨溫度變換其振蕩頻率明顯改變,產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入, 計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55"c所對(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í),溫度寄存器的值加1計(jì)數(shù)器 1的預(yù)置被重新裝入,計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如 此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0吋,停止溫度寄存器累加,此時(shí)溫度寄存器中的數(shù)值即為所 測(cè)溫度值。只要將溫度寄存器的值寫(xiě)入eeprom,讀取eeprom的數(shù)值即完成溫度測(cè)量。1.3三端集成穩(wěn)壓芯片h7805h7805為三端正穩(wěn)壓芯片,能提供固定5v電壓輸出,內(nèi)含過(guò)

11、流、過(guò)熱和過(guò)載保護(hù)電路。 帶散熱片時(shí),輸出電流可達(dá)1a,雖然是固定穩(wěn)壓芯片,但使用外接元件,可以獲得不同 的電壓和電流。外觀圖和引腳如圖1.4所示1腳:電壓輸入端2腳:接地端3腳:穩(wěn)定電壓輸出端1. 4 74hc138 芯片74hc138為一款高速cmos器件,引腳兼容低功耗肖特基ttl (lsttl)系列,由其真 值表可以看出其邏輯為反相輸出,可以將bcd碼轉(zhuǎn)換成單引腳的低電平輸出。74hc138引腳如閣1.5,a、b、c: bcd碼輸入端e1:使能端,高電平有效e2、e3:使能端,低電平有效y0y7:輸出端1.5 數(shù)碼管 7seg-mpx8-cc-blue從電路上,數(shù)碼管又分為共陰和共陽(yáng)兩

12、種,8個(gè)發(fā)光二極管的陽(yáng)極都連接在一起的,稱(chēng)之為共陽(yáng)極led數(shù)碼管,8個(gè)發(fā)光二極管的陰極都連接在一起的,稱(chēng)之為共陰極led數(shù)碼 管。ftbcdefg dp12245eiini圖 1.5 數(shù)碼管 7seg-mpx8-cc-bluea、b、c、d、e、f、g、dp分別接數(shù)碼管的八段,1、2、3、4、5、6、7、8分別控 制八個(gè)數(shù)碼管的點(diǎn)亮。1. 6其他電路中的電容,分陶片電容和電解電容,其中陶片電容不分極性,電解電容有正負(fù)極之分。電阻、二極管根據(jù)具體要求選擇相應(yīng)的型號(hào)和大小。變壓線(xiàn)圈可以選定相應(yīng)的匝數(shù)比。晶振根據(jù)工程上的應(yīng)用,較多選用12m和11.0592m,不妨選12m。2系統(tǒng)的硬件設(shè)計(jì)2. 1溫

13、度測(cè)量系統(tǒng)硬件電路連接圖圖2.1為電源電路的設(shè)計(jì)和各個(gè)器件的連接圖,圖2.2為系統(tǒng)電路設(shè)計(jì)連接圖,由電源電 路和系統(tǒng)電路搭建起溫度測(cè)量系統(tǒng)的硬件部分。圖2.1電源電路的硬件設(shè)計(jì)21 utxtal1xtal2ilstpo£va»o po.vab 1 poj»a»2 p0*a»3 ro «/a» « fo>a»« fo4ka»« ro.7a»?aliear2afa« pz3ta11 f2.wa12 '2 汝at f2j&a1略p2.?a1

14、5f1xzt2p3iyrxi«f1.1/t2exf3.1hxpm2roarutlbfl.frjjrw t,ms>3smf1.7f3.?z5tf2flt*2f2.1f>©atoc52jfi-js a 24.-2lin.-jll-jul1111 15. isl -jtlmuon »»«1u2p圖2. 2溫度測(cè)量系統(tǒng)硬件連接圖2. 2各電路模塊分析2. 2. 1電源電路單片機(jī)、溫度傳感器、數(shù)碼管都支持5v電源工作,因此電源只需要單一 5v供電即可, 然后用芯片7805將直流電壓降到穩(wěn)定到5v,特別的芯片7805的輸入電壓應(yīng)比輸出電壓高 4

15、-7v,所以最好選用輸出電壓912v的變壓器。如圖1,220v的交流電通過(guò)變壓器變壓,在通過(guò)整流橋和濾波電容,可以變?yōu)樘囟〝?shù)值的 直流電(大于5v),通過(guò)7805芯片、c2 (低頻濾波電容)和c2 (高頻濾波電容),得至!j 穩(wěn)定的5v直流電,滿(mǎn)足單片機(jī)、溫度傳感器和數(shù)碼管的使用。2. 2. 2單片機(jī)電路要使單片機(jī)工作起來(lái),需要給單片機(jī)接入復(fù)位電路和外接晶振。*5v:杰u110kxtal1po.o/adop0.vao1p0.2/ad2xtal2p0.3/ad3p0.4/aq4p0.5/ad5p0.6/ad6rstp0.7/ad7p2.0/a8p2.1za9p2.2/a10psenp2.3/a1

16、1aler2 4/a12eap2 5/a13r2 6/a14p2.7/a15pi .0zt2p3.0/rxdp1.1zt2exp3.1hxdp1.2p3.2j1nt0p1.3p3.3j1mt1pi .4p3 4/t0pi .5p3.5/t1pi .6p3 6ampi .7p3.7 抑at89cs2ia_-jil2£l22.24.2a._1£l_12._li_l±_1£l_1l圖2. 3上電復(fù)位電路當(dāng)at89c52上電時(shí),需耍對(duì)其進(jìn)行一次復(fù)位操作。復(fù)位操作可以將at89c52置成初始一 個(gè)瞬時(shí)高電平來(lái)完成的,電路如圖2.3所示。上電瞬間,電流產(chǎn)生一個(gè)突發(fā)的

17、向上尖峰脈沖,電流通過(guò)c1電容到達(dá)at89c52的復(fù)位端 口 rst對(duì)其進(jìn)行復(fù)位。尖峰過(guò)后,電流平穩(wěn),電容c1阻止電流通過(guò),避免反復(fù)復(fù)位。電阻r1用于給cl放電,將9腳的電位拉低,防止rst端門(mén)上持續(xù)向電平。>xtal1xtal2rstpsenaleeaofl2 1/t2ex 2 3 4 5 6 .7t89c52p1p1p1p1p1p1p1p1poozado p0.1/aw p02/ad2 p03/ad3 p0.4/ad4 p05zad5 p0.6/ad6 po 7/ad7p2.0/a8p2.1/a9p2.2/a10p2.3/a11p2.4/a12p2.5/a13p2.6/a14p2.7

18、amsp30/rxdp3.1/txdp32j>tff0"p3.3/lfffl"p3.4/t0p3.s/t1p3.&wr"p3.7w" *_2l_2l_2i_21_2i_2z參 _2l-21_2i-2l 蠡_li_l1_li_11_1l圖2. 4晶振電路給at89c52提供一定的時(shí)鐘頻率,它才能正常工作,如圖2.4。2. 2. 3溫度傳感器ds18b20電路ds18b20數(shù)字傳感器是一個(gè)3腳的芯片,1腳接地,2腳為數(shù)據(jù)輸入輸出,3腳為可選的 vcc電源。通過(guò)一個(gè)單線(xiàn)接ui發(fā)送或接收數(shù)據(jù),因此單片機(jī)與ds18b20僅需一條數(shù)據(jù)連 接線(xiàn)(除了地線(xiàn)

19、)。ds18b20應(yīng)用電路有'k面幾種:(1) 寄生電源工作方式。優(yōu)點(diǎn):1)進(jìn)行遠(yuǎn)距離測(cè)溫時(shí),無(wú)需本地電源2) 可以在沒(méi)有常規(guī)電源的條件下讀取rom3) 電路簡(jiǎn)潔,僅用一個(gè)i/o 口缺點(diǎn):多個(gè)溫度傳感器掛在一個(gè)i/o 口上進(jìn)行多點(diǎn)測(cè)溫時(shí),4.7k上拉電阻無(wú)法提供足夠的 能量,造成無(wú)法轉(zhuǎn)換溫度或誤差較大。因此這種電路只適合于單一溫度傳感器測(cè)溫下使用,不適用采用電池供電的系統(tǒng)中,且電 源vcc必須保證在5v,電源電壓下降時(shí),寄生電源汲取的能量降低,使誤差變大。(2) 寄生電源強(qiáng)上拉供電方式。改進(jìn)的寄生電源工作方式,為使ds18b20在動(dòng)態(tài)轉(zhuǎn)換周期屮獲得足夠的電流供應(yīng),進(jìn)行溫 度轉(zhuǎn)換或拷貝到

20、e2存儲(chǔ)器時(shí),用mosfet把i/o線(xiàn)直接拉到vcc就可滿(mǎn)足電流的供應(yīng), 在發(fā)出任何涉及到拷貝到e2存儲(chǔ)器或啟動(dòng)溫度轉(zhuǎn)換的指令后,必須在最多l(xiāng)ous內(nèi)把i/o 線(xiàn)轉(zhuǎn)換到強(qiáng)上拉狀態(tài),強(qiáng)上拉方式可以解決電流供應(yīng)不足的問(wèn)題,因此適用于多點(diǎn)測(cè)溫, 缺點(diǎn)是多占用一個(gè)i/o 口進(jìn)行強(qiáng)上拉切換。(3) 外部電源供電方式。這種方式是ds18b20的最佳工作方式,工作溫度可靠,抗干擾能力強(qiáng),電路也簡(jiǎn)單,并且 可以開(kāi)發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。記時(shí)器設(shè)罝at89c521/0qvcu1dsi£82o讀取ds18b20溫度溫度譯碼輸出屮斷部分圖2. 5外部電源供電方式綜合比較,采用圖2.5所示的外部電源

21、供電方式應(yīng)用電路進(jìn)行設(shè)計(jì)。2. 2. 4數(shù)碼管顯示電路單片機(jī)驅(qū)動(dòng)led數(shù)碼管的方法很多,按照顯示方法分為靜態(tài)顯示和動(dòng)態(tài)顯示。靜態(tài)顯示是指顯示驅(qū)動(dòng)電路具有輸出鎖存功能,耍顯示的數(shù)據(jù)送出后不再控制led,直到下次直到下次顯示時(shí)再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的cpu時(shí) 間少。動(dòng)態(tài)顯示要cpu時(shí)刻對(duì)顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用cpu時(shí) 間多。兩種方式各有利弊:靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的cpu時(shí)間,但是每個(gè)顯示單 元都需要單獨(dú)的鎖存驅(qū)動(dòng)電路,使用的電路硬件較多,動(dòng)態(tài)顯示雖然有閃爍感,占用cpu 時(shí)間多,但使用的硬件少,能節(jié)省線(xiàn)路板空間。動(dòng)態(tài)掃描顯示接u是單片機(jī)中應(yīng)

22、用最廣泛的一種顯示方式,其接口電路是把所有的 led數(shù)碼管的8個(gè)筆畫(huà)段ag、dp的同名端連在一起,而每一個(gè)數(shù)碼管接收到相同的字型 碼,但宄竟是哪個(gè)數(shù)碼管亮,則取決于com端,而這一端是由io控制的,可以自行決定 顯示哪一位。所謂動(dòng)態(tài)掃描,就是指我們采用分時(shí)的方法,輪流控制各個(gè)數(shù)碼管的com端,使各 個(gè)數(shù)碼管輪流點(diǎn)亮,在輪流點(diǎn)亮的掃描過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間是極為短暫的, 約lms左右,但由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余暉效應(yīng),盡管實(shí)際上各位數(shù)碼管 并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有 閃爍感。從上述論述中可以看出動(dòng)態(tài)顯示方案具備較強(qiáng)的實(shí)用性,也

23、是目前單片機(jī)應(yīng)用中數(shù)碼 管顯示較為常用的一種方式,所以在木設(shè)計(jì)中釆用動(dòng)態(tài)顯示方案。2. 2. 5譯碼電路部分通過(guò)控制單片機(jī)的i/o門(mén)實(shí)現(xiàn)數(shù)碼管部分的數(shù)碼顯示,根據(jù)a、b、c、d、e、f、g、dp 在數(shù)碼管上的位置,不妨選用共陰極的數(shù)碼管來(lái)顯示,分別將八段數(shù)碼管編碼為hgfedcba, 由此可得 09 的編碼分別為 ox3f、0x06、0x5b、0x4f、0x66、0x6d、0x7d、0x07、0x7f、 0x6f,通過(guò)74hc138進(jìn)行譯碼,從而控制每一個(gè)數(shù)碼管的輸出。3系統(tǒng)的軟件設(shè)計(jì)3. 1溫度測(cè)量系統(tǒng)軟件流程圖溫度測(cè)量系統(tǒng)的軟件主流程閣可以劃分成各子模塊,分別為定時(shí)器設(shè)置、中斷部分、 讀取

24、ds18b20溫度和溫度譯碼輸出,如圖3.1所示,圖3.1軟件主流程圖3. 2溫度測(cè)量系統(tǒng)各子模塊3. 2. 1定吋器設(shè)置部分?jǐn)?shù)碼管的掃描采用定吋器中斷的方式,定吋器/計(jì)數(shù)器to由特殊功能寄存器tho、tl0構(gòu) 成,定時(shí)器/計(jì)數(shù)器t1由特殊功能寄存器th1、tl1構(gòu)成。特殊功能寄存器tmod用于選 擇定時(shí)器/計(jì)數(shù)器to、t1的工作模式和工作方式。特殊功能寄存器tcon用于控制to、 t1的啟動(dòng)和停止計(jì)數(shù),同時(shí)包含了 to、t1的狀態(tài)。tmod、tcon這兩個(gè)寄存器的內(nèi)容 由軟件設(shè)置。單片機(jī)復(fù)位時(shí),兩個(gè)寄存器的所有位都被清0。d7d6d5d4d31)21)1)05atec/tmlmogatec/

25、tml | it1方式字段tto方式字段ash表3.1工作方式寄存器tmod格式定時(shí)器/計(jì)數(shù)器有4種工作方式,本次設(shè)計(jì)采用工作方式1,選擇t0定時(shí),所以tmod中 t1方式半段沒(méi)有用到,高4位全為0,選擇工作方式1,所以m1m0為01,選擇定時(shí)模式, 所以c/t為0。gate為0,僅由運(yùn)行控制位tr0來(lái)啟動(dòng)定時(shí)器運(yùn)行,代碼部分見(jiàn)附錄a 中定時(shí)器設(shè)置部分。3. 2. 2中斷部分當(dāng)定時(shí)器/計(jì)數(shù)器t0溢出時(shí)產(chǎn)生中斷,為此可以設(shè)置中斷允許寄存器ie,使et0置1同時(shí) 開(kāi)放cpu的中斷源,使ea置1。中斷允許寄存器ie對(duì)中斷的開(kāi)放和關(guān)閉實(shí)現(xiàn)兩級(jí)控制。 即有一個(gè)總的開(kāi)關(guān)中斷控制位ea (ie.7位),當(dāng)e

26、a=0時(shí),所有中斷源請(qǐng)求被屏蔽,cpu 對(duì)任何中斷請(qǐng)求拒絕,當(dāng)ea=1吋,cpu開(kāi)中斷,但5個(gè)中斷源的中斷請(qǐng)求是否允許, 還要ie屮的低5位所對(duì)應(yīng)的5個(gè)屮斷請(qǐng)求允許控制位的狀態(tài)決定。d7r)6d5d4d3d2didoieeaeset1ex1etoexo位地址aehachabhaaha9ha8h表3. 2中斷允許寄存器ie的結(jié)構(gòu) 所以,ffi值設(shè)置為82h。3. 2. 3讀取ds18b20溫度部分由于溫度測(cè)量系統(tǒng)所選用的溫度傳感器為ds18b20,且查閱ds18b20溫度傳感器的使用 手冊(cè),可以將溫度傳感器的使用分為溫度傳感器的初始化、溫度傳感器寫(xiě)一個(gè)字節(jié)、讀一 個(gè)字節(jié)。configuratio

27、n register figure 8bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 00r1r011111圖3. 2 ds18b20配置寄存器的結(jié)構(gòu)thermometer resolution configuration table 3r1r0resolutionmax conversion time009-bit93.75 msoconv8)0110-bit187.5 ms(tconv4)1011-bit375 msgconv2)1112-bit750 ms(tconv)圖3.3 ds18b20的分辨率設(shè)置表ds18b20加電啟動(dòng)時(shí),默認(rèn)值rl=

28、l, r2=l,所以默認(rèn)分辨率為12位,為實(shí)驗(yàn)的方便, 可以不改動(dòng)rl、r0的值。temperature register format figure 2bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0ls bvte2322212°212'2r3y4bit 15bit 14bit 13bit 12bit 11bit 10bit 9bit8ms bvtesssss262524圖3. 3 ds18b20的溫度值格式表由上表可見(jiàn),在ds18b20的12位溫度轉(zhuǎn)換過(guò)程中,轉(zhuǎn)換后的12位數(shù)據(jù),存在兩個(gè)8位的 ram中,其中前5位為符號(hào)位,即如果溫度大于0

29、, s全為0,否則s全為1,且負(fù)數(shù)值 以二進(jìn)制補(bǔ)碼的形式存儲(chǔ)在ram屮,溫度轉(zhuǎn)換時(shí)只要取反后加1,即得到所測(cè)溫度的原 碼。initialization timing figure 13master tx reset pulse 480s minimumds18b20 waits 15-60psmaster rx480ps minimumds18b20 tx presence pulse 60-240ps圖3.4 ds18b20初始化示意圖初始化時(shí),需要將dq數(shù)據(jù)總線(xiàn)拉低至少480us,數(shù)據(jù)總線(xiàn)就進(jìn)入接收模式,ds18b20收 到信號(hào)后等待1560us,然后dq發(fā)出60240us的存在低脈沖,c

30、pu收到此信號(hào)表明復(fù)位 成功。指令代碼說(shuō)明讀rom33h讀rom的64位地址符合rom55h指令發(fā)出后,發(fā)出64位地址,訪問(wèn)該地址對(duì)應(yīng)的ds18b20,為下一步的讀寫(xiě)準(zhǔn)備搜索romoeoh確定連在一條總線(xiàn)上的ds18b20個(gè)數(shù)和識(shí)別64位kom地址跳過(guò)romocch忽略64位rom地址,直接溫度變換告笞搜索命令oech只有超過(guò)溫度上下限才做出反應(yīng)表3. 3 ds18b20的rom指令表指令代碼說(shuō)明溫度變換44h后動(dòng)溫度轉(zhuǎn)換,結(jié)果存入內(nèi)部9字節(jié)ram中讀暫存器0bei1讀內(nèi)部ram中9字節(jié)內(nèi)容寫(xiě)鋝存器側(cè)發(fā)出向內(nèi)部ram的3、4字節(jié)寫(xiě)上下限溫度命令復(fù)制暫存港48h將ram中第3、4字節(jié)的內(nèi)容復(fù)制到

31、eeprom重調(diào)eeprom0b8ii將eeprom中的內(nèi)容恢復(fù)到ram的第3、4字節(jié)讀供電方式0b4i1讀ds18b20的供電模式表3. 4 ds18b20的ram指令表因此,可以控制單片機(jī),向ds18b20的rom寫(xiě)入0cch,向ram寫(xiě)入44h, 0beh, 讓ds18b20進(jìn)行溫度轉(zhuǎn)換。ds18b20 memory map figure 7scratchpad (power-up state)byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 bvte 8temperature lsb (5oil)temperature ms

32、b (05h)(85°c)eepromth register or user byte 1 *tl register or user byle 2*configuration register*reserved (ffh)reserved (och)reserved (loli)crc* power-up state depends on value(s) stored ill eepromth register or user byte 1tl register or user byte 2configiuatioii register圖3. 5 ds18b20暫存寄存器分布讀取溫

33、度時(shí),只需讀取byteo和bytel中的內(nèi)容,用數(shù)碼管顯示出來(lái),就得到耍測(cè)量的溫度 值。3. 2. 4溫度譯碼輸出因?yàn)轱@示部分最多要用6個(gè)數(shù)碼管,即負(fù)號(hào)的顯示、百位顯示、十位顯示、個(gè)位和小數(shù)點(diǎn) 顯示、一位小數(shù)顯示。考慮到成本、器件使用的方便和盡量減少連線(xiàn)等因素,溫度顯示部 分可以選用連在一起的8個(gè)數(shù)碼管7seg-mpx8-cc型號(hào)。溫度顯示部分采用定時(shí)器/計(jì)數(shù)器to中斷控制數(shù)碼管進(jìn)行動(dòng)態(tài)顯示,由p2 口送出動(dòng)態(tài)掃描 信號(hào),且p2 口的送出值為bcd碼,因此需要74hc138進(jìn)行譯碼,送入數(shù)碼管的18 口, 控制數(shù)碼管的選通,掃描由左向右依次進(jìn)行,將所要顯示的各位數(shù)碼管值存入數(shù)組str中, st

34、ro存放符號(hào)位,strl存放百位數(shù)據(jù),str2存放十位數(shù)掘,str3存放個(gè)位數(shù)據(jù)和小數(shù)點(diǎn), str4存放一位小數(shù),str5存放溫度單位c。掃描到相應(yīng)數(shù)碼管時(shí),對(duì)應(yīng)位的值經(jīng)過(guò)查表, 所對(duì)應(yīng)的斷碼值就被送到p0 口,從而完成溫度的譯碼顯示。4 結(jié)論與設(shè)計(jì)展望4. 1結(jié)論溫度測(cè)量系統(tǒng)采用proteus進(jìn)行仿真,分別將ds18b20放不同的溫度條件下,看數(shù)碼管是 否顯示正確的溫度值,以下為ds18b20正常工作溫度下,系統(tǒng)的仿真閣。(1)設(shè)罝溫度為21.2°c時(shí)的仿真圖圖4. 1仿真圖1(2)設(shè)置溫度為-21.2'c時(shí)的仿真閣kj.wao ixtal2fojvad3fo.vao fo

35、.7/ap7f2.wa»r2a10f23-a11aieeaf7 va17f26ta1*fiirrzr l.inxc.m2p13ft ra winfusr1t艦,37'汀-d? i. i?y1y2p;msezo7mk.13s圖4.24. 2展望隨著現(xiàn)代數(shù)字電路和可編程器件的發(fā)展,使用數(shù)字器件代替?zhèn)鹘y(tǒng)的模擬器件進(jìn)行測(cè)量是很 好的發(fā)展方向,但這對(duì)設(shè)計(jì)人員提高了軟件方面的要求,設(shè)計(jì)人員進(jìn)行設(shè)計(jì)時(shí),必須仔細(xì) 閱讀器件的使用手冊(cè),方能在此基礎(chǔ)上,完成符合設(shè)計(jì)耍求的一個(gè)系統(tǒng)。通過(guò)控制溫度傳 感器的讀和寫(xiě),將得到的溫度轉(zhuǎn)換成數(shù)字,并最終用數(shù)碼管成功顯示,驗(yàn)證了所學(xué)的理論, 成功完成了溫度測(cè)量

36、系統(tǒng)設(shè)計(jì)。本次設(shè)計(jì)只是在仿真的水平上,成功完成了設(shè)計(jì),但到了具體的硬件平臺(tái),或許還有微小 的差別,在硬件電路焊接和調(diào)試方面的能力,也是一個(gè)設(shè)計(jì)人員所必備的能力,在未來(lái)的 工作崗位,或科研等有條件的情況下,親身參與軟硬件的調(diào)試和設(shè)計(jì),尤其是硬件方面就 非常有必要了。電子信息領(lǐng)域的變化日新刀異,新的技術(shù)層出不窮,但扎實(shí)的知識(shí)理論基 礎(chǔ)和基木電路分析方法給我們指明了所要努力的方向和實(shí)現(xiàn)方式,畢業(yè)設(shè)計(jì)是四年木科學(xué) 習(xí)的知識(shí)、理論、方法等綜合知識(shí)運(yùn)用的一次檢驗(yàn),是對(duì)知識(shí)體系的一個(gè)冋顧,是邁向未 來(lái)走向工作崗位的第一步,要學(xué)習(xí)的還有很多。致謝在這四年的時(shí)間里,我在學(xué)習(xí)上和思想上都受益非淺。這除了自身努力外

37、,與各位老師、 同學(xué)和朋友的關(guān)心、支持和鼓勵(lì)是分不開(kāi)的。論文的寫(xiě)作是枯燥艱辛而又富冇挑戰(zhàn)的。溫度測(cè)量在生產(chǎn)、生活中很重要,老師的諄諄誘 導(dǎo)、同學(xué)的出謀劃策及家長(zhǎng)的支持鼓勵(lì),是我堅(jiān)持完成論文的動(dòng)力源泉。在此,要感謝我 的指導(dǎo)老師李秀娟。從論文的選題、文獻(xiàn)的采集、框架的設(shè)計(jì)、結(jié)構(gòu)的布局到最終的論文 定稿,從內(nèi)容到格式,從標(biāo)題到標(biāo)點(diǎn),給予了精心的指導(dǎo),才最終順利完成論文。感謝電子信息工程專(zhuān)業(yè)的各位同學(xué),與他們的交流使我受益頗多。最后要感謝我的家人以 及我的朋友們對(duì)我的理解、支持、鼓勵(lì)和幫助,正是因?yàn)閮恿怂麄?,我所做的一切才更?意義;也正是因?yàn)橛辛怂麄?,我才有了追求進(jìn)步的勇氣和信心。時(shí)間的倉(cāng)促及自身

38、專(zhuān)業(yè)水平的不足,整篇論文肯定存在尚未發(fā)現(xiàn)的缺點(diǎn)和錯(cuò)誤。懇請(qǐng)閱讀 此篇論文的老師、同學(xué),多予指正,不勝感激!參考文獻(xiàn):1 李學(xué)禮.基于proteus的8051單片機(jī)實(shí)例教程m. 1版.北京:電子工業(yè)出版社.2008年6月2 那彥.電子及通信專(zhuān)業(yè)畢業(yè)設(shè)計(jì)寶典m.l版.西安:西安電子科技大學(xué)出版社.2008年3月3 張毅剛.彭喜元.姜守達(dá).喬立巖.新編mcs-51單片機(jī)應(yīng)用設(shè)計(jì)m. 3版.哈爾濱:哈爾濱工業(yè)大學(xué)出 版社,2008年4月4 羅強(qiáng).基于單片機(jī)的嵌入式工程開(kāi)發(fā)詳解m.l版.北京:電子工業(yè)出版社.2009年1月5 趙佩華.ds1820在單片機(jī)溫度測(cè)控巾的應(yīng)用n.上海電機(jī)學(xué)院學(xué)報(bào),2008年1

39、2月附錄a溫度測(cè)量系統(tǒng)單片機(jī)c程序#include<reg52. h>#include<math. h> #include<intrins. h>sbit segl=p2"0;sbit seg2=p21;sbit seg3=p2 2;sbit dq=pr3;sfr dataled=0x80; /p0 口 數(shù)據(jù)送數(shù)碼管unsigned int temp;unsigned char flag, count, num;unsigned char code tab = 0x3f,0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x0

40、7, 0x7f, 0x6f;/數(shù)碼管段碼 表unsigned char str6;unsigned int readtemperature(void);void init_ds18b20(void);unsigned char readonechar(void);void writeonechar(unsigned char dat);void delay(unsigned int i);main ()unsigned char temph, templ; num=0;tm0d=0x01;/定吋器設(shè)置tho-oxef;tlo=oxoo; 1e=0x82; tro=1; p2=0x00; whi 1 e(1)if(flag=l)tcmp=rcadtcmpera

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論