環(huán)境溫、濕度檢測系統(tǒng)設計——課程設計論文
《環(huán)境溫、濕度檢測系統(tǒng)設計——課程設計論文》由會員分享,可在線閱讀,更多相關《環(huán)境溫、濕度檢測系統(tǒng)設計——課程設計論文(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、湖南工程學院課 程 設 計課程名稱 單片機原理與應用 課題名稱 溫濕度檢測系統(tǒng) 專 業(yè) 自動化 班 級 學 號 姓 名 指導教師 年 月 日湖南工程學院課 程 設 計 任 務 書課程名稱 單片機與應用 課 題 環(huán)境溫、濕度檢測系統(tǒng)設計 專業(yè)班級 學生姓名 學 號 指導老師 審 批 任務書下達日期 年 月 日任務完成日期 年 月 日設計內容與設計要求設計內容:本課題要求以單片機為核心,采用溫濕度傳感器 DHT11設計一個對環(huán)境溫度濕度的檢測系統(tǒng),要求用按鍵控制系統(tǒng)選擇分別對溫度或濕度的測試、復位、清除功能,用四位LED數(shù)碼管顯示實時溫度和濕度。還可由用戶設定溫度和濕度的上、下限,設計越限報警功能
2、。設計要求:1)確定系統(tǒng)設計方案; 2)進行系統(tǒng)的硬件設計;3)完成必要元器件選擇;4)系統(tǒng)軟件設計及調試;5)系統(tǒng)聯(lián)調及操作說明6)按規(guī)范要求寫設計說明書主 要 設 計 條 件1、 PC機及單片機調試軟件;2、 開發(fā)板1塊; 3、系統(tǒng)設計、調試所需的元器件。說 明 書 格 式1. 課程設計任務書2. 目錄3. 總體方案確定4. 各單元硬件電路設計及計算方法5. 軟件設計與說明(包括流程圖)6. 調試結果與必要的調試說明7. 總結8、參考文獻9、附錄附錄A 系統(tǒng)原理圖附錄B 程序清單 10、課程設計成績評分表。進 度 安 排設計時間分為二周第一周星期一、上午:布置課題任務,課題介紹及講課。下午
3、:借閱有關資料,總體方案討論。星期二、確定總體方案,學習與設計相關內容。星期三、各部分方案設計,各部分設計。星期四、設計及調試。星期五、設計及調試。星期六、設計及調試。第二周星期一:設計及調試。星期二:設計及調試。星期三:調試、寫說明書。星期四-星期五上午:寫說明書、完成電子版并打印成稿。星期五下午:答辯。參 考 文 獻1 王迎旭等.單片機原理及及應用.機械工業(yè)出版社.2012年目錄第1章 系統(tǒng)總體方案設計81.1系統(tǒng)設計方案總體思路81.2系統(tǒng)總體方案框圖8第2章 硬件設計92.1 STC89C52簡介92.2 晶振電路92.3 復位電路92.4 共陽數(shù)碼管顯示電路102.5 鍵盤電路102
4、.6 DHT11傳感器電路112.7 報警電路12第3章 軟件設計與說明123.1系統(tǒng)軟件設計思路123.2 主程序設計133.3 鍵盤函數(shù)143.4 顯示程序設計15第4章 調試結果與說明174.1 系統(tǒng)調試說明174.2 調試結果17第5章 總結18參考文獻19附錄A 系統(tǒng)電理圖路原20附錄B 系統(tǒng)程序清單21第1章 系統(tǒng)總體方案設計1.1系統(tǒng)設計方案總體思路根據(jù)課題,設計溫濕度檢測系統(tǒng)電路,采用單片機STC89C52為控制芯片。根據(jù)設計要求所需的實現(xiàn)要求,將總電路分為鍵盤接口電路、單片機時鐘電路、復位電路、LED顯示電路、DHT11傳感器電路、報警電路幾個模塊。鍵盤接口電路為4*4矩陣式
5、鍵盤,采用查詢法,鍵盤連接到單片機的P2口(P1.0-P1.3列線, P1.4-P1.7行線),在本系統(tǒng)中采用內部時鐘電路,由一個石英晶體管振蕩器和兩個微調電容組成;復位電路中給給RST引腳連續(xù)輸入2個機器周期(即24個時鐘振蕩周期)以上高電平,就可完成初始化操作;顯示電路與單片機I/O相連,采用4段7位共陽LED顯示管顯示溫濕度。1.2系統(tǒng)總體方案框圖 根據(jù)設計思路確定的總體方案如圖1-2所示。DHT11傳感器STC89C52 晶振電路鍵盤電路LED數(shù)碼管顯示復位電路段碼位控制報警電路 圖1-2 系統(tǒng)總體框圖第2章 硬件設計2.1 STC89C52簡介STC89C52是STC公司生產(chǎn)的一種低
6、功耗高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程FLASH存儲器。STC89C52使用經(jīng)典的MCS-51內核,但做了很多改進使得芯片具有傳統(tǒng)51單片機不具備的功能。擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。 2.2 晶振電路 單片機工作的時間基準是由時鐘電路所控制的。在單片機的XTAL1和XTAL2兩個管腳,接一只晶振及兩只電容就構成了單片機的時鐘電路。電路中,電容器C1和C2對振蕩頻率有微調作用,均選用20pF,石英晶體選擇12MHZ。 晶振電路如圖. 圖2-2 晶振電路 2.3 復位電路復位電路是保證單片
7、機正常運行的關鍵因素,所以可靠地復位電路設計是必要的。將RST引腳連續(xù)輸入2個機器周期(即24個時鐘振蕩期間)以上高電平,即可以完成單片機的初始化操作。本設計采用按鈕復位方式。復位電路如圖: 圖2-3 復位電路 2.4 共陽數(shù)碼管顯示電路LED數(shù)碼管采用共陽數(shù)碼管,采用動態(tài)顯示方式,減少硬件資源。動態(tài)掃描顯示接口是單片機中應用最廣泛的一種顯示方式。數(shù)碼管的dp段以及g-a段依序與P0口的P0.7-P0.0連接。4位LED的位選線分別由相對應的P2.0-P2.3控制。顯示電路如圖: 圖2-4 顯示電路2.5 鍵盤電路該系統(tǒng)采用4*4矩陣式鍵盤電路,在矩陣式鍵盤中,每條水平線和垂直線交叉處都由一個
8、按鈕連接。鍵盤的行線與P1口的P1.4-P1.7相連,列線與P1.0-P1.3相連。本系統(tǒng)采用4個鍵:鍵0:啟動系統(tǒng),傳感器有響應。鍵1:設置溫濕度的上下限。鍵2:暫停。鍵3:單片機復位,系統(tǒng)停止工作。鍵盤電路如下 : 圖2-5 鍵盤電路圖2.6 DHT11傳感器電路DHT11是一種能對環(huán)境的溫濕度參數(shù)進行采樣的傳感器。傳感器中的DATA 用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當前小數(shù)部分用于以后擴展,現(xiàn)讀出為零.操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+
9、8bit濕度小數(shù)數(shù)據(jù)。+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)。+8bit校驗和。DHT11傳感器電路如下: 圖2-6 DHT11傳感器電路2.7 報警電路蜂鳴器是一種一體化的電子通訊響應器。在本系統(tǒng)中,當溫濕度超過其上下線時報警。 圖2-7 報警電路第3章 軟件設計與說明此次系統(tǒng)設計是通過C語言編程,其中包括數(shù)碼管顯示部分、鍵盤掃描部分、傳感器采樣溫濕度部分。3.1 主程序設計主程序初始化,主程序循環(huán)掃描是否有鍵按下,如有鍵按下則做出相應的功能處理,若無鍵按下則繼續(xù)執(zhí)行顯示函數(shù)。3.4 顯示程序設計顯示采用4位共陽數(shù)碼管,段碼在程序數(shù)據(jù)區(qū)定義,根據(jù)需要查表取得,再送往P0口,以控制數(shù)碼管顯
10、示不同字符數(shù)字。位碼由P2.0P2.3口分別控制晶體數(shù)碼管的位控位W4W1,以控制各個數(shù)碼管顯示。開始保護現(xiàn)場開始初始化查表取字型碼送段碼送位碼延時顯示4位顯示掃描完?NY恢復現(xiàn)場返回 圖3-4 顯示程序流程圖第4章 調試結果與說明4.1 系統(tǒng)調試說明本系統(tǒng)調試過程中采用直接硬件調試的方法,對整體的系統(tǒng)程序進行分解排故,首先對八段顯像管進行數(shù)字顯示測試,然后對鍵盤進行按鍵響應測試,當測試都得到正確結果時,將鍵盤與顯示結合起來,并給予恰當?shù)淖中痛a,最后加入定時器中斷程序,給出正確的脈沖信號和頻率。調試過程中,數(shù)碼管顯示的數(shù)字閃爍,原因是傳感器接觸不良,后換了導線,數(shù)字不在閃爍。按鍵出現(xiàn)按下一鍵響
11、應多次的情況,后查出由于鍵位抬起子程序書寫不當,造成鍵盤多次響應,并加上了松手去抖程序后問題得以順利解決。4.2 調試結果接上溫濕度傳感器DHT11后和電源后,將程序下載到板子上,按下0號鍵啟動,執(zhí)行程序,數(shù)碼管上顯示了環(huán)境的溫濕度參數(shù)。 圖5-1 顯示環(huán)境溫濕度參數(shù)第5章 總結 經(jīng)過兩周的單片機課程設計,終于完成了單片機環(huán)境溫濕度檢測系統(tǒng)的設計,其中收獲許多,付出了許多精力和時間,實踐能力的到了一定的提高。剛學完單片機并且經(jīng)歷了考試,我一直以為我對單片機有了不少的了解,課透過此次課程設計,我才看到了自己的諸多不足,也學到了很多知識與技巧。雖然之前有做過不少課程設計,但以前大多是單獨的軟件或者
12、硬件設計,這次設計讓我有了長足的進步,真正實現(xiàn)了對單片機硬件與軟件的兼顧與融會貫通。單片機課程設計重點就在于軟件算法的設計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事。由于C語言學習較早,很多技巧與方法早就忘得差不多了,上課與做實驗,我一直以來都是使用匯編語言來編寫程序,可課題的復雜度明顯比試驗中遇到的要大得多,C語言編程的方便性讓我不得不著手C語言開始。這也讓我再次鞏固了以前學習的專業(yè)知識。面對大量的參考資料甚至是幾乎現(xiàn)成的參考報告,我選擇了在學習吸納的基礎上另辟蹊徑,雖然遇到困難的時候都想放棄,直接用現(xiàn)成的程序和報告,可看到其他同學和我一樣在埋頭苦
13、干、老師期盼的眼神,我選擇了堅持下來,當然,現(xiàn)在這是我驕傲的資本。雖然這個課題不算難,但是從硬件電路到最后程序的編寫和調試都是自己摸索出來的,這個過程中也遇到了不少困難,更多的是成功后的喜悅,學習永無止境,只有把學習和實踐當做一種樂趣那么即便有再大的困難也會是一種享受。 參考文獻1 王迎旭. 單片機原理與應用 M.北京:機械工業(yè)出版社,2004.2 陳海宴. 51單片機原理及應用 M.北京:北京航空航天大學出版社,2010.3 胡漢才. 單片機原理及其接口技術 M.北京:清華大學出版社,2010.4 李全利. 單片機原理及應用技術 M.北京:高等教育出版社,2004.5 陳光東. 單片微型計算
14、機原理及接口技術 M.華中科技大學出版社,2001.6 何立民. 51系列單片機應用與實踐教程 M.北航出版社,.附錄A 系統(tǒng)電路原理圖附錄B 系統(tǒng)程序清單/P1.0-P1.7段選a-dp,P2.0-P2.3位選w4-w1,p1口接矩陣鍵盤 列接高四位,橫接低四位/鍵盤:0鍵啟動,1鍵設置,2鍵暫停,3鍵復位#include /包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義#define uchar unsigned char#define uint unsigned intunsigned char code led_code=0 xc0,0 xf9,0 xa4,0 xb0,
15、0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90, 0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 xbf;/*共陽字型段碼表,0-F,-*/uchar led0,led1,led2,led3;/*- 函數(shù)聲明-*/ uchar keyscan(void);/鍵盤掃描void delay(uint i); /延時程序void display(uchar led0,led1,led2,led3);/動態(tài)掃描顯示程序/*- 主函數(shù)-*/void main() uchar key; P1=0 xff; /*關所有位顯示*/ led0=16; /*顯示
16、初始狀態(tài)“- - - 0”*/ led1=16; led2=16; led3=0; while(1) display(led0,led1,led2,led3); /*調顯示*/ key=keyscan(); /調用鍵盤掃描, switch(key) case 0 x7e:led0=0;break; /0 按下相應的鍵,首位數(shù)碼管顯示相對應的值 case 0 x7d:led0=1;break; /1 case 0 x7b:led0=2;break; /2 case 0 x77:led0=3;break; /3 case 0 xbe:led0=4;break; /4 case 0 xbd:led0
17、=5;break; /5 case 0 xbb:led0=6;break; /6 case 0 xb7:led0=7;break; /7 case 0 xde:led0=8;break; /8 case 0 xdd:led0=9;break; /9 case 0 xdb:led0=10;break; /a case 0 xd7:led0=11;break; /b case 0 xee:led0=12;break; /c case 0 xed:led0=13;break; /d case 0 xeb:led0=14;break; /e case 0 xe7:led0=15;break; /f /
18、*- 鍵盤掃描程序,P1.0-P1.3列線, P1.4-P1.7行線,-*/uchar keyscan(void) /鍵盤掃描函數(shù),使用行列反轉掃描法 uchar cord_h,cord_l;/行列值中間變量 P1=0 x0f; /行線輸出全為0 cord_h=P1&0 x0f; /讀入列線值 if(cord_h!=0 x0f) /先檢測有無按鍵按下,cord_h不等于0 x0f無鍵按下 display(led0,led1,led2,led3); /*調顯示*/ if(cord_h!=0 x0f) cord_h=P1&0 x0f; /讀入列線值 P1=cord_h|0 xf0; /輸出當前列線
19、值 cord_l=P1&0 xf0; /讀入行線值 return(cord_h+cord_l);/鍵盤最后組合碼值 return(0 xff); /無鍵按下返回值/*- 動態(tài)掃描顯示程序,P0段控,P2.0-P2.3位控 (反向驅動)-*/void display(led0,led1,led2,led3) / P2=0 xfe;P0=led_codeled0;delay(5);P2=0 xfd;P0=led_codeled1;delay(5);P2=0 xfb;P0=led_codeled2;delay(5);P2=0 xf7;P0=led_codeled3;delay(5); /*- 延時程
20、序-*/void delay(int x ) int i,j; for(i=0;ix;i+) for(j=0;j120;j+); /溫度傳感器采樣環(huán)境溫濕度參數(shù)并由數(shù)碼管顯示#include #include typedef unsigned char unint8; typedef unsigned char unint16; unsigned char table0= 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/不帶小數(shù)點 unsigned char str1= ; unsigned char str2= ; s
21、bit TRH = P30;/溫濕度傳感器DHT11數(shù)據(jù)接入 sbit LCD_RS = P26; sbit LCD_RW = P25; sbit LCD_EN = P27; void disp(unint8 str1,unint8 str2,unint8 str3,unint8 str4); unint8 TH_data,TL_data,RH_data,RL_data,CK_data; unint8 TH_temp,TL_temp,RH_temp,RL_temp,CK_temp; unint8 com_data,untemp,temp; unint8 respond; void delayN
22、OP() _nop_(); _nop_(); _nop_(); _nop_(); / 毫秒級延時子程序 void delay_ms(unsigned char ms) unsigned char i; while(ms-) for(i = 0; i 150; i+) _nop_(); _nop_(); _nop_(); _nop_(); /5us級延時程序 void delay_us() unint8 i; i-; i-; i-; i-; i-; char receive() unint8 i; com_data=0; for(i=0;i=7;i+) respond=2; while(!TRH
23、)&respond+); delay_us(); delay_us(); delay_us(); if(TRH) temp=1; respond=2; while(TRH)&respond+); else temp=0; com_data=1; com_data|=temp; return(com_data); void read_TRH() /主機拉低18ms TRH=0; delay_ms(18); TRH=1; /DATA總線由上拉電阻拉高主機延時20us delay_us(); delay_us(); delay_us(); delay_us(); TRH=1; /判斷DHT11是否有
24、低電平響應信號如不響應則跳出,響應則向下運行 if(!TRH) respond=2; /判斷DHT11發(fā)出 80us 的低電平響應信號是否結束 while(!TRH)& respond+); respond=2; /判斷從機是否發(fā)出 80us 的高電平,如發(fā)出則進入數(shù)據(jù)接收狀態(tài) while(TRH & respond+); /數(shù)據(jù)接收狀態(tài) RH_temp = receive(); RL_temp = receive(); TH_temp = receive(); TL_temp = receive(); CK_temp = receive(); TRH=1; /數(shù)據(jù)校驗 untemp=(RH_
25、temp+RL_temp+TH_temp+TL_temp); if(untemp=CK_temp) RH_data = RH_temp; RL_data = RL_temp; TH_data = TH_temp; TL_data = TL_temp; CK_data = CK_temp; /濕度整數(shù)部分 str10 = table0RH_data/10; str11 = table0RH_data%10; /溫度整數(shù)部分 str20 =table0TH_data/10; str21 = table0TH_data%10; /主函數(shù) /TH,TL,RH,RL分別代表溫濕度的整數(shù)和小數(shù)部分 voi
26、d main() delay_us(); TMOD=0X01;/選擇定時器工作方式 TH0=(65536-12000)/256; TL0=(65536-12000)%256; EA=1;/開總中斷 ET0=1;/開定時器中斷 TR0=1;/啟動定時器 while(1) read_TRH(); void T0_timer() interrupt 1 TH0=(65536-20000)/256; TL0=(65536-20000)%256; disp(str10,str11,str20,str21); void disp(unint8 str1,unint8 str2,unint8 str3,un
27、int8 str4) P2=0 xfe; P0=str1; delay_ms(1); P2=0 xfd; P0=str2; delay_ms(1); /P2=0 xfb; /P0=str3; /delay_ms(1); P2=0 xfb; P0=str3; delay_ms(1); P2=0 xf7; P0=str4; delay_ms(1); /P2=0 xdf; /P0=str6; /delay_ms(1); 電氣與信息工程系課程設計評分表項 目評 價優(yōu)良中及格差設計方案合理性與創(chuàng)造性(10%)開發(fā)板焊接及其調試完成情況*(10%)硬件設計或軟件編程完成情況(20%)硬件測試或軟件調試結果*(10%)設計說明書質量(20%)答辯情況(10%)完成任務情況(10%)獨立工作能力(10%)出勤情況(10%)綜 合 評 分 指導教師簽名:_ 日 期:_ 注:表中標*號項目是硬件制作或軟件編程類課題必填內容; 此表裝訂在課程設計說明書的最后一頁。課程設計說明書裝訂順序:封面、任務書、目錄、正文、評分表、附件(非16K大小的圖紙及程序清單)。 29
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學習《中華人民共和國科學技術普及法》推進實現(xiàn)高水平科技自立自強推動經(jīng)濟發(fā)展和社會進步
- 激揚正氣淬煉本色踐行使命廉潔從政黨課
- 加強廉潔文化建設夯實廉政思想根基培育風清氣正的政治生態(tài)
- 深入學習2024《突發(fā)事件應對法》全文提高突發(fā)事件預防和應對能力規(guī)范突發(fā)事件應對活動保護人民生命財產(chǎn)安全
- 2023年四年級數(shù)學上冊第一輪單元滾動復習第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊第14單元階段性綜合復習作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊易錯清單十五課件新人教版
- 2023年四年級數(shù)學上冊易錯清單七課件西師大版
- 2023年五年級數(shù)學下冊易錯清單六作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊易錯清單二作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊四分數(shù)的意義和性質第10課時異分母分數(shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級數(shù)學下冊周周練四作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊六折線統(tǒng)計圖單元復習卡作業(yè)課件西師大版
- 2023年四年級數(shù)學上冊6除數(shù)是兩位數(shù)的除法單元易錯集錦一作業(yè)課件新人教版