




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業設計說明書題目:基于STC89C51單片機的數字溫度計的分析設計產品設計工藝設計方案設計√類型:學生姓名:_________________________學號:_________________學院:____電子信息工程學院________專業:____機電一體化____________班級:______________指導教師:__________________2016年5月6日摘要在日常科學生活及工農業生產中,經常有用的溫度的檢測及控制,而傳統的測溫計大多以熱敏電阻為溫度傳感器,但它的準確率低。而且必須經過專門的接口電路轉換成數字信號才能由單片機進行處理。所以為了現代工作,科研,生活能夠更好更方便的進行,所以就需要從單片機入手。本文將介紹一種基于51單片機控制的數字溫度計,就是用單片機實現溫度測量。本次采用STC89C51為主芯片,DS18B20溫度傳感器采集溫度,,與51單片機組成一個測溫系統。DS18B20把采集到的溫度經過放大后送到STC89C51,再經過處理送到顯示器,顯示器將采集到的溫度顯示出來。數字溫度計具有線路簡單,體積小的特點。同時程序中添加溫度的正負值檢測算法,使得該溫度計可以顯示正值溫度和負值溫度。關鍵詞:單片機;數字控制;DS18B20;STC89C51 1.緒論 41.1前言 41.2設計方案與論證 51.2.1方案一 52.總體設計思路 52.1主控制器 52.2顯示電路 72.3溫度傳感器 72.4報警電路設計 93.系統軟件設計 93.1主程序 93.2讀出溫度子程序 103.3溫度轉換命令子程序 113.4計算溫度子程序 124.系統測試 124.1測試環境及工具 124.2測試方法 124.3結果分析 125.結論 13參考文獻 13致謝 13附錄源程序 14緒論1.1.前言隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它帶給人們的方便也是不可否定的,其中數字溫度計就是一個典型的例子。溫度測試涉及到各個行業,傳統的煤油溫度計、水銀溫度計測溫必須由人工操作,測溫元件有熱電偶和熱電阻等,這些測溫器件測出的一般是電壓,再轉換成對應的溫度,且測量精度難以保證,不符合當今工業自動化的發展趨勢。,所以人們對它的要求越來越高。本課題意義在于生產過程中隨著科技不斷發展,現在社會對各種信息參數的準確度有了更高的要求,而如何準確的獲得這些參數,就需要借助于現代科技。傳感器屬于信息技術的尖端技術,尤其是數字溫度傳感技術,于是就需要從單片機技術和傳感器技術入手,才能向著數字化,智能化發展。本設計所介紹的數字溫度計主要采用STC89C51單片機構成的最小系統,DS18B20溫度采集芯片,數碼管顯示電路,以及外圍電路等組成。與傳統的溫度計相比,具有讀數方便,測溫范圍廣,體積小等特點。該數字溫度計能夠對環境的溫度進行實時監測,實時顯示環境的溫度信息,數字溫度計能夠對環境溫度進行正確測量。1.2設計方案與論證1.2.1方案一因為本電路是測溫電路,所以最先考慮的是使用熱敏電阻,利用熱敏電阻的感溫效應,采集被測溫度變化的電壓或者電流,進行A\D轉換,然后經過單片機的數據處理,將溫度在現實電路上顯示出來。這種設計我用到的是A\D轉換思路,缺點是比較麻煩。1.2.2方案二后來經過查閱相關資料,考慮到使用溫度傳感器。因為在單片機的實際應用中,傳感器是很重要的一部分,所以選擇使用DS18B20溫度傳感器。這種傳感器比較容易讀取被測溫度值,并且進行轉換,更加符合設計方案要求。通過比較以上兩種方案,我認為方案二比較方便,電路比較簡單,軟件設計也比較簡單。所以我選擇了方案二。2.總體設計思路主控制器數字溫度計電路設計的總體設計方框圖如下圖??刂破鞑捎脝纹瑱CSTC89C51,溫度傳感器采用DS18B20,用四位數碼管以傳口傳送數據來顯示溫度。主控制器LCD顯示單片機復位LCD顯示單片機復位單片機復位LCD顯示單片機復位LCD顯示 溫度傳感器時鐘震蕩溫度傳感器時鐘震蕩圖2.1圖2.12.1主控制器單片機STC89C51的特點是低電壓控電和體積小。四個端口只需要兩個口就能滿足電路系統的設計需要,適合便攜產品的使用。STC89C51的主要功能如下表所示。兼容MCS51指令系統8K可反復擦寫flashROM32個雙向I/O口256x8bit內部RAM3個16位可編程定時/計數器中斷時鐘頻率0-24MHz2個串行中斷可編程UART串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗空閑和掉電模式軟件設置睡眠和喚醒功能表2.12.1.1STC89C51引腳介紹①主電源引腳(2根)VCC(Pin40):電源輸入,接+5V電源GND(Pin20):接地線②外接晶振引腳(2根)XTAL1(Pin19):片內振蕩電路的輸入端XTAL2(Pin20):片內振蕩電路的輸出端③控制引腳(4根)RST/VPP(Pin9):復位引腳,引腳上出現2個機器周期的高電平將使單片機復位。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內部程序存儲器讀指令。④可編程輸入/輸出引腳(32根)STC89C51單片機有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。P0口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7P1口(Pin1~Pin8):8位準雙向I/O口線,名稱為P1.0~P1.7P2口(Pin21~Pin28):8位準雙向I/O口線,名稱為P2.0~P2.7P3口(Pin10~Pin17):8位準雙向I/O口線,名稱為P3.0~P3.7圖2.2STC89C51封裝圖2.2顯示電路顯示電路采用4位共陽極LED數碼管。按發光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極管的陽極接到一起形成公共陽極(COM)的數碼管,共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮,當某一字段的陰極為高電平時,相應字段就不亮。共陰數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(COM)的數碼管,共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮,當某一字段的陽極為低電平時,相應字段就不亮。數碼顯示器是一種由LED發光二極管組合顯示字符的顯示器件,它使用了8個Led發光二極管,其中七個用于顯示字符,一個顯示小數點,所以通稱為七段發光二極管數碼顯示器。4位一體數碼管,其內部段已連接好,數碼管的正面朝自己,小數點在下方。a、b、c、d、e、f、g、dp為段引腳,S1、S2、S3、S4分別表示四個數碼管的位。2.3溫度傳感器DS18B20溫度傳感器是美國DALLAS公司推出的一種改進型只能溫度傳感器,相比較于傳統的測溫元件,比如熱敏電阻,這種溫度傳感器可以直接讀出被測的溫度,而且可以根據實際要求通過簡單的編程實現數字讀數。它的性能特點如下:單線借口只需要一個端口引腳進行通信。無需外部器件??梢酝ㄟ^數據線供電??梢圆⒙撛谖ㄒ坏娜€上,實現多點測溫??啥x報警設置。零待機功耗。測溫范圍為-55至+125℃。固有測溫分辨率為0.5℃。負電壓特性,電源極性接反時,溫度計不會因為發燒而燒毀,只是不能正常工作。適配各種單片機或者系統。開始開始執行初始化時序發出跳過ROM匹配命令啟動溫度轉換延時大于540μs等待溫度轉化完成執行初始化時序發出匹配ROM指令發出64位序列號發出讀便箋存儲器命令讀取便箋存儲器內容并進行CRC校驗CRC校驗正確?溫度數據格式轉換結束是否圖2.32.4報警電路設計報警電路中加一PNP三極管驅動,基極接單片機P11口,當端口變成低電平時,驅動三極管會導通,VCC電壓加載到蜂鳴器使其發聲、報警發光二極管亮,如圖2.4圖2.4報警電路3.系統軟件設計3.1主程序主程序的主要功能是負責讀出并處理DS18B20的測量的當前溫度值,溫度的實時顯示,并根據設置的上下限判斷是否報警。系統開始運行時,溫度傳感器測量并計算溫度值通過P1.0口傳輸進單片機里進行處理,經過處理后的數據再通過P0口傳輸到數碼管進行顯示。通過按鍵設置溫度報警界限,當超過報警界限時單片機將相應的數據通過P1.1口傳輸進行聲光報警。溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖3.1所示。初始化初始化調用溫度模塊程序DS18B20存在?是處理溫度值轉換BCD碼送AT89S52處理按鍵掃描模塊顯示模塊,LED顯示溫度是否越限?開始是報警否否錯誤處理,顯示8.8.8.8.3.2讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節,在讀出時需進行CRC校驗,校驗有錯時不進行溫度數據的改寫。其程序流程圖如圖3.2.1示開始開始發DS18B20復位命令發跳過ROM命令發讀取溫度命令讀取操作,CRC校驗結束NYYN移入溫度緩存器9字節完?CRC校驗?3.3溫度轉換命令子程序溫度轉換命令子程序主要是發溫度轉換開始命令,當采用12位分辨率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成[16]。溫度轉換命令子程序流程圖如上圖,圖3.3.1所示發DS18B20復位命令發DS18B20復位命令開始發跳過ROM命令發溫度轉換開始命令結束3.4計算溫度子程序計算溫度子程序將RAM中讀取值進行BCD碼的轉換運算,并進行溫度值正負的判定,其程序流程圖如圖3.4.1所示。開始溫度零下?溫度值取補碼置“—”標志計算小數位溫度BCD值計算整數位溫度BCD值結束置“+”標志NY4.系統測試
4.1測試環境及工具
測試溫度:0-100攝氏度。(模擬不同溫度值環境)
測試儀器及軟件:數字萬用表,溫度計0-100攝氏度。
4.2測試方法
使系統運行,觀察系統硬件檢測是否正常(包括單片機控制系統,鍵盤電路,顯示電路,溫度測試電路等)。系統自帶測試表格數據,觀察顯示數據是否相符合即可采用溫度傳感器和溫度計同時測量溫度變化情況,目測顯示電路是否正常。并記錄溫度值,與實際溫度值比較,得出系統的溫度指標。4.3結果分析自檢正常,溫度顯示正常。5.結論MCS-51單片機,體積小,重量輕,抗干擾能力強,對環境要求不高,價格低廉,可靠性高,靈活性好,即使是非電子計算機專業人員,通過學習一些專業基礎知識以后也能依靠自己的技術力量,來開發所希望的單片機應用系統。本設計的溫度控制檢測和報警系統,只是單片機廣泛應用于各行各業中的一例。
本設計研究是基于單片機控制的溫度閉環控制系統的設計,介紹了對溫度的顯示、控制及報警,實現了溫度的實時顯示及控制。控制部分,提出了用DS18S20、89C51單片機及LCD的硬件電路完成對水溫的實時檢測及顯示,利用DS18S20與單片機連接由軟件與硬件電路配合來實現對加熱電阻絲的實時控制及超出設定的上下限溫度的報警系統。
它具有微型化、低功耗、高性能、抗干攏能力強、易配微處理器等優點,特別適合于構成多點溫度測控系統,可直接將溫度轉化成串行數字信號供微機處理,而且每片DS18S20都有唯一的產品號并可存入其ROM中,以便在構成大型溫度測控系統時在單線上掛接任意多個DS18S20芯片。從DS18S20讀出或寫入DS18S20信息僅需要一根口線,其讀寫及溫度變換功率來源于數據總線,該總線本身也可以向所掛接的DS18S20供電,而無需額處電源。DS18S20能提供九位溫度讀數,它無需任何外圍硬件即可方便地構成溫度檢測系統。參考文獻何齡修.讀南明史[J].中國史研究,1998,(3):167-173.劉國鈞,陳紹業.圖書館目錄[M].北京:高等教育出版社,1957:15-18.趙天書.諾西肽分階段補料分批發酵過程優化研究[D].沈陽:東北大學,2013.致謝首先,感謝學校三年來對我的培養。為我們營造了一個良好的學習氛圍,建設一流的教學設施,使我們身心愉快的投入到學習中。其次,感謝尊敬的指導老師黃有全老師,有了他的諄諄教誨,處處提點,才使本論文的前期準備以及整個研究過程順利完成。指導老師的嚴謹治學態度、扎實的理論基礎、全身心投入工作的精神以及對學生盡心盡力的態度給了我極大的幫助與鼓勵,使我受益匪淺。從指導老師的教學態度上,我學到的不僅僅只有書本上的知識,還有做人的道理。他嚴肅的科學態度,嚴謹的治學精神,精益求精的工作作風,深深地感染和激勵著我。在此謹向指導老師致以誠摯的謝意和崇高的敬意。附錄源程序#include<AT89X52.h>#include"DS18B20.h"#defineuintunsignedint#defineucharunsignedchar//宏定義#defineSETP3_1//定義調整鍵#defineDECP3_2//定義減少鍵#defineADDP3_3//定義增加鍵#defineBEEPP3_7//定義蜂鳴器bitshanshuo_st;//閃爍間隔標志bitbeep_st;//蜂鳴器間隔標志sbitDIAN=P2^7;//小數點ucharx=0;//計數器signedcharm;//溫度值全局變量ucharn;//溫度值全局變量ucharset_st=0;//狀態標志signedcharshangxian=38;//上限報警溫度,默認值為38signedcharxiaxian=5;//下限報警溫度,默認值為5ucharcodeLEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};/*****延時子程序*****/voidDelay(uintnum){while(--num);}/*****初始化定時器0*****/voidInitTimer(void){TMOD=0x1;TH0=0x3c;TL0=0xb0;//50ms(晶振12M)}/*****定時器0中斷服務程序*****/voidtimer0(void)interrupt1{TH0=0x3c;TL0=0xb0;x++;}/*****外部中斷0服務程序*****/voidint0(void)interrupt0{EX0=0;//關外部中斷0if(DEC==0&&set_st==1){shangxian--;if(shangxian<xiaxian)shangxian=xiaxian;}elseif(DEC==0&&set_st==2){xiaxian--;if(xiaxian<0)xiaxian=0;}}/*****外部中斷1服務程序*****/voidint1(void)interrupt2{EX1=0;//關外部中斷1if(ADD==0&&set_st==1){shangxian++;if(shangxian>99)shangxian=99;}elseif(ADD==0&&set_st==2){xiaxian++;if(xiaxian>shangxian)xiaxian=shangxian;}}/*****讀取溫度*****/voidcheck_wendu(void){uinta,b,c;c=ReadTemperature()-5;//獲取溫度值并減去DS18B20的溫漂誤差a=c/100;//計算得到十位數字b=c/10-a*10;//計算得到個位數字m=c/10;//計算得到整數位n=c-a*100-b*10;//計算得到小數位if(m<0){m=0;n=0;}//設置溫度顯示上限if(m>99){m=99;n=9;}//設置溫度顯示上限}/*****顯示開機初始化等待畫面*****/Disp_init(){P2=0xbf;//顯示-P1=0xf7;Delay(200);P1=0xfb;Delay(200);P1=0xfd;Delay(200);P1=0xfe;Delay(200);P1=0xff;//關閉顯示}/*****顯示溫度子程序*****/Disp_Temperature()//顯示溫度{P2=0xc6;//顯示CP1=0xf7;Delay(300);P2=LEDData[n];//顯示個位P1=0xfb;Delay(300);P2=LEDData[m%10];//顯示十位DIAN=0;//顯示小數點P1=0xfd;Delay(300);P2=LEDData[m/10];//顯示百位P1=0xfe;Delay(300);P1=0xff;//關閉顯示}/*****顯示報警溫度子程序*****/Disp_alarm(ucharbaojing){P2=0xc6;//顯示CP1=0xf7;Delay(200);P2=LEDData[baojing%10];//顯示十位P1=0xfb;Delay(200);P2=LEDData[baojing/10];//顯示百位P1=0xfd;Delay(200);if(set_st==1)P2=0x89;elseif(set_st==2)P2=0xc7;//上限H、下限L標示P1=0xfe;Delay(200);P1=0xff;//關閉顯示}/*****報警子程序*****/voidAlarm(){if(x>=10){beep_st=~beep_st;x=0;}if((m>=shangxian&&beep_st==1)||(m<xiaxian&&beep_st==1))BEEP=0;elseBEEP=1;}/*****主函數*****/voidmain(void){uintz;InitTimer();//初始化定時器EA=1;//全局中斷開關TR0=1;ET0=1;//開啟定時器0IT0=1;IT1=1;check_wendu();check_wendu();for(z=0;z<300;z++){Disp_init();}while(1){if(SET==0){Delay(2000);do{}while(SET==0);set_st++;x=0;shanshuo_st=1;if(set_st>2)set_st=0;}if(set_st==0){EX0=0;//關閉外部中斷0EX1=0;//關閉外部中斷1check_wendu();Disp_Temperature();Alarm();//報警檢測}elseif(set_st==1){BEEP=1;//關閉蜂鳴器EX0=1;//開啟外部中斷0EX1=1;//開啟外部中斷1if(x>=10){shanshuo_st=~shanshuo_st;x=0;}if(shanshuo_st){Disp_alarm(shangxian);}}elseif(set_st==2){BEEP=1;//關閉蜂鳴器EX0=1;//開啟外部中斷0EX1=1;//開啟外部中斷1if(x>=10){shanshuo_st=~shanshuo_st;x=0;}if(shanshuo_st){Disp_alarm(xiaxian);}}}}/*****END*****/DS18B20.h:#include<AT89X52.h>#defineDQP3_6//定義DS18B20總線I/O/*****延時子程序*****/voidDelay_DS18B20(intnum){while(num--);}/*****初始化DS18B20*****/voidIni
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔科用生物材料性能考核試卷
- 演出經紀人職業素養提升與道德規范踐行考核試卷
- 礦用設備虛擬現實維修培訓考核試卷
- 電影道具制作中的藝術表現考核試卷
- 紡織品企業戰略合作伙伴關系管理考核試卷
- 核果類水果種植園防寒保暖考核試卷
- 電纜的絕緣材料耐熱性能研究考核試卷
- 遼寧省阜新市清河門區2025屆三下數學期末聯考模擬試題含解析
- 濟寧醫學院《機器人學》2023-2024學年第二學期期末試卷
- 泉州海洋職業學院《三維動畫綜合實訓》2023-2024學年第一學期期末試卷
- 國家職業技能標準 (2021年版) 4-04-05-05 人工智能訓練師
- 第三章業績評價
- 綠色熒光蛋白在大腸桿菌中的表達分子實驗設計
- 《永遇樂(李清照)》(課堂PPT)
- 四川省2007年普通高校職教師資班和高職班對口招生統一考試
- 長輸管線焊材用量計算表
- 日立風冷熱泵H系列螺桿機組說明書
- 廣西藝術學院普通本科專業評估方案.
- 《氣管插管術》PPT課件課件
- 初中學生學籍表(2020年整理).doc
- 加藥系統出廠檢驗報告
評論
0/150
提交評論