版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p> 2013年 12 月 18日</p><p> 《通信技術(shù)創(chuàng)新課程設(shè)計(jì)》</p><p><b> 課程設(shè)計(jì)任務(wù)書(shū)</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 報(bào)警電路6</p>
3、<p> 3 DS18B20簡(jiǎn)介和工作原理6</p><p> 3.1 DS18B20性能特點(diǎn)7</p><p> 3.2 DS18B20內(nèi)部結(jié)構(gòu)7</p><p> 3.3 DS18B20控制方法8</p><p> 3.4 高速暫存存儲(chǔ)器9</p><p> 3.5 DS
4、18B20時(shí)序圖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ù)字顯示溫度計(jì)設(shè)計(jì)</p><p><b> 1 摘要:</b></p><p> 本設(shè)計(jì)中,采用了新型數(shù)字溫度傳感器DS18B20
6、,其特點(diǎn)是具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu)點(diǎn),在實(shí)際應(yīng)用中取得了良好的測(cè)溫效果。本設(shè)計(jì)使用溫度傳感器所環(huán)境溫度情況檢測(cè)出來(lái),再采用AT89S52單片機(jī)進(jìn)行控制,可設(shè)置溫度報(bào)警,采用數(shù)碼管溫度的顯示,。在本系統(tǒng)設(shè)計(jì)中共有以下四個(gè)模塊組成:輸入模塊、單片機(jī)控制模塊、數(shù)碼管顯示模塊、溫度傳感器模塊。能實(shí)現(xiàn)以下兩個(gè)基本功能:3位溫度的顯示、可設(shè)置報(bào)警溫度。</p><p> 關(guān)鍵字:矩陣鍵
7、盤(pán)、AT89S52、DS18B20、數(shù)字溫度計(jì)</p><p> 2 方案論證與選擇</p><p><b> 2.1 輸入模塊</b></p><p> 方案一:采用獨(dú)立式按鍵作為輸入模塊,其特點(diǎn):直接用I/O口構(gòu)成單個(gè)按鍵電路,接口電路配置靈活、軟件結(jié)構(gòu)簡(jiǎn)單,但是當(dāng)鍵數(shù)較多時(shí),占用I/O口較多;</p><p&
8、gt; 方案二:采用矩陣式鍵盤(pán)作為輸入電路,其特點(diǎn):電路和軟件稍復(fù)雜,但相比之下,當(dāng)鍵數(shù)越多時(shí)越節(jié)約I/O口。</p><p> 本設(shè)計(jì)使用鍵盤(pán)輸入預(yù)置報(bào)警溫度值,若采用獨(dú)立按鍵,對(duì)數(shù)值進(jìn)行遞增遞減需頻繁按鍵,為軟件設(shè)計(jì)增加負(fù)擔(dān),且操作界面不友好。若采用矩陣式按鍵,可以方便地輸入一個(gè)溫度值,使操作界面更具人性化,節(jié)約了寶貴的I/O口資源。通過(guò)對(duì)比,故采用方案二作為系統(tǒng)輸入模塊。</p><
9、p> 2.2 溫度傳感器模塊</p><p> 方案一:用模擬溫度傳感器,比如普通的熱敏電阻。熱敏電阻的溫度特性曲線是一條指數(shù)曲線,非線性度較大,因此在使用時(shí)要進(jìn)行線性化處理,線性化處理雖然能改善熱敏電阻的特性曲線,但比較復(fù)雜。為此常在要求不高的一般應(yīng)用中,作出在一定的溫度范圍內(nèi)溫度與阻值成線性關(guān)系的假定,才能簡(jiǎn)化計(jì)算。另外,溫度與輸出電壓量是非線性的,讀出的是模擬量,需要A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換才能送給
10、數(shù)碼管顯示,從而增加了軟硬件的負(fù)擔(dān)。</p><p> 方案二:采用數(shù)字溫度傳感器DS18B20作為溫度傳感器模塊,它具有獨(dú)特的單總線接口方式,需一根總線就能實(shí)現(xiàn)控制模塊與DS18B20之間的半雙工通信。DS18B20是集傳感元件和轉(zhuǎn)換電路于一體的小芯片上。 另外,DS18B20也支持"一線總線"接口,測(cè)量溫度范圍為-55°C~+125°C,在-10~+85
11、176;C范圍內(nèi),精度為±0.5°C?,F(xiàn)場(chǎng)溫度直接以"一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類(lèi)消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便,體積更小。</p><p> 綜上分析,DS18B20大大節(jié)約了I/O口資源,且在軟件結(jié)構(gòu)上省去建查找表這
12、一繁瑣的步驟,且它有精確的轉(zhuǎn)換電路直接送出直觀的數(shù)據(jù),并且DS18B20擁有較高的溫度分辨率0.0625度(采用默認(rèn)的12位時(shí)),在價(jià)格方面,單個(gè)DS18B20市場(chǎng)價(jià)7元,與熱敏電阻加A/D轉(zhuǎn)換器ADC0809的組合價(jià)格相差不大。用它作為本設(shè)計(jì)傳感器模塊最恰當(dāng)不過(guò),固選擇方案二。</p><p><b> 2.3 顯示模塊</b></p><p> 方案一:用L
13、CD顯示,要用LCD顯示,需要學(xué)習(xí)其專(zhuān)用的驅(qū)動(dòng)控制芯片,比如HD61203,軟件實(shí)現(xiàn)較為復(fù)雜,且LCD的價(jià)格昂貴。</p><p> 方案二:采用LED數(shù)碼管并行動(dòng)態(tài)顯示,電路簡(jiǎn)單,同樣的功率驅(qū)動(dòng)下,顯示亮度不及靜態(tài)顯示,且占用I/O口較多。</p><p> 方案三:采用LED數(shù)碼管串行靜態(tài)顯示,僅占用控制器串口的兩個(gè)I/O口,軟件實(shí)現(xiàn)簡(jiǎn)單,顯示亮度高,成本低。</p>
14、<p> 表1 用LED顯示器顯示十六位進(jìn)制數(shù)的字形代碼在下圖表示:</p><p> 綜上所述,采用方案三串行靜態(tài)顯示是本設(shè)計(jì)最佳顯示方案。LED數(shù)碼管顯示器由7個(gè)發(fā)光二極管組成,因此也稱(chēng)之為7段LED顯示器,其排列形狀如上。 </p><p><b> 2.4 報(bào)警電路</b></p><p> 充分利用最小系統(tǒng)板上
15、資源,用蜂鳴器作報(bào)警提示音,為了使其更加可視化,再加個(gè)發(fā)光二極管,聲光結(jié)合充分突出了緊急提示信號(hào)的特點(diǎn)。</p><p> 3 DS18B20簡(jiǎn)介和工作原理</p><p> DS18B20數(shù)字溫度計(jì)是DALLAS半導(dǎo)體公司生產(chǎn)的1-Wire,即單線智能溫度傳感器,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。屬于新一代適
16、配微處理器的智能溫度傳感器,它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)。 </p><p> 3.1 DS18B20性能特點(diǎn) </p><p> ①采用單總線專(zhuān)用技術(shù),既可通過(guò)串行口線,也可通過(guò)其它I/O口線與微機(jī)接口,無(wú)須經(jīng)過(guò)其它變換電路,直接輸出被測(cè)溫度值(16位二進(jìn)制數(shù),含符號(hào)位)。 </p><p> ?、跍y(cè)溫范圍為-55℃-+1
17、25℃,測(cè)量分辨率為0.0625℃。</p><p> ③內(nèi)含64位經(jīng)過(guò)激光修正的只讀存儲(chǔ)器ROM。</p><p> ④適配各種單片機(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ā)的溫度報(bào)警觸發(fā)器TH和TL,高速暫存器。DS18B20的管腳排列如圖1所示。 </p><p> 圖1 DS18B20引腳分布圖</p><p><b> 表2引腳功能描述</b></p><p
19、> 表3:DS18B20高速暫存器共9個(gè)存存單元</p><p> 以12位轉(zhuǎn)化為例說(shuō)明溫度高低字節(jié)存放形式及計(jì)算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)高低兩個(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í)際溫度。 </p&
20、gt;<p> 表4 溫度高低字節(jié)存放說(shuō)明</p><p> 3.3 DS18B20控制方法 </p><p> 在硬件上,DS18B20與單片機(jī)的連接有兩種方法,一種是Vcc接外部電源,GND接地,I/O與單片機(jī)的I/O線相連;另一種是用寄生電源供電,此時(shí)UDD、GND接地,I/O接單片機(jī)I/O。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。
21、 DS18B20有六條控制命令。</p><p><b> 表5 RAM指令表</b></p><p> CPU對(duì)DS18B20的訪問(wèn)流程是:先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換這一過(guò)程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個(gè)步
22、驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。 </p><p> DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。配置寄存器 該字節(jié)各位的意義如下:</p><p> 表6: 配置寄存器結(jié)構(gòu)&
23、lt;/p><p> 3.4 高速暫存存儲(chǔ)器 </p><p> 高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表5所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如表1所示。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)
24、制值。表7是對(duì)應(yīng)的一部分溫度值。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。</p><p> 表7: DS18B20暫存寄存器分布</p><p> 根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)之前都要對(duì)DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線
25、下拉500微秒,然后釋放,當(dāng)DS18B20收到信號(hào)后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。 </p><p> 表8: ROM指令表</p><p> 3.5 DS18B20時(shí)序圖</p><p> 對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳
26、輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。</p><p> DS18B20的讀時(shí)序:</p><p> DS18B20的寫(xiě)時(shí)序圖:</p><p> DS18B20的復(fù)位時(shí)序圖:</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. 報(bào)警系統(tǒng)蜂鳴器接89S52p3.
28、5口。</p><p> c. 矩陣鍵盤(pán)1~8引腳接89S52的 p0.0~p0.7口。</p><p> d. 串口顯示模塊中的1~4引腳分別接p3.0、p3.1、vcc、gnd。</p><p><b> 5、實(shí)驗(yàn)數(shù)據(jù)</b></p><p> 數(shù)據(jù)分析:系統(tǒng)數(shù)字化誤差</p><p>
29、;<b> 6、小結(jié)</b></p><p> 程序在編譯過(guò)程中,出現(xiàn)了一些語(yǔ)法錯(cuò)誤,經(jīng)過(guò)細(xì)心修改得以糾正。但是,將程序下載到單片機(jī)之后,發(fā)現(xiàn)串口顯示模塊一直顯示“127.5”,經(jīng)過(guò)推斷得知,讀取的溫度值為全“1”,出現(xiàn)這個(gè)問(wèn)題,全是DS18B20它有嚴(yán)格的時(shí)序和通信協(xié)議,在每次讀取溫度數(shù)據(jù)時(shí),都有其嚴(yán)格的時(shí)序要求,經(jīng)過(guò)檢查,發(fā)現(xiàn)程序中有一個(gè)地方少加了一個(gè)1毫秒左右的延時(shí),按照DS18B
30、20的時(shí)序原理,把忘記加的延時(shí)加上之后,就可以讓單片機(jī)讀取傳感器的溫度值了。</p><p> 其次,在鍵盤(pán)處理時(shí)還遇到一個(gè)問(wèn)題,當(dāng)按鍵按下時(shí),由于程序一直在掃描,數(shù)碼管上顯示了四個(gè)相同的數(shù)字(當(dāng)時(shí)按下的鍵值),經(jīng)過(guò)分析找到了問(wèn)題的所在,鍵盤(pán)掃描模塊中沒(méi)有判斷按鍵松開(kāi)的語(yǔ)句,所以當(dāng)人按下鍵沒(méi)松開(kāi),鍵盤(pán)掃描程序執(zhí)行了很多次,每執(zhí)行一次就返回一個(gè)值,所以才會(huì)顯示很多同樣的數(shù)字。解決這個(gè)問(wèn)題的方法是在鍵盤(pán)掃描程序中加
31、了一條等待按鍵松開(kāi)的語(yǔ)句,這樣一來(lái),鍵盤(pán)上的按鍵每一次人為的操作只返回一個(gè)值,解決了先前出現(xiàn)的問(wèn)題。</p><p> 經(jīng)過(guò)三周時(shí)間的設(shè)計(jì),我們的設(shè)計(jì)完成了所有設(shè)計(jì)要求,系統(tǒng)能夠完成人為設(shè)置上、下限溫度發(fā)聲發(fā)光報(bào)警且顯示功能、數(shù)字顯示溫度計(jì)功能、輸入報(bào)警溫度出錯(cuò)提示功能。</p><p> 此次溫度計(jì)設(shè)計(jì),讓我學(xué)會(huì)了規(guī)范化程序的編寫(xiě)、程序調(diào)試的各種方法以及解決調(diào)試過(guò)程中出現(xiàn)的一系列的問(wèn)
32、題。更重要的是讓我明白程序的優(yōu)化是多么重要。要想編寫(xiě)出一個(gè)系統(tǒng)的程序,就必須十分清楚硬件電路中所用芯片的工作原理以及使用它們的一些注意事項(xiàng),比如這次設(shè)計(jì)中所用的DS18B20數(shù)字溫度傳感器,它的時(shí)序要求十分嚴(yán)格,由于它是采用單總線結(jié)構(gòu)的輸入輸出方法,它的時(shí)序中所用到的延時(shí)必然很關(guān)鍵,時(shí)間過(guò)長(zhǎng)了會(huì)使整個(gè)溫度計(jì)的反應(yīng)時(shí)間變慢,延時(shí)時(shí)間過(guò)短會(huì)使傳感器不能正常工作。</p><p> 在后期的程序優(yōu)化過(guò)程中,在溫度計(jì)狀
33、態(tài)下多加了一毫秒的延時(shí),提高了系統(tǒng)的工作穩(wěn)定性,解決了系統(tǒng)因不穩(wěn)定而自動(dòng)跳到報(bào)警溫度設(shè)置模式的問(wèn)題。</p><p> 本次設(shè)計(jì)過(guò)程中,和兩位同學(xué)的合作加強(qiáng)了我的團(tuán)隊(duì)合作能力。課程設(shè)計(jì)指導(dǎo)老師高老師給了我循序漸進(jìn)地指導(dǎo),在此特別感謝高老師精心地栽培!</p><p><b> 參考文獻(xiàn)</b></p><p> 1. 周興華.手把手教你學(xué)
34、單片機(jī)[M], 北京:北京航空航天出版社,2005.4</p><p> 2. 余錫存,曹?chē)?guó)華.單片機(jī)原理及接口技術(shù)[M],西安:西安電子科技出版社,1999.11</p><p><b> 附:程序清單</b></p><p><b> (略)</b></p><p> 附件五:課程設(shè)計(jì)指
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的數(shù)字顯示溫度計(jì)課程設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 數(shù)字溫度計(jì)課程設(shè)計(jì)---基于51單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 基于單片機(jī)數(shù)字溫度計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)--數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)—數(shù)字溫度計(jì)
- 單片機(jī)數(shù)字溫度計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)—數(shù)字溫度計(jì)
- 基于單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-- 基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)
- 基于單片機(jī)的數(shù)字溫度計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)——數(shù)字溫度計(jì)
- 單片機(jī)課程設(shè)計(jì)—數(shù)字溫度計(jì)
- 課程設(shè)計(jì)--基于單片機(jī)數(shù)字溫度計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-數(shù)字溫度計(jì)
評(píng)論
0/150
提交評(píng)論