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

下載本文檔

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

文檔簡介

1、四川信息職業(yè)技術(shù)學院畢業(yè)設(shè)計說明書(論文)設(shè)計(論文)題目:基于單片機的溫度計的設(shè)計 專 業(yè): 通信技術(shù) 班 級: 學 號: 姓 名: 指導(dǎo)教師: 二oo八年十二月三十日四川信息職業(yè)技術(shù)學院畢業(yè)設(shè)計任務(wù)書學 生姓 名學號班級通技06-2專業(yè)通信技術(shù)設(shè)計題目基于單片機的溫度計的設(shè)計指導(dǎo)教師姓名職 稱工作單位及所從事專業(yè)聯(lián)系方式備 注助教高級工程師設(shè)計內(nèi)容:為了對溫度進行適時監(jiān)測,設(shè)計了這套溫度傳感系統(tǒng)并完成電路設(shè)計方案的選擇;硬件電路的設(shè)計;軟件程序的編寫;仿真與調(diào)試。進度安排:第1周:查找資料,選擇參考方案; 第周:確定方案;第58周:查找資料,進行硬件電路的設(shè)計; 第912周:程序的編寫與調(diào)

2、試;第1314周:整理報告,確定初稿; 第1516周:檢查定稿;第1718周:答辯。主要參考文獻、資料(寫清楚參考文獻名稱、作者、出版單位):1李全利單片機原理及應(yīng)用技術(shù)北京:高等教育出版社,20062何立民單片機高等教程北京:航空航天大學出版社,20003張毅剛mcs-51單片機應(yīng)用設(shè)計哈爾濱:哈爾濱工業(yè)大學出版社,1997審批意見教研室負責人:年 月 日備注:任務(wù)書由指導(dǎo)教師填寫,一式二份。其中學生一份,指導(dǎo)教師一份。目錄摘要1第1章方案設(shè)計2第3章硬件設(shè)計43.1單片機系統(tǒng)電路設(shè)計43.1.1單片機時鐘電路43.1.2單片機復(fù)位電路53.2ds18b20單線數(shù)字溫度傳感器73.2.1ds

3、18b20工作原理73.2.2ds18b20的性能特點73.2.3ds18b20內(nèi)部結(jié)構(gòu)73.2.4ds18b20控制方法83.3數(shù)據(jù)顯示單元設(shè)計93.3.1顯示器原理簡介93.3.2顯示器電路圖9第4章軟件設(shè)計114.1主程序114.2溫度程序114.3顯示程序12第5章調(diào)試與運行145.1電路仿真145.2調(diào)試與運行14結(jié)論16參考文獻17附錄a總電路原理圖18附錄b程序清單19摘要隨著科學技術(shù)的發(fā)展,溫度傳感器向著集成工藝和多變量復(fù)合傳感器、智能化傳感器、網(wǎng)絡(luò)化傳感器的方向發(fā)展,各種不同類型的溫度傳感器將會越來越多的出現(xiàn)在我們的日常生活中,給我們帶來極大的方便。為了對溫度進行實時監(jiān)測,設(shè)

4、計了這套溫度顯示系統(tǒng)。系統(tǒng)采用at89c51系列單片機與單線數(shù)字溫度傳感器ds18b20采集現(xiàn)場溫度數(shù)據(jù),并利用led顯示。報告詳細介紹了系統(tǒng)的單片機最小系統(tǒng)、溫度信息采集電路、led顯示電路的硬件設(shè)計,并在分析軟件工作流程的基礎(chǔ)上編寫了相應(yīng)的c語言源程序。測試表明,該系統(tǒng)能有效實現(xiàn)實時溫度采集和顯示,并具有較高的精度。關(guān)鍵詞at89c51;ds18b20;led第1章方案設(shè)計任務(wù)要求利用單片機對溫度傳感器ds18b20進行控制,實時檢測外環(huán)境的溫度,并通過數(shù)碼管顯示當前溫度。溫度傳感器顯示控制系統(tǒng)的整體結(jié)構(gòu)如圖2-1所示,電路包括:ds18b20傳感器、中央處理器cpu(at89c51)、時

5、鐘及復(fù)位電路、led顯示器。中央處理器cpuat89c51ds18b20傳感器led顯示器時鐘及復(fù)位電路圖2-1溫度傳感器顯示控制系統(tǒng)的整體結(jié)構(gòu)框圖1溫度信號采集方案方案一:選用型號為wzb-003,分度號為ba2的熱敏電阻為溫度感應(yīng)元件,它適用于0500的溫度測量范圍,但其對檢驗溫度的精度要求不高。方案二:用溫度傳感器做溫度感應(yīng)元件,它硬件接口簡單,性能穩(wěn)定。溫度傳感器市場上有很多種類,可以根據(jù)實際需求選擇合適的溫度傳感器。單片機對溫度傳感器ds18b20進行控制,實時檢測外環(huán)境的溫度,并通過數(shù)碼管顯示當前溫度,要求精度高,檢測性好,所以本次設(shè)計選擇方案二。本設(shè)計選擇溫度傳感器:ds18b2

6、0。它是單線接口,僅需一根口線與mcu連接無需外圍元件,由總線提供電源,測溫范圍為:-55+125,測量精度:0.5,反應(yīng)時間500ms。2顯示方案方案一:靜態(tài)顯示就是當cpu將要顯示的字或字段碼送到輸出口,顯示器就可以顯示出所要顯示的字符,如果cpu不去改寫它,它將一直保持下去;靜態(tài)顯示硬件開銷大,電路復(fù)雜,信息刷新速度慢。方案二:動態(tài)顯示就是一位一位地輪流點亮顯示器地各個位(掃描)。對于顯示器的每一位而言,每隔一段時間點亮一次;動態(tài)顯示耗能較小,但編寫程序較復(fù)雜。動態(tài)顯示硬件連接簡單,信息刷新速度快。本次設(shè)計由于要求對溫度進行實時檢測與控制,所以選擇的是方案二。第3章硬件設(shè)計3.1單片機系

7、統(tǒng)電路設(shè)計在單片機內(nèi)部有一振蕩電路,只要在單片機的xtal1和xtal2引腳外接石英晶體,就構(gòu)成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。圖3-1中電容器c1和c2的作用是穩(wěn)定頻率和快速起振,電容值在530pf,典型值為30pf。晶振cys的振蕩頻率范圍在1.212mhz間選擇,典型值為12mhz和6mhz。3.1.1單片機時鐘電路單片機時鐘電路如圖3-1所示。圖3-1單片機時鐘電路圖xtal1和xtal2分別為反相放大器的輸入和輸出。該反相放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對

8、外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。晶振周期(或外部時鐘信號周期)為最小的時序單位,如圖3-2所示。圖3-2單片機的時鐘信號成為s狀態(tài),它是晶振周期的兩倍,即一個時鐘周期包含2個晶振周期。在每個時鐘周期的前半周晶振信號進分頻器后形成兩相錯開的時鐘信號p1和p2。時鐘信號的周期也期,相位1(p1)信號有效,在每個時鐘周期的后半周期,相位2(p2)信號有效。每個時鐘周期有兩個節(jié)拍(相)p1和p2,cpu以p1和p2為基本節(jié)拍指揮各個部件協(xié)調(diào)地工作。晶振信號12分頻后形成機器周期,即一個機器周期包含12個晶振周期或6個是時鐘周期。因此,每個機器周期地12個振蕩脈沖可以表

9、示s1p1,s1p2,s2p1,s2p2,s6p2。3.1.2單片機復(fù)位電路復(fù)位是使單片機或系統(tǒng)中的其他部件處于某種確定的初始狀態(tài)。單片機的工作就是從復(fù)位開始的,當在單片機的rst引腳引入高電平并保持2個機器周期時,單片機內(nèi)部就執(zhí)復(fù)位操作(若該引腳持續(xù)保持高電平,單片機就處于循環(huán)復(fù)位狀態(tài))。實際應(yīng)用中,復(fù)位操作有兩種基本的形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位。如圖3-3所示,本次設(shè)計采用的是上電復(fù)位。圖3-3上電復(fù)位電路上電復(fù)位要求接通電源后,單片機自動實現(xiàn)復(fù)位操作。常用的上電復(fù)位如上圖所示。上電瞬間rst引腳獲得高電平,隨著電容c1的充電,rst引腳的高電平將逐漸下降。rst

10、引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復(fù)位操作。該電路典型的電阻和電容參數(shù)為:晶振為12mhz時,c1為10uf,r1為8.2k,晶振為6mhz時,c1為22uf,r1為1k。單片機的復(fù)位操作使單片機經(jīng)入初始化狀態(tài)。初始化后,程序計數(shù)器pc=0000h所以程序從0000h地址單元開始執(zhí)行。單片機啟動后,片內(nèi)ram為隨機值,運行中的復(fù)位操作不改變片內(nèi)ram的內(nèi)容。特殊功能寄存器復(fù)位后狀態(tài)使確定的。p0p3為ffh,sp為07h,sbuf不定,ip、ie和pcon的有效值為0,其余的特殊功能寄存器的狀態(tài)均為00h。相應(yīng)的意義為:(1)p0p3=ffh,相當于各口鎖存器已

11、寫入1,此時不但可以用于輸出,也可以用于輸入;(2)sp=07h,堆棧指針指向片內(nèi)ram的07h單元(第一個入棧內(nèi)容將寫入08h單元);(3)ip、ie和pcon的有效位為0,各中斷源處于的優(yōu)先級且均被關(guān)斷,串行通信的波特率不加倍;(4)psw=00h,當前工作寄存器為0組。3.2ds18b20單線數(shù)字溫度傳感器由dallas半導(dǎo)體公司生產(chǎn)的ds18b20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便,傳輸距離遠等特點。產(chǎn)品的主要技術(shù)指標:(1)測量范圍:-55+125;(2)測量

12、精度:0.5;(3)反應(yīng)時間500ms。3.2.1ds18b20工作原理溫度傳感器ds18b20將被測環(huán)境溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補碼形式,占兩個字節(jié))在通過單片機發(fā)出命令送給顯示器。它的輸出腳i/o直接與單片機相連,并接一個上拉電阻,傳感器采用外部電源供電。傳感器控制程序是按照ds18b20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。3.2.2ds18b20的性能特點(1) 采用單總線專用技術(shù),既可通過串行口線,也可通過其它i/o口線與微機接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9位二進制數(shù),含符號位);(2) 測溫范圍為-55+125,測

13、量分辨率為0.0625;(3) 內(nèi)含64位經(jīng)過激光修正的只讀存儲器rom;(4) 適配各種單片機或系統(tǒng)機;(5) 用戶可分別設(shè)定各路溫度的上、下限;(6) 內(nèi)含寄生電源。3.2.3ds18b20內(nèi)部結(jié)構(gòu)ds18b20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻rom,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器th和tl,高速暫存器。ds18b20的管腳排列如圖35所示。64位光刻rom是出廠前被光刻好的,它可以看作是該ds18b20的地址序列號。不同的器件地址序列號不同。圖3-5ds18b20引腳分布圖表3-1寄存器名稱及功能序號寄存器名稱作 用序 號寄存器名稱0溫度低字節(jié)以16位補碼形式存放4、5保留字節(jié)1

14、、21溫度高字節(jié)以16位補碼形式存放6計數(shù)器余值2th/用戶字節(jié)1存放溫度上限7計數(shù)器/3hl/用戶字節(jié)2存放溫度下限8crc以12位轉(zhuǎn)化為例說明溫度高低字節(jié)存放形式及計算:12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在ds18b20的兩個高低兩個8位的ram中,二進制中的前面5位是符號位。如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625才能得到實際溫度。3.2.4ds18b20控制方法在硬件上,ds18b20與單片機的連接有兩種方法,一種是vcc接外部電源,gnd接地,i/o與單片機的i/o線相連;

15、另一種是用寄生電源供電,此時udd、gnd接地,i/o接單片機i/o。無論是內(nèi)部寄生電源還是外部供電,i/o口線要接5k左右的上拉電阻。此次設(shè)計選擇的是前面一種控制法。指 令約定代碼操 作 說 明溫度轉(zhuǎn)換44h啟動ds18b20進行溫度轉(zhuǎn)換讀暫存器beh讀暫存器9個字節(jié)內(nèi)容寫暫存器4eh將數(shù)據(jù)寫入暫存器的th、tl字節(jié)復(fù)制暫存器48h把暫存器的th、tl字節(jié)寫到e2ram中重新調(diào)e2ramb8h把e2ram中的th、tl字節(jié)寫到暫存器th、tl字節(jié)讀電源供電方式b4h啟動ds18b20發(fā)送電源供電方式的信號給主cpu表32ds18b20有六條控制命令cpu對ds18b20的訪問流程是:先對ds

16、18b20初始化,再進行rom操作命令,最后才能對存儲器操作,數(shù)據(jù)操作。ds18b20每一步操作都要遵循嚴格的工作時序和通信協(xié)議。如主機控制ds18b20完成溫度轉(zhuǎn)換這一過程,根據(jù)ds18b20的通訊協(xié)議,須經(jīng)三個步驟:每一次讀寫之前都要對ds18b20進行復(fù)位,復(fù)位成功后發(fā)送一條rom指令,最后發(fā)送ram指令,這樣才能對ds18b20進行預(yù)定的操作。3.3數(shù)據(jù)顯示單元設(shè)計3.3.1顯示器原理簡介根據(jù)設(shè)計的特點,此顯示選擇的是動態(tài)led顯示。所謂動態(tài)顯示就是一位一位地輪流點亮顯示器地各個位(掃描)。對于顯示器的每一位而言,每隔一段時間點亮一次。雖然在同一時刻只有一位顯示器在工作(點亮),但由于

17、人眼的視覺暫留效應(yīng)和發(fā)光二極管熄滅時的余暉,我們看到的卻是多個字符“同時”顯示。顯示器亮度既與點亮時的通道電流有關(guān),也與點亮時間長短和間隔時間有關(guān)。調(diào)整電流和時間參數(shù),即可實現(xiàn)亮度較高穩(wěn)定的顯示。3.3.2顯示器電路圖4位共陰極顯示器與at89c51的接口邏輯圖,如圖36所示。圖3-6動態(tài)led顯示接口第4章軟件設(shè)計系統(tǒng)的主要功能是根據(jù)當前的溫度,利用溫度傳感器把當前的溫度傳遞給顯示器。系統(tǒng)軟件可分為兩個功能模塊:(1) 溫度檢測:檢測當前溫度傳感器的溫度。(2) 顯示:顯示當前溫度,采用定時器中斷進行時顯示。4.1主程序系統(tǒng)主程序由主函數(shù)流程和t0中斷顯示流程組成,如圖4-1所示和4-2所示

18、。重置初值t0t0中斷溢出動態(tài)掃描位選信號每位輸出具體的溫度值開始設(shè)置定時/計數(shù)器初值從ds18b20中讀取數(shù)據(jù)數(shù)據(jù)拆字等待圖4-1主函數(shù)流程圖 圖4-2t0中斷顯示流程圖4.2溫度程序溫度程序模塊:流程圖如圖4-3所示。讀匹配的ds18b20溫度所有在線ds18b20訪問完否發(fā)讀暫存ram命令發(fā)一個ds18b20序列號執(zhí)行期間匹配命令初始化ds18b20延時1秒初始化ds18b20存在一個ds18b20發(fā)出搜索rom命令讀在線ds18b20序列號開始復(fù)位ds18b20啟用所有在線ds18b20作溫度a/d轉(zhuǎn)換發(fā)跳過rom命令發(fā)轉(zhuǎn)換命令y圖4-3溫度流程圖4.3顯示程序顯示程序模塊:流程圖如圖

19、4-4所示。圖4-4顯示流程圖第5章調(diào)試與運行keilc51是美國keilsoftware公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。keilc51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keilc51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解,在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。5.1電路仿真此設(shè)計的電路在keil軟件中進行仿真,仿真總電路如圖5-1所示。5.2調(diào)試與運行把編寫好的程序放入仿真

20、軟件中,結(jié)合硬件電路進行調(diào)試與運行。(1)在仿真軟件中的ds18b20上的兩個紅色旋鈕模擬定時當前溫度,從而達到仿真的目的;(2)led顯示器顯示當前ds18b20所測到的溫度;總結(jié):當前顯示的溫度,需經(jīng)過延時一段時間從而達到實際溫度。結(jié)論在我的畢業(yè)設(shè)計中,主要是以at89c51單片機為核心的,對溫度的檢測與顯示進行了簡單的設(shè)計與闡述。本次設(shè)計可以說是軟硬結(jié)合,又以硬件為主。當今科技發(fā)展迅速,單片機嵌入式開發(fā)有著光明的前景。由于單片機經(jīng)濟實用、開發(fā)簡便等特點依然在工業(yè)控制、家電等領(lǐng)域占據(jù)了廣泛的市場。所以我選擇這樣的畢業(yè)設(shè)計課題,并且能通過此次設(shè)計來提高自己軟件編制和硬件電路設(shè)計的能力。在我完

21、成這次畢業(yè)設(shè)計的過程中,當看到自己將專業(yè)知識用于解決實際的問題時,那份成就感和喜悅感是難以形容的。但是,在實際的編程以及調(diào)試程序過程中,我發(fā)現(xiàn)自己應(yīng)該學的太多太多。光靠自己在書本上所學過的這點知識是遠遠不夠的,真正地認識到了工作就是學習的道理?;厥桩厴I(yè)設(shè)計這段日子,雖然過的很緊張,但我卻感到很充實。由于我以前對51單片機的c語言沒有認真鉆研過,所以感覺畢業(yè)設(shè)計的任務(wù)十分緊迫。通過對本系統(tǒng)的設(shè)計,我學習到了硬件開發(fā)和軟件開發(fā)的基本流程并有了一定的駕御此開發(fā)過程的能力。編程的過程中,雖然不乏辛苦,但更多的是程序調(diào)試成功后的喜悅??傊?,這次畢業(yè)設(shè)計對我來說是一次比較全面的、富有創(chuàng)造性和探索性的鍛煉,

22、完成了我選題時的心愿。同時,曾老師無私的敬業(yè)精神以及同學們的熱心幫助也令我深有感觸,對于我今后的學習、工作和生活都將是受益非淺的!參考文獻1李全利單片機原理及應(yīng)用技術(shù).北京:高等教育出版社,20062何立民單片機高等教程.北京:航空航天大學出版社,20003張毅剛mcs51單片機應(yīng)用設(shè)計.哈爾濱:哈爾濱工業(yè)大學出版社,1997附錄a總電路原理圖附錄b程序清單#include reg51.hsbit dq =p33; /定義通信端口unsigned char a1,a2,a3,a2t,dispno;unsignedcharcode table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;unsigned int temp1;/延時函數(shù)void delay(unsigned int i) while(i-);/初始化函數(shù)init_ds18b20(void) unsigned char x=0; dq = 1; /dq復(fù)位 delay(8); /稍做延時 dq = 0; /單片機將dq拉低 delay(80); /精確延時 大于 480us dq = 1; /拉高總線 delay(14); x=dq; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay(20);/讀一個字節(jié)readonecha

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論