畢業(yè)設計(論文)基于單片機的數字溫度計設計1_第1頁
畢業(yè)設計(論文)基于單片機的數字溫度計設計1_第2頁
畢業(yè)設計(論文)基于單片機的數字溫度計設計1_第3頁
畢業(yè)設計(論文)基于單片機的數字溫度計設計1_第4頁
畢業(yè)設計(論文)基于單片機的數字溫度計設計1_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、選題: 基于單片機的數字溫度計設計姓 名:學 號:01專 業(yè):電器自動化指導教師:完成時間:2012.3.19摘要本文提出了基于mcs-51系列單片機的數字溫度計的制作電路和編程思想。該數字溫度計以宏晶公司的stc89c52 單片機為主控,配以達拉斯公司的ds18b20數字溫度傳感器,采用1602雙行英文字符液晶作顯示。實現了對溫度的測量,顯示,和報警等功能。關鍵詞: stc89c52單片機;數字傳感器ds18b20;顯示器lcd;目 錄摘要iabstractii1 緒論21.1 選題的背景21.2 數字溫度計簡介21.2.1 數字溫度計的特征21.2.2 設計實現的目標32 數字溫度計的方案

2、設計42.1 設計方案論證與比較42.1.1 顯示電路方案42.1.2 測溫電路方案42.2 系統(tǒng)總體方案43 數字溫度計的硬件電路設計53.1 控制電路53.1.1 mcu簡介53.2.2 最小系統(tǒng)模塊63.3 溫度傳感器設計73.3.1 ds18b20簡介73.3.2 溫度傳感器與單片機的連接93.3.3 復位信號及外部復位電路103.4 單片機與報警電路103.5 顯示電路104 軟件設計124.1 ds18b20的讀操作124.2 ds18b20的溫度數據處理134.3 1602顯示部分145 數據測試16參考文獻18附錄1 程序源代碼191 緒論1.1 選題的背景隨著現代信息技術的飛

3、速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現能夠獨立工作的溫度檢測和顯示系統(tǒng)應用于諸多領域。傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準確度低,檢測系統(tǒng)也有一定的誤差。與傳統(tǒng)的溫度計相比,這里設計的數字溫度計具有讀數方便,測溫范圍廣,測溫精確,數字顯示,適用范圍寬等特點。選用stc89c52單片機作為主控制器件,dsl8b20作為測溫傳感器通過lcd1602并行傳送數據,實現溫度顯示。通過dsl8b20直接讀取被測溫度值,進行數據轉換,該器件的物理化學性能穩(wěn)定,線性度較好,在-55125最大線性偏差小于0.1。該器件可直接向單片機傳輸數字信號,便

4、于單片機處理及控制。另外,該溫度計還能直接采用測溫器件測量溫度,從而簡化數據傳輸與處理過程。1.2 數字溫度計簡介1.2.1 數字溫度計的特征溫度是我們日常生產和生活中實時在接觸到的物理量,但是它是看不到的,僅憑感覺只能感覺到大概的溫度值,傳統(tǒng)的指針式的溫度計雖然能指示溫度,但是精度低,使用不夠方便,顯示不夠直觀,數字溫度計的出現可以讓人們直觀的了解自己想知道的溫度到底是多少度。數字溫度計采用進口芯片組裝精度高、高穩(wěn)定性,誤差0.5%, 內電源、微功耗、不銹鋼外殼,防護堅固,美觀精致。數字溫度計采用進口高精度、低溫漂、超低功耗集成電路和寬溫型液晶顯示器,內置高能量電池連續(xù)工作5年無需敷設供電電

5、纜,是一種精度高、穩(wěn)定性好、適用性極強的新型現場溫度顯示儀。是傳統(tǒng)現場指針雙金屬溫度計的理想替代產品,廣泛應用于各類工礦企業(yè),大專院校,科研院所。數字溫度計采用溫度敏感元件也就是溫度傳感器(如鉑電阻,熱電偶,半導體,熱敏電阻等),將溫度的變化轉換成電信號的變化,如電壓和電流的變化,溫度變化和電信號的變化有一定的關系,如線性關系,一定的曲線關系等,這個電信號可以使用模數轉換的電路即ad轉換電路將模擬信號轉換為數字信號,數字信號再送給處理單元,如單片機或者pc機等,處理單元經過內部的軟件計算將這個數字信號和溫度聯系起來,成為可以顯示出來的溫度數值,如25.0攝氏度,然后通過顯示單元,如led,lc

6、d或者電腦屏幕等顯示出來給人觀察。這樣就完成了數字溫度計的基本測溫功能。數字溫度計根據使用的傳感器的不同,ad轉換電路,及處理單元的不同,它的精度,穩(wěn)定性,測溫范圍等都有區(qū)別,這就要根據實際情況選擇符合規(guī)格的數字溫度計。1.2.2 設計實現的目標1) 測溫基本范圍-55125。2) 測溫精度誤差小于或等于0.5。3) 超溫報警。4) lcd屏幕顯示實時溫度。2 數字溫度計的方案設計2.1 設計方案論證與比較2.1.1 顯示電路方案方案一:采用數碼管動態(tài)顯示使用七段led數碼管,采用動態(tài)顯示的方法來顯示各項指標,此方法雖然價格成本低,但是顯示單一,且功耗較大。方案二:采用lcd液晶顯示采用160

7、2 lcd液晶顯示,此方案顯示內容相對豐富,且價格不高。綜合上述原因,采用方案二,使用lcd液晶作顯示電路。2.1.2 測溫電路方案方案一:采用模擬溫度傳感器測溫由于本設計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行a/d轉換后,就可以用單片機進行數據的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到a/d轉換電路,感溫電路比較麻煩。方案二:采用數字溫度傳感器進而考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器ds18b20,此傳感器,可以很容易直接讀取被測溫度值,

8、進行轉換,就可以滿足設計要求。綜合考慮,很容易看出,采用方案二,電路比較簡單,軟件設計也比較簡單,故采用了方案二。2.2 系統(tǒng)總體方案根據上述方案比較,結合題目要可以將系統(tǒng)分為主控模塊,顯示模塊,溫度采集模塊和報警模塊,其框圖如下:驅動顯示報警電路看門狗 mcu ds18b20溫度數據采集圖2-1 系統(tǒng)總體設計框圖3 數字溫度計的硬件電路設計3.1 控制電路3.1.1 mcu簡介cpu是整個控制部分的核心。在考慮經濟性和滿足需求的前提下,本系統(tǒng)選用宏晶公司生產的8位stc89c52單片機作為整個系統(tǒng)的控制中心。stc89c52是宏晶公司生產的低功耗,高性能cmos8位單片機,片內含4k byt

9、es的可系統(tǒng)編程的flash只讀程序存儲器,器件采用宏晶公司的高密度、非易失性存儲技術生產,兼容標準8051指令系統(tǒng)及引腳,它集flash存儲器既可在線編輯(isp)也可用傳統(tǒng)方法進行編輯及通用8位微處理器于單片芯片中,功能強大stc89c52單片機可為您提供許多高性價比的應用場合。器管腳圖如圖3-2:圖3-1 stc89c52管腳圖在本系統(tǒng)中,stc89c52單片機內部的功能單元已經能夠滿足系統(tǒng)設計需要,不需要系統(tǒng)擴展。stc89c52具有以下的特點: 8031 cpu與mcs-51 兼容 壽命:1000寫/擦循環(huán) 4k字節(jié)可編程flash存儲器 全靜態(tài)工作:0-24mhz 三級程序存儲器保

10、密鎖定 128*8位內部ram 32條可編程i/o線 兩個16位定時器/計數器 6個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內振蕩器和時鐘除此之外,stc89c52rc單片機還具有看門狗內部外設。在工業(yè)控制/汽車電子/航空航天等需要高可靠性的系統(tǒng)中,為了防止“系統(tǒng)在異常情況下,受到干擾,mcu/cpu程序跑飛,導致系統(tǒng)長時間異常工作” ,通常是引進看門狗,如果mcu/cpu 不在規(guī)定的時間內按要求訪問看門狗,就認為mcu/cpu處于異常狀態(tài),看門狗就會強迫mcu/cpu復位,使系統(tǒng)重新從頭開始按規(guī)律執(zhí)行用戶程序。系統(tǒng)中單片機stc89c52rc中自帶看門狗電路。其寄存器設置相關信息如

11、下:表3-1 stc89c52看門狗寄存器stc89c52單片機看門狗復位時間是可以自行選擇和設置的,其設置方法是:表3-2 看門狗定時器預分頻值3.2.2 最小系統(tǒng)模塊本次設計中,選用宏晶公司的51系列單片機stc89c52芯片作為電子密碼電源開關的數據處理及操作控制芯片。只有單片機芯片無法完成數據處理及控制功能,必須有附加的電路,使單片機芯片組成一個可運行的系統(tǒng)才能實現其功能。本次設計中,由stc89c52芯片連同附加電路構成的單片機最小系統(tǒng)作為數據處理及控制模塊,其中,使用p0口作為1602液晶的數據傳輸口,p2口作1602的命令數據控制、時鐘、讀寫控制、和使能控制接口,p3口作按鍵掃描

12、接口,p1.4作ds18b20的總線接口。p1.3作報警控制接口。其電路連接圖3-3如下:圖3-2 數據處理及控制模塊3.3 溫度傳感器設計3.3.1 ds18b20簡介ds18b20可以程序設定912位的分辨率,精度為0.5c??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設定,及用戶設定的報警溫度存儲在eprom中,掉電后依然保存。溫度傳感器ds18b20引腳如圖3-4所示。圖3-3 ds18b20to92封裝溫度傳感器引腳功能說明:vdd :可選電源腳,電源電壓范圍35.5v。當工作于寄生電源時,此引腳必須接地。dq :數據輸入/輸出腳。漏極開路,常態(tài)下高電平。gnd :為電源地圖3-4

13、 ds18b20內部結構圖ds18b20內部結構主要由四部分組成:64位光刻rom、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th和tl、配置寄存器。光刻rom中的64位序列號是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼。64位光刻rom的排列是:開始8位(28h)是產品類型標號,接著的48位是該ds18b20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(crc=x8+x5+x4+1)。光刻rom的作用是使每一個ds18b20都各不相同,這樣就可以實現一根總線上掛接多個ds18b20的目的。 ds18b20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進

14、制補碼讀數形式提供,以0.0625/lsb形式表達,其中s為符號位。 這是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的數字輸出為fc90h。 ds18b20溫度傳感器的內部存儲器包括一個高速暫存ram和一個非易失性的可電擦除的e2ram,后者存放高溫

15、度和低溫度觸發(fā)器th、tl和結構寄存器。 暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是th、tl的易失性拷貝,第五個字節(jié)是結構寄存器的易失性拷貝,這三個字節(jié)的內容在每一次上電復位時被刷新。第六、七、八個字節(jié)用于內部計算。第九個字節(jié)是冗余檢驗字節(jié)。 該字節(jié)各位的意義如下:tm r1 r0 1 1 1 1 1低五位一直都是1 ,tm是測試模式位,用于設置ds18b20在工作模式還是在測試模式。在ds18b20出廠時該位被設置為0,用戶不要去改動。r1和r0用來設置分辨率,如表1所示:(ds18b20出廠時被

16、設置為12位)表3-3 ds18b20溫度轉換時間表r1r0分辨率/位溫度最大轉向時間00993.750110187.510113751112750根據ds18b20的通訊協議,主機控制ds18b20完成溫度轉換必須經過三個步驟:每一次讀寫之前都要對ds18b20進行復位,復位成功后發(fā)送一條rom指令,最后發(fā)送ram指令,這樣才能對ds18b20進行預定的操作。復位要求主cpu將數據線下拉500微秒,然后釋放,ds18b20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主cpu收到此信號表示復位成功。3.3.2 溫度傳感器與單片機的連接溫度傳感器的單總線(1-wire)與單

17、片機的p20連接,p20是單片機的高位地址線a8。p2端口是一個帶內部上拉電阻的8位雙向io,其輸出緩沖級可驅動(吸收或輸出電流)4個ttl邏輯門電路。對該端口寫“1”,可通過內部上拉電阻將其端口拉至高電平,此時可作為輸入口使用,這是因為內部存在上拉電阻,某一引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數據存儲器時。如執(zhí)行movx dptr指令,則表示p2端口送出高8位的地址數據。在訪問8位地址的外部數據存儲器時,可執(zhí)行movx ri指令,p2端口內容即為特殊功能寄存器(sfr)區(qū)中r2寄存器內容,整個訪問期間不改變。在flash編程和程序校驗時,p2端口也接收高

18、位地址和其他控制信號。圖3-5為dsl8820內部結構。圖3-6為dsl8820與單片機的接口電路。圖3-5 ds18b20和單片機的接口連接3.3.3 復位信號及外部復位電路單片機的p1.6端口是max813看門狗電路中喂狗信號的輸入端,即單片機每執(zhí)行一次程序就設置一次喂狗信號,清零看門狗器件。若程序出現異常,單片機引腳rst將出現兩個機器周期以上的高電平,使其復位。該復位信號高電平有效,其有效時間應持續(xù)24個振蕩脈沖周期即兩個機器周期以上。若使用頻率為12 mhz的晶體振蕩器,則復位信號持續(xù)時間應超過2s才完成復位操作。圖3-6 復位電路3.4 單片機與報警電路系統(tǒng)中的報警電路是由發(fā)光二極

19、管和限流電阻組成,并與單片機的p1.2端口連接。p1端口的作用和接法與p2端口相同,不同的是在flash編程和程序校驗期間,p1接收低8位地址數據。3.5 顯示電路采用技術成熟的74hcl64實現串并轉換。lcd顯示分為靜態(tài)顯示和動態(tài)顯示。這里采用靜態(tài)顯示,系統(tǒng)通過單片機的串行口來實現靜態(tài)顯示。串行口為方式零狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的1/12。當器件執(zhí)行任何一條將sbuf作為目的寄存器的命令時,數據便開始從rxd端發(fā)送。在寫信號有效時,相隔一個機器周期后發(fā)送控制端send有效,即允許rxd發(fā)送數據,同時允許從txd端輸出移位脈沖。圖3-7為顯示電路的連接圖。圖3-7 顯示

20、電路的連接圖4 軟件設計4.1 ds18b20的讀操作dsl8b20的主要數據元件有:64位激光lasered rom,溫度靈敏元件和非易失性溫度告警觸發(fā)器th和tl。dsl8b20可以從單總線獲取電源,當信號線為高電平時,將能量貯存在內部電容器中;當單信號線為低電平時,將該電源斷開,直到信號線變?yōu)楦唠娖街匦陆由霞纳?電容)電源為止。此外,還可外接5 v電源,給dsl8b20供電。dsl8b20的供電方式靈活,利用外接電源還可增加系統(tǒng)的穩(wěn)定性和可靠性。ds18b20讀寫時序如圖4-14-3:圖4-1 ds18b20的復位時序圖圖4-2 ds18b20的寫數據時序圖圖4-3 ds18b20的讀數

21、據時序圖由時序圖可知,ds18b20在復位時需要480us的低電平,等待15us后mcu將總線拉高,等待ds18b20的響應信號;ds18b20在寫數據時分為寫“0”和寫“1”操作,寫“0”操作時,ds18b20需要至少60us的總線被拉低,然后在60us內將“0”寫入ds18b20中,持續(xù)時間至少1us,寫“1”操作是只需將寫入的“0”改為“1”即可;ds18b20讀操作也分為讀“0”和讀“1”操作,讀“0”操作時,總線需要15us被拉低,再拉高45us,然后再15us內將數據讀走,讀“1”操作同讀“0”操作。程序流程圖如圖4-4:開始ds18b20的初始化啟動溫度轉換讀取溫度寄存器跳過讀序

22、列號的操作跳過讀序列號的操作ds18b20的初始化retlow-低八位 high-高八位圖4-4 ds18b20讀取溫度的流程圖4.2 ds18b20的溫度數據處理讀出溫度數據后,low的低四位為溫度的小數部分,可以精確到0.0625,low的高四位和high的低四位為溫度的整數部分,high的高四位全部為1表示負數,全為0表示正數。所以先將數據提取出來,分為三個部分:小數部分、整數部分和符號部分。小數部分進行四舍五入處理:大于0.5的話,向個位進1;小于0.5的時候,舍去不要。當數據是個負數的時候,顯示之前要進行數據轉換,將其整數部分取反加一。還因為ds18b20最低溫度只能為-55,所以可以將整數部分的最高位換成一個“-”,表示為負數。圖4-2為溫度數據處理程序的流程圖。開始提取整數部分存入

溫馨提示

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

評論

0/150

提交評論