單片機課程設計報告基于51單片機和LCD1602的溫度檢測系統(tǒng)_第1頁
單片機課程設計報告基于51單片機和LCD1602的溫度檢測系統(tǒng)_第2頁
單片機課程設計報告基于51單片機和LCD1602的溫度檢測系統(tǒng)_第3頁
單片機課程設計報告基于51單片機和LCD1602的溫度檢測系統(tǒng)_第4頁
單片機課程設計報告基于51單片機和LCD1602的溫度檢測系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設計報告題目: 溫度檢測系統(tǒng)設計者1: * 負責任務:硬件與部分軟件 專業(yè)班級/學號: 07應用電子(4)班 * 設計者2: * 負責任務:protel畫板與部分軟件 專業(yè)班級/學號: 07應用電子(4)班 * 指導教師1: * 指導教師2: *答辯時間: 2010-01-11 一、選題的背景1、說明選題的來源、意義和目的1.1、來源在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。溫度無時無刻不在,同樣也時時刻刻都在變化,為了讓人們能更直觀的看出此時此刻此地的實時溫度,我就利用了單片機來完成這一功能。1.2、意義溫度的檢測與控

2、制在現(xiàn)代經(jīng)濟與社會中有舉足輕重的地位,與我們的生活息息相關,密不可分,越發(fā)占有一席之地。例如在儲糧倉庫、智能樓宇、空調(diào)控制及其他的工農(nóng)業(yè)生產(chǎn)和科學研究中應用廣泛。在溫度的檢測與控制方面,ds18b20小型溫度檢測系統(tǒng)及其數(shù)字溫度傳感器有許多突出的優(yōu)點,其通過單總線與單片機連接,系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強,適合于惡劣環(huán)境下進行現(xiàn)場溫度檢測,因此對于我們來設計并研究基于ds18b20的溫度檢測系統(tǒng)有主要的現(xiàn)實意義,從一方面講這不僅對于工農(nóng)業(yè)的發(fā)展,更對于國防的鞏固與建設起到重要的作用;另一方面,本設計能夠在一定程度上提高自己的單片機開發(fā)能力。1.3、目的(1)本實驗要實現(xiàn)的是通過ds18b20溫度

3、傳感器采集溫度并在lcd上顯示,并學會使用單片機控制ds18b20此類單總線器件,并對數(shù)字溫度傳感器ds18b0進行時序分析。 (2)更進一步了解lcd1602的應用。(3)掌握單片機與pc的遠程通信。2、課題承擔人員及分工說明*:(1)主要負責電路板的制作、焊接與調(diào)試。(2)電路的仿真。(3)溫度主要程序的編寫與調(diào)試。*:(1)protel畫板,材料的收集。(2)串口的調(diào)試與程序編寫。(3)vb界面的設計和上位機程序的編寫。二、課題總體設計說明1、說明總體開發(fā)計劃和課題所達到的功能目標和技術(shù)指標1.1、總體開發(fā)計劃1.1.1、基本功能(1)以數(shù)字傳感器ds1820作為前端采集溫度,經(jīng)過單片機

4、處理后,將外部的溫度顯示在液晶屏上。(2)可用通過獨立式按鍵來設定溫度的上限值和下限值,當壞境溫度超過上限值或低于下限值時蜂鳴器會自動報警,并在液晶屏上提示溫度大于上限值或溫度小于下限值。(3)當單片機檢測到ds18b20存在時會在在lcd1602上顯示“ds18b20 succes”,反之則顯示“ds18b20 is wrong,temp is no on”。1.1.2、擴展功能以數(shù)字傳感器ds1820作為前端采集溫度,經(jīng)過單片機處理后,再通過串口通信,把實時溫度值、上限值和下限值顯示在用vb語言編輯的計算機軟件的界面上并顯示出實時溫度的變化曲線,當實時溫度超過所設定的上限值和下限值時會在用

5、vb語言編輯的計算機軟件的界面上提示當前溫度超過上限值或下限值,模擬實現(xiàn)設備與計算機的通信,通過計算機對設備的溫度檢測以及實時監(jiān)控。1.2、課題所達到的功能目標和技術(shù)指標(1)能在lcd1602上準確的顯示出實時溫度;(2)獨立式按鍵能設置報警溫度的上限值、下限值和查看所設定的上限值、下限值;(3)當溫度大于上限值或低于下限值時蜂鳴器會報警;(4)通過串口和pc機連接,能夠把實時溫度值、上限值和下限值顯示在用vb語言編輯的計算機軟件的界面上并顯示出實時溫度的變化曲線,當實時溫度超過所設定的上限值和下限值時會在用vb語言編輯的計算機軟件的界面上提示當前溫度超過上限值或下限值??傊?,課題所達到的功

6、能和技術(shù)指標與前期計劃的一樣。2、計劃課題總體設計方案,比較幾個備選方案,確定最終方案(1)本系統(tǒng)的溫度檢測有兩套方案方案一:采用ad590,使用ad590作為溫度傳感器,需要進行電流電壓變換,電壓放大以及a/d轉(zhuǎn)換。方案二:采用ds18b20作為溫度傳感器進行溫度測量。ds18b20可以滿足從-55攝氏度到+125攝氏度測量范圍,在一秒內(nèi)把溫度轉(zhuǎn)化成數(shù)字,測得的溫度值的存儲在兩個八位的ram中,單片機直接從中讀出數(shù)據(jù)轉(zhuǎn)換成十進制就是溫度,使用方便。另外采用外加電源供電對ds18b20的vdd引腳供電。它的好處是無須mosfet,而且在溫度轉(zhuǎn)換期間總線可自由搭載其它器件。它試用于對性能要求不高

7、,成本嚴格控制的應用,是經(jīng)濟型產(chǎn)品。它具有線性好、精度適中、靈敏度高、體積小和使用方便等優(yōu)點,得到廣泛應用。因為ad590需要模擬轉(zhuǎn)數(shù)字電路,精確度低,測溫點數(shù)少對線阻有要求,電路繁多,成本也較高,故本系統(tǒng)采用方案二。(2)本系統(tǒng)的顯示有兩套方案方案一:數(shù)碼管顯示方案二:液晶顯示采用1602字符型lcd,它是一種專門用于顯示字母、數(shù)字、符號等點陣式lcd。其有顯示質(zhì)量高、數(shù)字接口、功耗低、體積小等優(yōu)點。因為數(shù)碼管只能顯示數(shù)字和簡單的字母,lcd可以顯示字符,圖形等,并能更形象的體現(xiàn)出字符與圖像。故本系統(tǒng)采用方案二。(3)按鍵的選擇方案一:行列式按鍵方案二:獨立式按鍵獨立式按鍵電路配置靈活,硬件

8、結(jié)構(gòu)簡單,但每個按鍵必須占用一根i/o口線。在按鍵數(shù)量較多時,i/o口浪費較大。故只在按鍵數(shù)量不多時,采用這種按鍵。因為本系統(tǒng)只用到4個按鍵且i/o口夠用,所以采用方案二。(4)單片機的選擇本系統(tǒng)采用了51單片機,其體積小巧,攜帶方便,價格便宜。且usb接口通訊及供電,通訊速度快,無須外接電源。51單片機有一個全雙工的串通信口,非常適合與電腦進行通信。三、硬件設計說明1、硬件總體設計方案1.1、硬件設計目標本系統(tǒng)中通過溫度傳感器ds18b20的數(shù)據(jù)線dq與主控芯片51單片機的p3.3相連接,ds18b20將采集到的數(shù)據(jù)送給單片機,經(jīng)過單片機出來后,顯示在8位數(shù)據(jù)線與單片機p0口的液晶lcd上。

9、蜂鳴器經(jīng)過三極管9012的驅(qū)動后接到單片機的p3.7,來實現(xiàn)當實時溫度大于下限或高于上限的報警。4個按鍵k1k4接到單片機的p1.0p1.4,來實現(xiàn)對上限值和下限值的查看與設定。串口經(jīng)過max232的電平轉(zhuǎn)換后r1 out和t1 in接到單片機的rxd與txd來實現(xiàn)與用vb語言編輯的計算機軟件的界面間的通信。液晶lcd的rs、e分別接到單片機的p2.0p2.2來實現(xiàn)單片機控制液晶的讀寫命令和數(shù)據(jù)的控制。1.2、硬件功能模塊劃分主控芯片顯示模塊控制模塊溫度檢測模塊通信模塊(1)at89s51:實現(xiàn)對整個系統(tǒng)的控制。(2)ds18b20、lcd1602:溫度傳感器ds18b20的數(shù)據(jù)線dq與主控芯

10、片51單片機的p3.3相連接,ds18b20將采集到的數(shù)據(jù)送給單片機,經(jīng)過單片機處理后,顯示在8位數(shù)據(jù)線與單片機p0口的液晶lcd上。(3)按鍵輸入:對報警溫度上限值th和下限值tl的設置。(4)串口通信:實現(xiàn)與與用vb語言編輯的計算機軟件的界面間的通信。1.3、主控芯片和關鍵元器件的選型、接口和連接方式定義1.3.1、主控芯片和關鍵元器件的選型(1)主控芯片:at89s51(2)溫度采集:ds18b20 (3)按鍵:獨立式按鍵(k1k4)(4)顯示:lcd1602(5)串口:通過max232與單片機的10腳11腳相連(6)報警:蜂鳴器1.3.2、接口和連接方式定義(1)液晶lcd1602的數(shù)

11、據(jù)和指令選擇控制端rs接到單片機的p2.0,讀寫控制接到單片節(jié)的p2.1,數(shù)據(jù)讀寫控制位e接到單片機的p2.2,8位數(shù)據(jù)線db0db7接到單片機的p0口。(2)4個按鍵k1k4分別接到單片機的p1.0p1.3。(3)蜂鳴器接到單片機的p3.7。(4)ds18b20的dq接到單片機的p3.3.2、硬件單元設計(1)主控電路:實現(xiàn)對整個系統(tǒng)的控制(2)串口通信電路:串口經(jīng)過max232的電平轉(zhuǎn)換后r1 out和t1 in接到單片機的rxd與txd來實現(xiàn)與用vb語言編輯的計算機軟件的界面間的通信。(3)液晶lcd1602、ds18b20電路:溫度傳感器ds18b20的數(shù)據(jù)線dq與主控芯片51單片機的

12、p3.3相連接,ds18b20將采集到的數(shù)據(jù)送給單片機,經(jīng)過單片機處理后,顯示在8位數(shù)據(jù)線與單片機p0口的液晶lcd上。(4)按鍵、蜂鳴器電路:按鍵k1用來查看所設置的上限溫度th、下限溫度tl和設置上限溫度th、下限溫度tl增加或減少的切換,k2用來設置上限溫度th,k3用來設置下限溫度tl和查看上限溫度和下限溫度的退出,k4是設置好上限溫度和上限溫度的確定鍵;蜂鳴器用來當實時溫度大于th或tl的報警。四、軟件設計說明1、軟件總體設計方案1.1、軟件設計目標(1)結(jié)構(gòu)合理程序應該采用結(jié)構(gòu)模塊化設計。這不僅有利于程序的進一步擴充,而且也有利于程序的修改和維護。在程序編程時,要盡量使得程序的層次

13、分明。易于閱讀和理解,同時還可以簡化程序減小程序?qū)τ趦?nèi)存的使用量,當程序中有經(jīng)常需要加以修改或變化的參數(shù)時,應該設計成獨立的參數(shù)傳遞群序,避免程序的頻繁修改。(2)操作性能好操作性能好是指使用方便。這點是、對數(shù)據(jù)采集系統(tǒng)來說是很重要的。在開發(fā)程序時,應該考慮如何降低對操作人員專業(yè)知識的要求。(3)系統(tǒng)應設計一定的檢測程序例如狀態(tài)檢測利于診斷程序,以便系統(tǒng)發(fā)生故障時容易確定故障部位,對于重要的參數(shù)要定時存儲,以防止因掉電而丟失數(shù)據(jù)。(4)提高程序的執(zhí)行速度。1.2、軟件功能模塊劃分子程序名標號參數(shù)讀取溫度子程序re_temp累加器a溫度數(shù)據(jù)處理子程序set_data無按鍵掃描子程序p_key無設

14、定報警值th、tl子程序set_alarmr5菜單顯示子程序lcd_print無顯示信息區(qū)子程序look_alarm累加器alcd的第二行顯示高溫度子程序show_line2h30hlcd的第二行顯示低溫度子程序show_line2l30h溫度值比較子程序temp_comp無顯示高、溫度及加熱標記子程序temp_bj3r0、r1報警上下限寫入暫存器子程序wr_thl無報警值拷貝到eerom子程序write_e2無報警值拷貝回暫存器子程序re_thl無處理溫度bcd碼子程序con_tempr4顯示區(qū)bcd碼溫b度刷新子程序disp_bcd70h、71h、72h、73hds18b20復位初始化子程

15、序reset_1820無寫入ds18b20子程序write_1820a讀出ds18b20子程序read_182025h、26h、27h、28hlcd1602顯示子程序set_lcd無lcd初始化子程序init_lcd無lcd顯示子程序conv無寫指令子程序wr_comm無寫數(shù)據(jù)子程序wr_data無清楚lcd字符子程序clr_line無鳴響子程序spk_b2無延時子程序delay無顯示“ok”信息子程序xs_s無顯示“error”信息子程序xs_wrong無顯示溫度標記“c”子程序temp_bj無自定義字符子程序sect_datar3串口發(fā)送子程序send1無2、軟件設計2.1、主程序主程序首

16、先設置堆棧為5fh,設置定時器工作方式t1為方式2,設置串口方式。接著開始啟動定時器,調(diào)用lcd初始化子程序,調(diào)用ds18b20復位子程序去判斷ds18b20是否存在,如果存在調(diào)用顯示“success”子程序,接著調(diào)用上下限寫入暫存器子程序,把eerom里的溫度報警值拷貝回暫存器,調(diào)用讀取溫度子程序,調(diào)用處理顯示子程序,調(diào)用實際溫度值與標記溫度值比較子程序,調(diào)用按鍵掃描子程序后返回到調(diào)用讀取溫度子程序;如果ds18b20不存在,則調(diào)用顯示“wrong”信息子程序后返回到調(diào)用ds18b20復位子程序。(1)流程圖(2)重要代碼2.2、鍵掃描子程序按鍵掃描子程序首先判斷按鍵k1是否按下,如果按下就

17、掉用鳴響子程序,接著判斷k1是否放開,直到k1放開,存m-alax表,調(diào)用顯示字符子程序,然后去判斷k3是否按下,直到k3按下,調(diào)用鳴響子程序,調(diào)用顯示“ok”信息子程序,最后放回;如果k1沒有按下去判斷k2是否按下,如果沒按下就跳到返回,如果有按下就調(diào)用鳴響子程序,然后去判斷k3是否放開直到k3放開才存ta1表,接著調(diào)用顯示字符子程序,調(diào)用設定報警th、tl子程序,調(diào)用報警上下限寫入暫存器子程序,調(diào)用報警值拷貝eerom子程序,最后跳到調(diào)用顯示“ok”信息子程序。(1)流程圖(2)重要代碼2.3、lcd顯示子程序lcd顯示子程序開始先讓lcd初始化,接著光標定位,顯示字符,最后放回。(1)流

18、程圖開 始lcd 初始化光標定位顯示字符結(jié) 束(2)重要代碼五、軟硬件調(diào)試說明1、硬件性能測試(1)lcd 測試:通過單片機小系統(tǒng)將所需要的字符送給lcd,lcd能正常顯示出所送內(nèi)容,且lcd的亮度可調(diào)。(2)按鍵與蜂鳴器:通過單片機小系統(tǒng)使蜂鳴器受按鍵的控制,即按下按鍵蜂鳴器響,放開即停。(3)串口:先用串口調(diào)試助手,讓單片機發(fā)出簡單的字符,串口調(diào)試助手能正常接收到數(shù)據(jù)即可。再將串口與vb相連接。注意:串口硬件電路圖的連接關鍵所在,首先串口是通過max232再與單片機連,在這max232的外圍電路就相當重要,其外圍要連接4個電解電容最好都用10uf的注意極性不要連反了。其次串口的發(fā)送、接收要

19、與max232的相對應。當然單片機的發(fā)送、接收也同樣要與max232的相對應。最關鍵的是波特率的設置,單片機的波特率一定要與計算機的串口一樣。(4)硬件調(diào)試時存在的問題:串口的pc_rxd與pc_txd接反,芯片mxa232的16腳沒有接+5v的電源,15腳沒有接地。(5)解決辦法:查閱串口原理圖連接的相關資料,修改電路板。(6)硬件的最終調(diào)試結(jié)果如下圖1、圖2、圖3、圖4所示。圖1、當實時溫度超大于限值時的報警圖2、用串口與用vb語言編的界面相連接時當實時溫度大于上限溫度的報警圖3、當實時溫度超小于限值時的報警圖4、用串口與用vb語言編的界面相連接時當實時溫度小于上限溫度的報警2、軟件性能測

20、試(1)軟件性能測試時用proteus將畫好的仿真圖調(diào)人用keil編譯后的temp.hex文件,開始仿真,測試每個按鍵的功能是否以及實時溫度和上下限報警是否與預期計劃的一致。(2)軟件性能測試結(jié)果如下圖:(3)軟件性能測試存在的問題:實時溫度的百位數(shù)字一致閃爍。(4)解決辦法:由于考慮平時的室溫根本不會超過100攝氏度,做一將軟件中的百位地址73h直接賦0。六、課題開發(fā)總結(jié)1、總結(jié)整個課題的任務完成情況,是否與預期規(guī)劃的相符合,設計出來的作品性能如何、優(yōu)缺點本系統(tǒng)完成的與預期計劃相吻合,預期所有功能基本實現(xiàn),作品性能好,突出的優(yōu)點是本作品的硬件電路做的相當美觀,且電路相當穩(wěn)定,不僅實現(xiàn)了lcd

21、的顯示同樣也很好的在vb6.0人機界面上繪制出溫度變化曲線,根據(jù)我們設定的上限報警溫度和下線報警溫度,判斷當前溫度有無高溫報警或低溫報警,如果溫度超限,則給出相應的報警信息。并達到了遠程功能。2、硬件宏觀上的設計要點,達到的性能指標,存在的問題硬件的設計要點,達到的性能指標與計劃預期的一樣,沒有存在什么問題,可以說此硬件做的相當完美。3、軟件宏觀上的設計要點,達到的性能指標、開發(fā)編譯工具和方法、存在的問題(1)軟件設計要點,達到的性能指標幾乎達到計劃預期的,在設計這個系統(tǒng)的過程還學會了串口調(diào)試工具。(2)整個電路的設計仿真過程中除了運用了單片機相關軟件外還利用了以下軟件multisim8:用于電路的設計與仿真串口調(diào)試助手與模擬串口:用于串口的調(diào)試與仿真vb6.0:用于數(shù)據(jù)的顯示與顯示溫度變化的曲線protel:電路板的設計七、用戶操作說明第一步

溫馨提示

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

評論

0/150

提交評論