基于單片機(jī)的數(shù)字顯示溫度計課程設(shè)計_第1頁
已閱讀1頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課 程 設(shè) 計</b></p><p>  2013年 12 月 18日</p><p>  《通信技術(shù)創(chuàng)新課程設(shè)計》</p><p><b>  課程設(shè)計任務(wù)書</b></p><p><b>  目 錄</b></p><

2、p><b>  1 摘要:5</b></p><p>  2 方案論證與選擇5</p><p>  2.1 輸入模塊5</p><p>  2.2 溫度傳感器模塊5</p><p>  2.3 顯示模塊6</p><p>  2.4 報警電路6</p>

3、<p>  3 DS18B20簡介和工作原理6</p><p>  3.1 DS18B20性能特點7</p><p>  3.2 DS18B20內(nèi)部結(jié)構(gòu)7</p><p>  3.3 DS18B20控制方法8</p><p>  3.4 高速暫存存儲器9</p><p>  3.5 DS

4、18B20時序圖10</p><p>  4 硬件工作原理電路11</p><p>  4.1 電路工作框圖11</p><p>  4.2 硬件電路圖12</p><p>  4.3 硬件引腳鎖定12</p><p><b>  5、小結(jié)12</b></p>&

5、lt;p><b>  參考文獻(xiàn)13</b></p><p><b>  附:程序清單23</b></p><p>  基于單片機(jī)的數(shù)字顯示溫度計設(shè)計</p><p><b>  1 摘要:</b></p><p>  本設(shè)計中,采用了新型數(shù)字溫度傳感器DS18B20

6、,其特點是具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu)點,在實際應(yīng)用中取得了良好的測溫效果。本設(shè)計使用溫度傳感器所環(huán)境溫度情況檢測出來,再采用AT89S52單片機(jī)進(jìn)行控制,可設(shè)置溫度報警,采用數(shù)碼管溫度的顯示,。在本系統(tǒng)設(shè)計中共有以下四個模塊組成:輸入模塊、單片機(jī)控制模塊、數(shù)碼管顯示模塊、溫度傳感器模塊。能實現(xiàn)以下兩個基本功能:3位溫度的顯示、可設(shè)置報警溫度。</p><p>  關(guān)鍵字:矩陣鍵

7、盤、AT89S52、DS18B20、數(shù)字溫度計</p><p>  2 方案論證與選擇</p><p><b>  2.1 輸入模塊</b></p><p>  方案一:采用獨立式按鍵作為輸入模塊,其特點:直接用I/O口構(gòu)成單個按鍵電路,接口電路配置靈活、軟件結(jié)構(gòu)簡單,但是當(dāng)鍵數(shù)較多時,占用I/O口較多;</p><p&

8、gt;  方案二:采用矩陣式鍵盤作為輸入電路,其特點:電路和軟件稍復(fù)雜,但相比之下,當(dāng)鍵數(shù)越多時越節(jié)約I/O口。</p><p>  本設(shè)計使用鍵盤輸入預(yù)置報警溫度值,若采用獨立按鍵,對數(shù)值進(jìn)行遞增遞減需頻繁按鍵,為軟件設(shè)計增加負(fù)擔(dān),且操作界面不友好。若采用矩陣式按鍵,可以方便地輸入一個溫度值,使操作界面更具人性化,節(jié)約了寶貴的I/O口資源。通過對比,故采用方案二作為系統(tǒng)輸入模塊。</p><

9、p>  2.2 溫度傳感器模塊</p><p>  方案一:用模擬溫度傳感器,比如普通的熱敏電阻。熱敏電阻的溫度特性曲線是一條指數(shù)曲線,非線性度較大,因此在使用時要進(jìn)行線性化處理,線性化處理雖然能改善熱敏電阻的特性曲線,但比較復(fù)雜。為此常在要求不高的一般應(yīng)用中,作出在一定的溫度范圍內(nèi)溫度與阻值成線性關(guān)系的假定,才能簡化計算。另外,溫度與輸出電壓量是非線性的,讀出的是模擬量,需要A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換才能送給

10、數(shù)碼管顯示,從而增加了軟硬件的負(fù)擔(dān)。</p><p>  方案二:采用數(shù)字溫度傳感器DS18B20作為溫度傳感器模塊,它具有獨特的單總線接口方式,需一根總線就能實現(xiàn)控制模塊與DS18B20之間的半雙工通信。DS18B20是集傳感元件和轉(zhuǎn)換電路于一體的小芯片上。 另外,DS18B20也支持"一線總線"接口,測量溫度范圍為-55°C~+125°C,在-10~+85&#

11、176;C范圍內(nèi),精度為±0.5°C?,F(xiàn)場溫度直接以"一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計更靈活、方便,體積更小。</p><p>  綜上分析,DS18B20大大節(jié)約了I/O口資源,且在軟件結(jié)構(gòu)上省去建查找表這

12、一繁瑣的步驟,且它有精確的轉(zhuǎn)換電路直接送出直觀的數(shù)據(jù),并且DS18B20擁有較高的溫度分辨率0.0625度(采用默認(rèn)的12位時),在價格方面,單個DS18B20市場價7元,與熱敏電阻加A/D轉(zhuǎn)換器ADC0809的組合價格相差不大。用它作為本設(shè)計傳感器模塊最恰當(dāng)不過,固選擇方案二。</p><p><b>  2.3 顯示模塊</b></p><p>  方案一:用L

13、CD顯示,要用LCD顯示,需要學(xué)習(xí)其專用的驅(qū)動控制芯片,比如HD61203,軟件實現(xiàn)較為復(fù)雜,且LCD的價格昂貴。</p><p>  方案二:采用LED數(shù)碼管并行動態(tài)顯示,電路簡單,同樣的功率驅(qū)動下,顯示亮度不及靜態(tài)顯示,且占用I/O口較多。</p><p>  方案三:采用LED數(shù)碼管串行靜態(tài)顯示,僅占用控制器串口的兩個I/O口,軟件實現(xiàn)簡單,顯示亮度高,成本低。</p>

14、<p>  表1 用LED顯示器顯示十六位進(jìn)制數(shù)的字形代碼在下圖表示:</p><p>  綜上所述,采用方案三串行靜態(tài)顯示是本設(shè)計最佳顯示方案。LED數(shù)碼管顯示器由7個發(fā)光二極管組成,因此也稱之為7段LED顯示器,其排列形狀如上。 </p><p><b>  2.4 報警電路</b></p><p>  充分利用最小系統(tǒng)板上

15、資源,用蜂鳴器作報警提示音,為了使其更加可視化,再加個發(fā)光二極管,聲光結(jié)合充分突出了緊急提示信號的特點。</p><p>  3 DS18B20簡介和工作原理</p><p>  DS18B20數(shù)字溫度計是DALLAS半導(dǎo)體公司生產(chǎn)的1-Wire,即單線智能溫度傳感器,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計,十分方便。屬于新一代適

16、配微處理器的智能溫度傳感器,它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點。 </p><p>  3.1 DS18B20性能特點 </p><p> ?、俨捎脝慰偩€專用技術(shù),既可通過串行口線,也可通過其它I/O口線與微機(jī)接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(16位二進(jìn)制數(shù),含符號位)。 </p><p> ?、跍y溫范圍為-55℃-+1

17、25℃,測量分辨率為0.0625℃。</p><p>  ③內(nèi)含64位經(jīng)過激光修正的只讀存儲器ROM。</p><p> ?、苓m配各種單片機(jī)或系統(tǒng)機(jī)。</p><p> ?、萦脩艨煞謩e設(shè)定各路溫度的上、下限。</p><p><b>  ⑥內(nèi)含寄生電源。 </b></p><p>  3.2 D

18、S18B20內(nèi)部結(jié)構(gòu)</p><p>  DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖1所示。 </p><p>  圖1 DS18B20引腳分布圖</p><p><b>  表2引腳功能描述</b></p><p

19、>  表3:DS18B20高速暫存器共9個存存單元</p><p>  以12位轉(zhuǎn)化為例說明溫度高低字節(jié)存放形式及計算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個高低兩個8位的RAM中,二進(jìn)制中的前面5位是符號位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625才能得到實際溫度。 </p&

20、gt;<p>  表4 溫度高低字節(jié)存放說明</p><p>  3.3 DS18B20控制方法 </p><p>  在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是Vcc接外部電源,GND接地,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時UDD、GND接地,I/O接單片機(jī)I/O。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。

21、 DS18B20有六條控制命令。</p><p><b>  表5 RAM指令表</b></p><p>  CPU對DS18B20的訪問流程是:先對DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對存儲器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時序和通信協(xié)議。如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換這一過程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個步

22、驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。 </p><p>  DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。配置寄存器 該字節(jié)各位的意義如下:</p><p>  表6: 配置寄存器結(jié)構(gòu)&

23、lt;/p><p>  3.4 高速暫存存儲器 </p><p>  高速暫存存儲器由9個字節(jié)組成,其分配如表5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如表1所示。對應(yīng)的溫度計算:當(dāng)符號位S=0時,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,先將補(bǔ)碼變?yōu)樵a,再計算十進(jìn)

24、制值。表7是對應(yīng)的一部分溫度值。第九個字節(jié)是冗余檢驗字節(jié)。</p><p>  表7: DS18B20暫存寄存器分布</p><p>  根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線

25、下拉500微秒,然后釋放,當(dāng)DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。 </p><p>  表8: ROM指令表</p><p>  3.5 DS18B20時序圖</p><p>  對于DS18B20的讀時隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳

26、輸?shù)絾慰偩€上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。</p><p>  DS18B20的讀時序:</p><p>  DS18B20的寫時序圖:</p><p>  DS18B20的復(fù)位時序圖:</p><p>  4 硬件工作原理電路</p><p>  4.1 電路工作框圖</p

27、><p>  4.2 硬件電路圖</p><p><b>  圖2 硬件電路圖</b></p><p>  4.3 硬件引腳鎖定</p><p>  a. DS18B20的1接電源vcc,2 腳接89S52 p2.7口,3腳接地gnd。</p><p>  b. 報警系統(tǒng)蜂鳴器接89S52p3.

28、5口。</p><p>  c. 矩陣鍵盤1~8引腳接89S52的 p0.0~p0.7口。</p><p>  d. 串口顯示模塊中的1~4引腳分別接p3.0、p3.1、vcc、gnd。</p><p><b>  5、實驗數(shù)據(jù)</b></p><p>  數(shù)據(jù)分析:系統(tǒng)數(shù)字化誤差</p><p>

29、;<b>  6、小結(jié)</b></p><p>  程序在編譯過程中,出現(xiàn)了一些語法錯誤,經(jīng)過細(xì)心修改得以糾正。但是,將程序下載到單片機(jī)之后,發(fā)現(xiàn)串口顯示模塊一直顯示“127.5”,經(jīng)過推斷得知,讀取的溫度值為全“1”,出現(xiàn)這個問題,全是DS18B20它有嚴(yán)格的時序和通信協(xié)議,在每次讀取溫度數(shù)據(jù)時,都有其嚴(yán)格的時序要求,經(jīng)過檢查,發(fā)現(xiàn)程序中有一個地方少加了一個1毫秒左右的延時,按照DS18B

30、20的時序原理,把忘記加的延時加上之后,就可以讓單片機(jī)讀取傳感器的溫度值了。</p><p>  其次,在鍵盤處理時還遇到一個問題,當(dāng)按鍵按下時,由于程序一直在掃描,數(shù)碼管上顯示了四個相同的數(shù)字(當(dāng)時按下的鍵值),經(jīng)過分析找到了問題的所在,鍵盤掃描模塊中沒有判斷按鍵松開的語句,所以當(dāng)人按下鍵沒松開,鍵盤掃描程序執(zhí)行了很多次,每執(zhí)行一次就返回一個值,所以才會顯示很多同樣的數(shù)字。解決這個問題的方法是在鍵盤掃描程序中加

31、了一條等待按鍵松開的語句,這樣一來,鍵盤上的按鍵每一次人為的操作只返回一個值,解決了先前出現(xiàn)的問題。</p><p>  經(jīng)過三周時間的設(shè)計,我們的設(shè)計完成了所有設(shè)計要求,系統(tǒng)能夠完成人為設(shè)置上、下限溫度發(fā)聲發(fā)光報警且顯示功能、數(shù)字顯示溫度計功能、輸入報警溫度出錯提示功能。</p><p>  此次溫度計設(shè)計,讓我學(xué)會了規(guī)范化程序的編寫、程序調(diào)試的各種方法以及解決調(diào)試過程中出現(xiàn)的一系列的問

32、題。更重要的是讓我明白程序的優(yōu)化是多么重要。要想編寫出一個系統(tǒng)的程序,就必須十分清楚硬件電路中所用芯片的工作原理以及使用它們的一些注意事項,比如這次設(shè)計中所用的DS18B20數(shù)字溫度傳感器,它的時序要求十分嚴(yán)格,由于它是采用單總線結(jié)構(gòu)的輸入輸出方法,它的時序中所用到的延時必然很關(guān)鍵,時間過長了會使整個溫度計的反應(yīng)時間變慢,延時時間過短會使傳感器不能正常工作。</p><p>  在后期的程序優(yōu)化過程中,在溫度計狀

33、態(tài)下多加了一毫秒的延時,提高了系統(tǒng)的工作穩(wěn)定性,解決了系統(tǒng)因不穩(wěn)定而自動跳到報警溫度設(shè)置模式的問題。</p><p>  本次設(shè)計過程中,和兩位同學(xué)的合作加強(qiáng)了我的團(tuán)隊合作能力。課程設(shè)計指導(dǎo)老師高老師給了我循序漸進(jìn)地指導(dǎo),在此特別感謝高老師精心地栽培!</p><p><b>  參考文獻(xiàn)</b></p><p>  1. 周興華.手把手教你學(xué)

34、單片機(jī)[M], 北京:北京航空航天出版社,2005.4</p><p>  2. 余錫存,曹國華.單片機(jī)原理及接口技術(shù)[M],西安:西安電子科技出版社,1999.11</p><p><b>  附:程序清單</b></p><p><b> ?。裕?lt;/b></p><p>  附件五:課程設(shè)計指

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論