版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于單片機的數字溫度計設計</p><p><b> 姓 名: </b></p><p><b> 學 號:01</b></p><p> 專 業(yè):電器自動化</p><p><b> 指導教師: </b></p>
2、<p> 完成時間:2012.3.19</p><p><b> 摘要</b></p><p> 本文提出了基于MCS-51系列單片機的數字溫度計的制作電路和編程思想。該數字溫度計以宏晶公司的STC89C52 單片機為主控,配以達拉斯公司的DS18B20數字溫度傳感器,采用1602雙行英文字符液晶作顯示。實現(xiàn)了對溫度的測量,顯示,和報警等功能。<
3、/p><p> 關鍵詞: STC89C52單片機;數字傳感器DS18B20;顯示器LCD;</p><p><b> 目 錄</b></p><p><b> 摘要I</b></p><p> ABSTRACTII</p><p><b> 1 緒論
4、2</b></p><p> 1.1 選題的背景2</p><p> 1.2 數字溫度計簡介2</p><p> 1.2.1 數字溫度計的特征2</p><p> 1.2.2 設計實現(xiàn)的目標3</p><p> 2 數字溫度計的方案設計4</p><p> 2.
5、1 設計方案論證與比較4</p><p> 2.1.1 顯示電路方案4</p><p> 2.1.2 測溫電路方案4</p><p> 2.2 系統(tǒng)總體方案4</p><p> 3 數字溫度計的硬件電路設計5</p><p> 3.1 控制電路5</p><p> 3.1
6、.1 MCU簡介5</p><p> 3.2.2 最小系統(tǒng)模塊6</p><p> 3.3 溫度傳感器設計7</p><p> 3.3.1 DS18B20簡介7</p><p> 3.3.2 溫度傳感器與單片機的連接9</p><p> 3.3.3 復位信號及外部復位電路10</p>
7、<p> 3.4 單片機與報警電路10</p><p> 3.5 顯示電路10</p><p><b> 4 軟件設計12</b></p><p> 4.1 DS18b20的讀操作12</p><p> 4.2 DS18b20的溫度數據處理13</p><p>
8、4.3 1602顯示部分14</p><p><b> 5 數據測試16</b></p><p><b> 參考文獻18</b></p><p> 附錄1 程序源代碼19</p><p><b> 1 緒論</b></p><p><
9、;b> 1.1 選題的背景</b></p><p> 隨著現(xiàn)代信息技術的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn).能夠獨立工作的溫度檢測和顯示系統(tǒng)應用于諸多領域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準確度低,檢測系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計相比,這里設計的數字溫度計具有讀數方便,測溫范圍廣,測溫精確,數字顯示,適用范圍寬等特點
10、。選用STC89C52單片機作為主控制器件,DSl8B20作為測溫傳感器通過LCD1602并行傳送數據,實現(xiàn)溫度顯示。通過DSl8B20直接讀取被測溫度值,進行數據轉換,該器件的物理化學性能穩(wěn)定,線性度較好,在-55℃~125℃最大線性偏差小于0.1℃。該器件可直接向單片機傳輸數字信號,便于單片機處理及控制。另外,該溫度計還能直接采用測溫器件測量溫度,從而簡化數據傳輸與處理過程。</p><p> 1.2 數字
11、溫度計簡介</p><p> 1.2.1 數字溫度計的特征</p><p> 溫度是我們日常生產和生活中實時在接觸到的物理量,但是它是看不到的,僅憑感覺只能感覺到大概的溫度值,傳統(tǒng)的指針式的溫度計雖然能指示溫度,但是精度低,使用不夠方便,顯示不夠直觀,數字溫度計的出現(xiàn)可以讓人們直觀的了解自己想知道的溫度到底是多少度。</p><p> 數字溫度計采用進口芯片組
12、裝精度高、高穩(wěn)定性,誤差≤0.5%, 內電源、微功耗、不銹鋼外殼,防護堅固,美觀精致。數字溫度計采用進口高精度、低溫漂、超低功耗集成電路和寬溫型液晶顯示器,內置高能量電池連續(xù)工作≥5年無需敷設供電電纜,是一種精度高、穩(wěn)定性好、適用性極強的新型現(xiàn)場溫度顯示儀。是傳統(tǒng)現(xiàn)場指針雙金屬溫度計的理想替代產品,廣泛應用于各類工礦企業(yè),大專院校,科研院所。</p><p> 數字溫度計采用溫度敏感元件也就是溫度傳感器(如鉑電
13、阻,熱電偶,半導體,熱敏電阻等),將溫度的變化轉換成電信號的變化,如電壓和電流的變化,溫度變化和電信號的變化有一定的關系,如線性關系,一定的曲線關系等,這個電信號可以使用模數轉換的電路即AD轉換電路將模擬信號轉換為數字信號,數字信號再送給處理單元,如單片機或者PC機等,處理單元經過內部的軟件計算將這個數字信號和溫度聯(lián)系起來,成為可以顯示出來的溫度數值,如25.0攝氏度,然后通過顯示單元,如LED,LCD或者電腦屏幕等顯示出來給人觀察。這
14、樣就完成了數字溫度計的基本測溫功能。數字溫度計根據使用的傳感器的不同,AD轉換電路,及處理單元的不同,它的精度,穩(wěn)定性,測溫范圍等都有區(qū)別,這就要根據實際情況選擇符合規(guī)格的數字溫度計。</p><p> 1.2.2 設計實現(xiàn)的目標</p><p> 測溫基本范圍-55℃~125℃。</p><p> 測溫精度誤差小于或等于0.5℃。</p>&
15、lt;p><b> 超溫報警。</b></p><p> LCD屏幕顯示實時溫度。</p><p> 2 數字溫度計的方案設計</p><p> 2.1 設計方案論證與比較</p><p> 2.1.1 顯示電路方案</p><p> 方案一:采用數碼管動態(tài)顯示</p>
16、;<p> 使用七段LED數碼管,采用動態(tài)顯示的方法來顯示各項指標,此方法雖然價格成本低,但是顯示單一,且功耗較大。</p><p> 方案二:采用LCD液晶顯示</p><p> 采用1602 LCD液晶顯示,此方案顯示內容相對豐富,且價格不高。</p><p> 綜合上述原因,采用方案二,使用LCD液晶作顯示電路。</p>&
17、lt;p> 2.1.2 測溫電路方案</p><p> 方案一:采用模擬溫度傳感器測溫</p><p> 由于本設計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉換后,就可以用單片機進行數據的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到A/D轉換電路,感溫電路比較麻煩。</p><
18、p> 方案二:采用數字溫度傳感器</p><p> 進而考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進行轉換,就可以滿足設計要求。</p><p> 綜合考慮,很容易看出,采用方案二,電路比較簡單,軟件設計也比較簡單,故采用了方案二。</p>
19、<p> 2.2 系統(tǒng)總體方案</p><p> 根據上述方案比較,結合題目要可以將系統(tǒng)分為主控模塊,顯示模塊,溫度采集模塊和報警模塊,其框圖如下:</p><p> 圖2-1 系統(tǒng)總體設計框圖</p><p> 3 數字溫度計的硬件電路設計</p><p><b> 3.1 控制電路</b><
20、;/p><p> 3.1.1 MCU簡介</p><p> CPU是整個控制部分的核心。在考慮經濟性和滿足需求的前提下,本系統(tǒng)選用宏晶公司生產的8位STC89C52單片機作為整個系統(tǒng)的控制中心。</p><p> STC89C52是宏晶公司生產的低功耗,高性能CMOS8位單片機,片內含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用宏晶公司的高密度
21、、非易失性存儲技術生產,兼容標準8051指令系統(tǒng)及引腳,它集Flash存儲器既可在線編輯(ISP)也可用傳統(tǒng)方法進行編輯及通用8位微處理器于單片芯片中,功能強大STC89C52單片機可為您提供許多高性價比的應用場合。器管腳圖如圖3-2:</p><p> 圖3-1 STC89C52管腳圖</p><p> 在本系統(tǒng)中,STC89C52單片機內部的功能單元已經能夠滿足系統(tǒng)設計需要,不需
22、要系統(tǒng)擴展。</p><p> STC89C52具有以下的特點:</p><p> ● 8031 CPU與MCS-51 兼容</p><p> ● 壽命:1000寫/擦循環(huán)</p><p> ● 4K字節(jié)可編程FLASH存儲器</p><p> ● 全靜態(tài)工作:0--24MHz</p><
23、p> ● 三級程序存儲器保密鎖定</p><p> ● 128*8位內部RAM</p><p> ● 32條可編程I/O線</p><p> ● 兩個16位定時器/計數器</p><p><b> ● 6個中斷源</b></p><p><b> ● 可編程串行通道&l
24、t;/b></p><p> ● 低功耗的閑置和掉電模式</p><p> ● 片內振蕩器和時鐘</p><p> 除此之外,STC89C52RC單片機還具有看門狗內部外設。在工業(yè)控制/汽車電子/航空航天等需要高可靠性的系統(tǒng)中,為了防止“系統(tǒng)在異常情況下,受到干擾,MCU/CPU程序跑飛,導致系統(tǒng)長時間異常工作” ,通常是引進看門狗,如果MCU/CPU
25、不在規(guī)定的時間內按要求訪問看門狗,就認為MCU/CPU處于異常狀態(tài),看門狗就會強迫MCU/CPU復位,使系統(tǒng)重新從頭開始按規(guī)律執(zhí)行用戶程序。系統(tǒng)中單片機STC89C52RC中自帶看門狗電路。其寄存器設置相關信息如下:</p><p> 表3-1 STC89C52看門狗寄存器</p><p> STC89C52單片機看門狗復位時間是可以自行選擇和設置的,其設置方法是:</p>
26、;<p> 表3-2 看門狗定時器預分頻值</p><p> 3.2.2 最小系統(tǒng)模塊</p><p> 本次設計中,選用宏晶公司的51系列單片機STC89C52芯片作為電子密碼電源開關的數據處理及操作控制芯片。只有單片機芯片無法完成數據處理及控制功能,必須有附加的電路,使單片機芯片組成一個可運行的系統(tǒng)才能實現(xiàn)其功能。本次設計中,由STC89C52芯片連同附加電路構成
27、的單片機最小系統(tǒng)作為數據處理及控制模塊,其中,使用P0口作為1602液晶的數據傳輸口,P2口作1602的命令數據控制、時鐘、讀寫控制、和使能控制接口,P3口作按鍵掃描接口,P1.4作DS18B20的總線接口。P1.3作報警控制接口。其電路連接圖3-3如下:</p><p> 圖3-2 數據處理及控制模塊</p><p> 3.3 溫度傳感器設計</p><p>
28、 3.3.1 DS18B20簡介</p><p> DS18B20可以程序設定9~12位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設定,及用戶設定的報警溫度存儲在EPROM中,掉電后依然保存。</p><p> 溫度傳感器DS18B20引腳如圖3-4所示。</p><p> 圖3-3 DS18B20TO
29、-92封裝溫度傳感器</p><p><b> 引腳功能說明:</b></p><p> VDD :可選電源腳,電源電壓范圍3~5.5V。當工作于寄生電源時,此引腳必須接地。</p><p> DQ :數據輸入/輸出腳。漏極開路,常態(tài)下高電平。</p><p><b> GND :為電源地</b&
30、gt;</p><p> 圖3-4 DS18B20內部結構圖</p><p> DS18B20內部結構主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。</p><p> 光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產品類型標
31、號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。 </p><p> DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以0.0625℃/LSB形式表達,其中S為符號位。 <
32、/p><p> 這是12位轉化后得到的12位數據,存儲在18B20的兩個8比特的RAM中,二進制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數值需要取反加1再乘于0.0625即可得到實際溫度。 例如+125℃的數字輸出為07D0H,+25.0625℃的數字輸出為0191H,-25.0625℃的數字輸出為FF6FH,-55
33、℃的數字輸出為FC90H。 </p><p> DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結構寄存器。 </p><p> 暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)
34、是結構寄存器的易失性拷貝,這三個字節(jié)的內容在每一次上電復位時被刷新。第六、七、八個字節(jié)用于內部計算。第九個字節(jié)是冗余檢驗字節(jié)。 </p><p> 該字節(jié)各位的意義如下:</p><p> TM R1 R0 1 1 1 1 1</p><p> 低五位一直都是1 ,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設
35、置為0,用戶不要去改動。R1和R0用來設置分辨率,如表1所示:(DS18B20出廠時被設置為12位)</p><p> 表3-3 DS18B20溫度轉換時間表</p><p> 根據DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對DS18B20進行復位,復位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預定
36、的操作。復位要求主CPU將數據線下拉500微秒,然后釋放,DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。</p><p> 3.3.2 溫度傳感器與單片機的連接</p><p> 溫度傳感器的單總線(1-Wire)與單片機的P2.0連接,P2.0是單片機的高位地址線A8。P2端口是一個帶內部上拉電阻的8位雙向I/O,
37、其輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對該端口寫“1”,可通過內部上拉電阻將其端口拉至高電平,此時可作為輸入口使用,這是因為內部存在上拉電阻,某一引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數據存儲器時。如執(zhí)行MOVX DPTR指令,則表示P2端口送出高8位的地址數據。在訪問8位地址的外部數據存儲器時,可執(zhí)行MOVX RI指令,P2端口內容即為特殊功能寄存器(SFR)區(qū)中R2寄存器內容,
38、整個訪問期間不改變。在Flash編程和程序校驗時,P2端口也接收高位地址和其他控制信號。圖3-5為DSl8820內部結構。圖3-6為DSl8820與單片機的接口電路。</p><p> 圖3-5 DS18B20和單片機的接口連接</p><p> 3.3.3 復位信號及外部復位電路</p><p> 單片機的P1.6端口是MAX813看門狗電路中喂狗信號的輸
39、入端,即單片機每執(zhí)行一次程序就設置一次喂狗信號,清零看門狗器件。若程序出現(xiàn)異常,單片機引腳RST將出現(xiàn)兩個機器周期以上的高電平,使其復位。該復位信號高電平有效,其有效時間應持續(xù)24個振蕩脈沖周期即兩個機器周期以上。若使用頻率為12 MHz的晶體振蕩器,則復位信號持續(xù)時間應超過2μs才完成復位操作。</p><p> 圖3-6 復位電路</p><p> 3.4 單片機與報警電路<
40、;/p><p> 系統(tǒng)中的報警電路是由發(fā)光二極管和限流電阻組成,并與單片機的P1.2端口連接。P1端口的作用和接法與P2端口相同,不同的是在Flash編程和程序校驗期間,P1接收低8位地址數據。</p><p><b> 3.5 顯示電路</b></p><p> 采用技術成熟的74HCl64實現(xiàn)串并轉換。LCD顯示分為靜態(tài)顯示和動態(tài)顯示。這
41、里采用靜態(tài)顯示,系統(tǒng)通過單片機的串行口來實現(xiàn)靜態(tài)顯示。串行口為方式零狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的1/12。當器件執(zhí)行任何一條將SBUF作為目的寄存器的命令時,數據便開始從RXD端發(fā)送。在寫信號有效時,相隔一個機器周期后發(fā)送控制端SEND有效,即允許RXD發(fā)送數據,同時允許從TXD端輸出移位脈沖。圖3-7為顯示電路的連接圖。</p><p> 圖3-7 顯示電路的連接圖</p>
42、<p><b> 4 軟件設計</b></p><p> 4.1 DS18b20的讀操作</p><p> DSl8B20的主要數據元件有:64位激光Lasered ROM,溫度靈敏元件和非易失性溫度告警觸發(fā)器TH和TL。DSl8B20可以從單總線獲取電源,當信號線為高電平時,將能量貯存在內部電容器中;當單信號線為低電平時,將該電源斷開,直到信號線變
43、為高電平重新接上寄生(電容)電源為止。此外,還可外接5 V電源,給DSl8B20供電。DSl8B20的供電方式靈活,利用外接電源還可增加系統(tǒng)的穩(wěn)定性和可靠性。DS18B20讀寫時序如圖4-1~4-3:</p><p> 圖4-1 DS18B20的復位時序圖</p><p> 圖4-2 DS18B20的寫數據時序圖</p><p> 圖4-3 DS18B2
44、0的讀數據時序圖</p><p> 由時序圖可知,DS18B20在復位時需要480us的低電平,等待15us后MCU將總線拉高,等待DS18B20的響應信號;DS18B20在寫數據時分為寫“0”和寫“1”操作,寫“0”操作時,DS18B20需要至少60us的總線被拉低,然后在60us內將“0”寫入DS18B20中,持續(xù)時間至少1us,寫“1”操作是只需將寫入的“0”改為“1”即可;DS18B20讀操作也分為讀“
45、0”和讀“1”操作,讀“0”操作時,總線需要15us被拉低,再拉高45us,然后再15us內將數據讀走,讀“1”操作同讀“0”操作。程序流程圖如圖4-4:</p><p> 圖4-4 DS18B20讀取溫度的流程圖</p><p> 4.2 DS18b20的溫度數據處理</p><p> 讀出溫度數據后,LOW的低四位為溫度的小數部分,可以精確到0.0625
46、℃,LOW的高四位和HIGH的低四位為溫度的整數部分,HIGH的高四位全部為1表示負數,全為0表示正數。所以先將數據提取出來,分為三個部分:小數部分、整數部分和符號部分。小數部分進行四舍五入處理:大于0.5℃的話,向個位進1;小于0.5℃的時候,舍去不要。當數據是個負數的時候,顯示之前要進行數據轉換,將其整數部分取反加一。還因為DS18B20最低溫度只能為-55℃,所以可以將整數部分的最高位換成一個“-”,表示為負數。圖4-2為溫度數據
47、處理程序的流程圖。</p><p> 圖4-5 溫度數據處理流程圖</p><p> 4.3 1602顯示部分</p><p> 1602的讀寫時序圖如下:</p><p> 圖4-6 1602液晶的讀時序圖</p><p> 圖4-7 1602的寫時序圖</p><p> 根
48、據以上時序圖可以得出讀寫程序流程圖如下:</p><p><b> 5 數據測試</b></p><p> 用手觸屏溫度傳感器,可以發(fā)現(xiàn)溫度大概顯示為32度左右。將溫度傳感器與塑料袋裝的冰水混合物接觸,觀察液晶顯示的溫度是否為零度。</p><p><b> 6 結語</b></p><p>
49、 本文重點介紹了單片機和數字傳感器DS18B20的原理和功能,并用DS18B20與STC89C52單片機、LCD1602組成數字溫度計,有超溫報警功能。</p><p> 在本次設計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設計但這次設計真的讓我長進了很多,單片機課程設計重點就在于軟件算法的設計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,舉個例子,以前寫的那幾
50、次,數據加減時,我用的都是BCD碼,這一次,我全部用的都是16進制的數直接加減,顯示處理時在用除法去刪分,感覺效果比較好,有好多的東西,只有我們去試著做了,才能真正的掌握,只學習理論有些東西是很難理解的,更談不上掌握。</p><p><b> 參考文獻</b></p><p><b> 【1】作著:姜濤</b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的數字溫度計畢業(yè)論文
- 畢業(yè)論文——基于單片機的數字溫度計
- 畢業(yè)論文---單片機數字溫度計設計
- 基于單片機的數字溫度計設計【畢業(yè)論文】
- 畢業(yè)論文---基于單片機的數字溫度計設計
- 基于單片機的數字溫度計設計畢業(yè)論文
- 基于單片機的數字溫度計設計畢業(yè)論文
- 畢業(yè)論文---基于單片機的數字溫度計的設計
- 畢業(yè)論文---基于單片機的數字溫度計的設計
- 基于51單片機數字溫度計顯示設計畢業(yè)論文
- 畢業(yè)論文范文——基于單片機的數字溫度計設計
- 畢業(yè)論文---基于單片機的數字溫度計(含外文翻譯)
- 畢業(yè)論文范文——基于單片機的數字溫度計設計
- 論文--基于單片機的數字溫度計設計
- 基于單片機的數字溫度計設計論文
- 基于單片機的數字溫度計設計論文
- 畢業(yè)論文---基于單片機的數字溫度計(含外文翻譯)
- 基于單片機的數字溫度計畢業(yè)論文(含外文翻譯)
- 基于單片機的數字溫度計畢業(yè)設計論文
- 畢業(yè)論文---基于單片機的數字溫度計設計(含外文翻譯)
評論
0/150
提交評論