智能儀器課程設計報告_第1頁
智能儀器課程設計報告_第2頁
智能儀器課程設計報告_第3頁
智能儀器課程設計報告_第4頁
智能儀器課程設計報告_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

智能儀器課程設計報告題目基于單片機的智能溫度控制系統院系xxxxx專業(yè)xxxxxxxxxxxx學生姓名xx學號xxxxxxxxx指導教師xxx二O一二年十二月一日一、設計目的通過單片機STC12C56A600S2和DS18B20溫度傳感器檢測溫度,熟悉芯片的使用,溫度傳感器的功能,數碼顯示管的使用,匯編語言的設計;并且把我們這一年所學的數字和模擬電子技術、檢測技術、單片機應用等知識,通過理論聯系實際,從題目分析、電路設計調試、程序編制調試到傳感器的選定等這一完整的實驗過程,培養(yǎng)了學生正確的設計思想,使學生充分發(fā)揮主觀能動性,去獨立解決實際問題,以達到提升學生的綜合能力、動手能力、文獻資料查閱能力的作用,為畢業(yè)設計和以后工作打下一個良好的基礎。二、設計任務和要求以單片機為核心器件,組成一個數字溫度計,采用數字溫度傳感器DS18B20為檢測器件,進行單點溫度檢測,檢測精度為0.5攝氏度。溫度顯示采用3位LED數碼管顯示,兩位整數,一位小數。測溫范圍-20℃-60℃,精度誤差小于0.5℃。三、功能需求和總體思路本設計是一個數字溫度測量及控制系統,能測柜內的溫度,并能在超限的情況下進行控制、調整并報警。保證環(huán)境保持在限定的溫度中。該系統的總體設計思路如下:溫度傳感器DS18B20把所測得的溫度發(fā)送到STC12C56A600S2單片機上,經過STC12C56A600S2單片機處理將把溫度在顯示電路上顯示。本系統除了顯示溫度以外還可以設置一個溫度值,對所測溫度進行監(jiān)控。當溫度高于或低于設定溫度時,開始報警并啟動相應程序。K1是用來進入上下限調節(jié)模式的,當按一下K1進入上限調節(jié)模式,再按一下進入下限調節(jié)模式,再按一下退出調節(jié)模式。在調節(jié)上下限溫度模式下,K2是實現加1功能,K1是實現減1功能,K3是用來設定上下限溫度正負的。在正常模式下,按一下K2進入查看上限溫度模式,顯示1s左右自動退出;按一下K3進入查看下限溫度模式,顯示1s左右自動退出。K4正常模式下用來設置和取消按鍵音。上下限設置模式下是用來設置溫度的正負。四、硬件部分設計1.單片機最小系統的設計單片機的工作就是執(zhí)行用戶程序,指揮各部分硬件完成既定任務。如果一個單片機芯片沒有燒錄用戶程序,顯然它就不能工作??墒?,一個燒錄了用戶程序的單片機芯片。給它上電后就能工作嗎?也不能。原因是除了單片機外,單片機能夠工作的最小電路還包括時鐘和復位電路。即單片機的最小系統。單片機是一個復雜的同步時序電路。為了保護同步工作方式的實現,電路應在唯一的時序信號控制下嚴格地按時序進行工作。時鐘電路用于產生單片機工作所需要的時鐘信號。無論是在單片機剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復位。單片機的復位是使CPU和系統中的其他功能部件都回復到一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。2.DB18B20功能簡介DS18B20數字式溫度傳感器與傳統的熱敏電阻溫度傳感器不同,它能夠直接讀出被測溫度。并且可根據實際要求通過簡單的編程實現9~12位的數字值讀數方式??梢苑謩e在93.75ms和750ms內將溫度值轉化9位和12位的數字量。因而使用DS18B20可使系統結構更簡單,可靠性更高。芯片的耗電量很小,從總線上“偷”一點電存儲在片內的電容中就可正常工作,一般不用另加電源。最可貴的是這些芯片在檢測點已把被測信號數字化了。因此在單總線上傳送的是數字信號這使得系統的抗干擾性好、可靠性高、傳輸距離遠。DS18B20傳感器有如下特點:●單線接口,只有一根信號線與CPU連接;●不需要備份電源,可通過信號線供電,電源電壓范圍從3.3-5V;●傳送串行數據,不需要外部元件;五、系統程序流程圖主程序是系統的監(jiān)控程序,在程序運行的過程中必須先經過初始化,包括鍵盤程序。中斷程序,以及各個控制端口的初始化工作。系統軟件設計的總體流程圖:主程序流程圖DS18B20流程圖Protel電路圖軟件仿真圖六軟件程序設計#include<reg51.h>#include<stdio.h>#defineucharunsignedchar#defineuintunsignedintsbitds=P2^2;sbitdula=P2^6;sbitwela=P2^7;sbitbeep=P2^3;uinttemp;floatf_temp;uintwarn_l1=270;uintwarn_l2=250;uintwarn_h1=300;uintwarn_h2=320;sbitled0=P1^0;sbitled1=P1^1;sbitled2=P1^2;sbitled3=P1^3;unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voiddsreset(){uinti;ds=0;i=103;while(i>0)i--;ds=1;i=4;while(i>0)i--;}bittempreadbit(){uinti;bitdat;ds=0;i++;ds=1;i++;i++;dat=ds;i=8;while(i>0)i--;return(dat);}uchartempread(){uchari,j,dat;dat=0;for(i=1;i<=8;i++){j=tempreadbit();dat=(j<<7)|(dat>>1);}return(dat);}tempwritebyte(uchardat){uinti; ucharj; bittestb; for(j=1;j<=8;j++) { testb=dat&0x01; dat=dat>>1; if(testb) { ds=0; i++;i++; ds=1; i=8;while(i>0)i--; } else { ds=0; i=8;while(i>0)i--; ds=1; i++;i++; } }}tempchange(){dsreset();delay(1);tempwritebyte(0xcc);tempwritebyte(0x44);}uintget_temp(){uchara,b;dsreset();delay(1);tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread();b=tempread();temp=b;temp<<=8;temp=temp|a;f_temp=temp*0.0625;temp=f_temp*10+0.5;f_temp=f_temp+0.05;returntemp;}display(ucharnum,uchardat){uchari;dula=0;P0=table[dat];dula=1;dula=0;wela=0;i=0xff;i=i&(~((0x01)<<(num)));P0=i;wela=1;wela=0;delay(50);}dis_temp(uintt){uchari;i=t/100;display(0,i);i=t%100/10;display(1,i+10);i=t%100%10;display(2,i);}warn(uints,ucharled){uchari;i=s; beep=0; P1=~(led); while(i--) { dis_temp(get_temp()); } beep=1; P1=0xff; i=s; while(i--) {dis_temp(get_temp()); } }deal(uintt){uchari; if((t>warn_l2)&&(t<=warn_l1)) { warn(40,0x01); } elseif(t<=warn_l2) { warn(10,0x03); } elseif((t<warn_h2)&&(t>=warn_h1)) { warn(40,0x04); } elseif(t>=warn_h2) { warn(10,0x0c); } else { i=40; while(i--) { dis_temp(get_temp()); } }} init_com() { TMOD=0x20; PCON=0x00; SCON=0x50; TH1=0xfd; TL1=0xfd; TR1=1; }comm(char*parr){do { SBUF=*parr++; while(!TI); TI=0; }while(*parr);}main(){ucharbuff[4],i;dula=0;wela=0;init_com();while(1){tempchange(); for(i=10;i>0;i--) { dis_temp(get_temp()); } deal(temp); sprintf(buff,"%f",f_temp); for(i=10;i>0;i--) { dis_temp(get_temp()); } comm(buff); for(i=10;i>0;i--) { dis_temp(get_temp()); }}} 七設計中遇到的問題及解決方法:首先,將數碼管顯示電路連接好后,為了檢查連線是否正確,可將電源負極與各接地端鏈結好,用電源正極試探LED數碼管個管腳與CD40110是否正確連接,若出現筆段不亮的情況,應該仔細檢查該線路。若各LED數碼管的引腳與CD40110連接線路正確且完好,下一步則是驗證CD40110能否驅動顯示LED數碼管,將CD4011LE、CRCRDVSS都接地,VCC接高電平,接通電路后,LED數碼管亮且顯示0,說明該線路正確。接著,將待測方波按電路圖接好后,為了檢查該電路是否產生脈沖,將輸出端接至右邊第一片CD40110的CPU端,LED數碼管顯示技數值,說明該電路連接正確且符合實際標準要求。其次,對于控制電路的調試,其方法和待測方波發(fā)生電路調試相同,即檢測輸出是否產生及輸出滿足設計要求,將控制電路按電路圖連接好,把反向后輸出信號接至CD40110的CP-U端,觀察是否在計數,若不能則說明電路連接有問題,糾正后再觀察,直至產生1.5S左右計數的脈沖,另外,經微電路后的輸出接至CP-U端,觀察是否有脈沖產生且每隔1.5S左右計數加1,若計數正確,說明電路完好,最后對于總電路的調試,因各單元電路調試好后,只需按原電路圖鏈接正確后,觀察結果是否符合設計要求,并且要求電路能穩(wěn)定,按總電路圖接好后,首先檢查清零信號是否符合設計要求,并且要求電路能穩(wěn)定,按總路圖連接好后,首先檢查清零信號是否能有效的清零,將CT接地,清零信號接CR端,待測信號接CP-U端其余接總電路圖連接,觀察每隔1.5S計數后立即清零,說明清零有效,其次將閘門信號接CT端,CR接地。其余按總電路圖連接,觀察每隔1S計數停止,約0.5s繼續(xù)計數,說明閘門信號設計正確,最后按電路圖連接好后,接通電源,觀察到計數1S停頓一段時間后清零并繼續(xù)進行1S繼續(xù)計數,也完成頻率的測量。八分工與合作xx負責電路圖設計和軟件程序設計、xx負責電路圖和程序的檢查,報告的完成。總結本溫度測量系統設計,是采用DS18B20溫度傳感器經過放大和送到單片機進行控制溫度顯示和時間顯示。另外本系統還可以通過外接電路擴展實現溫度報警功能,從而更好的實現溫度現場的實時控制。經過多次的修改和調試測量,本設計基本符合設計要求,由于受人為因素和軟硬件的限制,系統難免不了帶來一些誤差,但通過調節(jié)和精確計算可以減小誤差。這次課程設計歷時2個星期,從一開始的課題確定,到后來的資料查找、理論學習,然后調試和測試過程,這一切都使我們的理論知識和動手能力進一步得到提升。在畫原理圖、電路仿真和調試過程中不可避免地遇到各種問題,這要求保持沉著冷靜,聯系書本理論知識積極地思考,實在解決不了時候可以請教同學或指導老師。雖然在制作過程中不可避免地遇到很多問題,但是最后還是在老師以及同學的幫助下圓滿解決了這些問題,實現了整個系統設計與最后調試,相關指標達到預期的要求,很好地完成了本次設計任務。通過本次課程設計,對溫度測量控制有了進一步的熟悉和更深入的學習。在整個設計的過程中,本設計的重點和難點是:將DS18B20的非電量信號轉換為單片機單片機能識別的電量信號,其中的信號如何放大及放大倍數的確定等等。了解并掌握了傳感器的基本理論知識,更深入的掌握單片機的開發(fā)應用和編程控制。為以后從事單片機軟硬件產品的設計開發(fā)、打下了良好的基礎,樹立獨立從事產品研發(fā)的信心,并在這種能力上得到了比較充分的鍛煉。利用Proteus與KEILC51對單片機多點溫度測量系統進行了仿真設計。從本文結果可以看出,利用Proteus進行單片機系統的仿真設計可以極大地簡化單片機程序在目標硬件上的調試工作,大幅度節(jié)省制作電路板的時間,對于提高產品的開發(fā)效率、降低開發(fā)成本等有重要作用。在程序編寫和調試的過程中稍一粗心就會出現錯誤,包括時間

溫馨提示

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

評論

0/150

提交評論