




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湘潭大學(xué)課 程 設(shè) 計(jì) 2013 年 08 月 日課 程 傳感器 題 目 溫濕度測(cè)試系統(tǒng) 院 系 材料與光電物理學(xué)院 專業(yè)班級(jí) 測(cè)控技術(shù)與儀器 學(xué)生姓名 學(xué)生學(xué)號(hào) 指導(dǎo)教師 任務(wù)書課程 傳感器原理設(shè)計(jì)與應(yīng)用 題目 溫濕度測(cè)試系統(tǒng) 專業(yè) 測(cè)控技術(shù)與儀器 姓名 學(xué)號(hào) 組長(zhǎng) 組員 (1) 設(shè)計(jì)目的:設(shè)計(jì)制作一個(gè)溫濕度,溫度測(cè)量范圍為-10-50,濕度為 0-100%實(shí)驗(yàn)儀器:電烙鐵,proteus 軟件,keil 軟件,剝線鉗,萬用表,溫度計(jì)主要內(nèi)容:該系統(tǒng)主要有以下系統(tǒng)快構(gòu)成:中央控制處理器 stc89c52 組成的主機(jī)系統(tǒng);環(huán)境數(shù)據(jù)采集系統(tǒng),輸出顯示與鍵盤控制系統(tǒng)等。主要的系統(tǒng)電路有:電源電路,
2、溫度傳感器與濕度傳感器電路,顯示電路,報(bào)警電路,鍵盤輸入電路。該系統(tǒng)的主要特點(diǎn)有:(1) 、該產(chǎn)品互換性好,響應(yīng)速度快,抗干擾電路圖,外圍電路簡(jiǎn)單易懂,因此體積小。(2) 、該系統(tǒng)能用軟件的方式控制硬件,所有用軟件方式設(shè)計(jì)的系統(tǒng)向硬件的轉(zhuǎn)換是由有關(guān)開發(fā)軟件完成的,易操作。(3) 、可以從以前的組合設(shè)計(jì)轉(zhuǎn)向真正的自由設(shè)計(jì),所以設(shè)計(jì)的移植性好,效率高。參考資料1、 單片機(jī)原理及應(yīng)用湘潭大學(xué)出版社;2、 單片機(jī)接口技術(shù) (c51 版)中國(guó)水利水電出版社;3、郭天祥“十天學(xué)會(huì)單片機(jī)”視頻;4、 傳感器原理設(shè)計(jì)與應(yīng)用國(guó)防科技大學(xué)出版社;完成期限 2013.08.20 2013 年 08 月 20 日溫濕
3、度測(cè)試系統(tǒng)設(shè)計(jì)摘要:此溫濕度測(cè)試系統(tǒng)是基于單線式溫度傳感器 ds18b20、電容式濕度傳感器hs1101、單片機(jī) stc89c52 對(duì)溫濕度分別測(cè)試并通過液晶顯示屏 1602 經(jīng)行顯示。溫度傳感器 ds18b20 是單線式,體積超小,硬件開銷超低,抗干擾能力強(qiáng),精度高,附加功能強(qiáng)的理想單片機(jī)溫度傳感器,可實(shí)時(shí)根據(jù)指令給出溫度數(shù)據(jù),可讀性高。hs1101 是電容式空氣濕度傳感器,在不同的濕度環(huán)境下呈現(xiàn)不同的電容數(shù)值,0%-100%rh 濕度范圍內(nèi),電容從 162 變到 200pf,誤差為 2%rh,可見精度非常之高,為了反映出其電容的變化,本系統(tǒng)采用 555 多諧振蕩電路產(chǎn)生不同的頻率,用于檢測(cè)
4、濕度。單片機(jī)采集到的兩個(gè)傳感器給出的數(shù)據(jù)進(jìn)行處理與計(jì)算,得出當(dāng)前的溫度與濕度并送給液晶屏顯示。本系統(tǒng)具有可讀性高,穩(wěn)定性高,反應(yīng)速度快,測(cè)量值準(zhǔn)確的特點(diǎn)。關(guān)鍵詞:?jiǎn)纹瑱C(jī),溫濕度,ds18b20,傳感器,液晶顯示器abstract:key words:microcontroller, temperature and humidity,ds18b20,sensor,lcd引言引言: : 二、方案設(shè)計(jì)二、方案設(shè)計(jì)(1) 、方案的選取ds18b20 傳感器;hs1101 濕度傳感器(2) 、顯示模塊的選取采用 1602 液晶模塊顯示所測(cè)數(shù)據(jù),1602 接線簡(jiǎn)單方便,同時(shí)也能滿足顯示需求,價(jià)格遠(yuǎn)低于 1
5、2864 液晶。三、三、.結(jié)果及原理分析結(jié)果及原理分析 根據(jù)所要實(shí)現(xiàn)的功能,將系統(tǒng)模塊化設(shè)計(jì),總體模塊結(jié)構(gòu)圖如下圖所示: 以下就分別就各模塊功能實(shí)現(xiàn)進(jìn)行設(shè)計(jì)。1. 1602 液晶顯示模塊電路設(shè)計(jì)1602 液晶顯示模塊電路原理圖如下所示:2. ds18b20 溫度檢測(cè)模塊 如上圖所示。其中溫度傳感器 ds18b20 的各引腳功能如下:1:gnd 接地;2:dq 輸出端;3:vcc 電源。3. hs1101 濕度檢測(cè)模塊555 芯片外接電阻 r4、r5、r6、r8 與 hs1101,構(gòu)成對(duì) hs1101 的充電回路,7端通過芯片內(nèi)部的晶體管對(duì)地短路實(shí)現(xiàn)對(duì) hs1101 的放電回路,并將引腳 2,6
6、 端相連引入片內(nèi)比較器,構(gòu)成多諧振蕩器。hs1101 作為一個(gè)變化的電容器,原理圖中我們用電容代替,連接 2 和 6 引腳,充電,放電時(shí)間:由 hs1101 的技術(shù)手冊(cè)可得濕度和電容的函數(shù)關(guān)系呈線性關(guān)系,因此有:當(dāng)時(shí)由得,空氣相對(duì)濕度與 555 芯片輸出偏綠存在一定關(guān)系,可通過微處理器采集 555 芯片的頻率,查表即可得到相對(duì)濕度。 (電容不可直接測(cè)量,由 555 多諧振蕩器檢測(cè)頻率,有單片機(jī)計(jì)算電容值,進(jìn)而求得相對(duì)濕度)4. 電源模塊系統(tǒng)部分電源采用的是 4 節(jié) 1.5 伏干電池,能為系統(tǒng)提供穩(wěn)定的 5v 電壓。四、四、軟件流程圖軟件流程圖五、五、系統(tǒng)總的程序設(shè)計(jì)系統(tǒng)總的程序設(shè)計(jì)見附錄一六、
7、六、設(shè)計(jì)過程問題解決設(shè)計(jì)過程問題解決本次設(shè)計(jì)過程很費(fèi)周折,由于 proteus 里面缺少一些必要的元件,故實(shí)驗(yàn)過程中是先設(shè)計(jì)好硬件電路,焊好電路以后才進(jìn)行調(diào)試的,其間的艱難可想而知。也因?yàn)檫@樣,硬件電路的錯(cuò)誤比較多,中間一直在修改硬件電路,造成電路板修修補(bǔ)補(bǔ)不美觀。實(shí)驗(yàn)過程中遇到的困難很多 ,尤其是實(shí)現(xiàn)界面切換和返回主界面的過程,同時(shí)光標(biāo)也要隨著界面一起移動(dòng)。否則就會(huì)顯示出錯(cuò)。而在本次設(shè)計(jì)過程中,我們調(diào)用了兩次顯示,一次寫顯示溫度,一次顯示濕度。4.總結(jié)1. 剛開始燒了程序以后,發(fā)現(xiàn) lcd 什么都不顯示,后來發(fā)現(xiàn)是因?yàn)闆]有開背光,因?yàn)闆]開背光顯示不明顯,如果角度不對(duì)會(huì)發(fā)現(xiàn)什么都沒顯示。而背光
8、要通過可調(diào)電阻來調(diào),在 1602 的背光正極接一個(gè)可調(diào)電阻,電阻的兩端是接地和電源。2. 能夠顯示以后,發(fā)現(xiàn)顯示界面一直在刷新,顯示不穩(wěn)定。原因是每秒隨著秒刷新初始化界面一次,解決的方案是不重新調(diào)用顯示,而是只給顯示秒的位置刷新,其他時(shí)間隨秒變化。溫濕度值則是有了變化就刷新。3.由于編寫程序時(shí),沒有考慮到溫度傳感器 ds18b20 數(shù)據(jù)的十六進(jìn)制與顯示字符之間的數(shù)據(jù)處理關(guān)系,導(dǎo)致在液晶屏中只顯示了傳回的最后一個(gè)十六進(jìn)制數(shù)所對(duì)應(yīng)的 asc的字符,找到問題的解決關(guān)鍵所在后,經(jīng)過數(shù)的分位與字符顯示后,成功的顯示了傳回的溫度、濕度的數(shù)據(jù),讓我們距離成功只差一小步了。參考文獻(xiàn)1、 單片機(jī)原理及應(yīng)用湘潭大
9、學(xué)出版社;2、 單片機(jī)接口技術(shù) (c51 版)中國(guó)水利水電出版社;3、郭天祥“十天學(xué)會(huì)單片機(jī)”視頻;4、 傳感器原理設(shè)計(jì)與應(yīng)用國(guó)防科技大學(xué)出版社;附錄一:系統(tǒng)總程序附錄一:系統(tǒng)總程序# include# define uchar unsigned char# define uint unsigned intsbit dq=p20;/定義定義 ds18b20 端口端口 dqsbit beep=p22;/蜂鳴器驅(qū)動(dòng)器蜂鳴器驅(qū)動(dòng)器 bit presence;sbit lcd_rs=p12;sbit lcd_rw=p11;sbit lcd_en=p10;sbit led=p21;sbit key1=p
10、23;sbit key2=p24; uchar code cdis1=wendujishiyan;uchar code cdis2=t= , c ;uchar code cdis3=shidujishiyan ;uchar code cdis4=shidu: %;uchar code cdis5=the system of ; uchar code cdis6= temp and hum;unsigned char data temp_data2=0 x00,0 x00;unsigned char data disp5=0 x00,0 x00,0 x00,0 x00,0 x00; unsign
11、ed code ditab16=0 x00,0 x01,0 x01,0 x02,0 x03,0 x04,0 x04,0 x05,0 x06,0 x06,0 x07,0 x08,0 x08,0 x09,0 x09;void beep();unsigned char code mytb8=0 x0c,0 x12,0 x12,0 x0c,0 x00,0 x00,0 x00,0 x00;bit int_flag;/定時(shí)器定時(shí)器 0 1s 到標(biāo)志位到標(biāo)志位unsigned char volatile int_count;/定時(shí)器定時(shí)器 0 中斷次中斷次unsigned char volatile t1c
12、ount;/定時(shí)器定時(shí)器 1 中斷次中斷次unsigned long sum,wet;/1s 內(nèi)脈沖個(gè)數(shù)內(nèi)脈沖個(gè)數(shù)unsigned char le16;/led 顯示緩存顯示緩存 # define delaynop();_nop_();_nop_();_nop_():_nop_();/*/void delay1(int ms)unsigned char y;while(ms-)for(y=0;y250;y+)_nop_(); _nop_();_nop_(); _nop_();/*/*檢查檢查 lcd 忙狀態(tài)忙狀態(tài) */*lcd_busy 為為 1 時(shí),忙,等待。時(shí),忙,等待。lcd_busy
13、為為 0 時(shí),閑,時(shí),閑,可寫指令與數(shù)據(jù)可寫指令與數(shù)據(jù)*/*/bit lcd_busy()bit result;lcd_rs=0;lcd_rw=1;lcd_en=1;delaynop();result=(bit)(p0&0x80);lcd_en=0;return(result);/*/*寫指令數(shù)據(jù)到寫指令數(shù)據(jù)到 lcd*/*rs=l,rw=l,e=高脈沖,高脈沖,d0-d7=指令碼指令碼*/*/void lcd_wcmd(uchar cmd)while(led_busy();lcd_rs=0;lcd_rw=0;lcd_en=0;_nop_();_nop_();p0=cmd;delaynop()
14、;lcd_en=0;/*/*寫數(shù)據(jù)到寫數(shù)據(jù)到 lcd/*rs=h,rs=l,e=高脈沖,高脈沖,d0-d7=數(shù)據(jù)。數(shù)據(jù)。*/*/void lcd_wdat(uchar dat)lcd_rs=1;lcd_rw=0;lcd_en=0;delaynop();lcd_en=0;/*lcd 初始化初始化 */*/void lcd_init()delay1(15);lcd_wcmd(0 x01); /清除清除 lcd 的顯示內(nèi)容的顯示內(nèi)容lcd_wcmd(0 x38); /16*2 顯示,顯示,5*7 點(diǎn)陣,點(diǎn)陣,8位數(shù)據(jù)位數(shù)據(jù)delay1(5);lcd_wcmd(0 x38);delay1(5); lc
15、d_wcmd(0 x38);delay1(5); lcd_wcmd(0 x0c); /顯示開,關(guān)光標(biāo)顯示開,關(guān)光標(biāo)delay1(5);lcd_wcmd(0 x06); /移動(dòng)光標(biāo)移動(dòng)光標(biāo)delay1(5); lcd_wcmd(0 x01); /清除清除 lcd 顯示內(nèi)容顯示內(nèi)容delay1(5);/*設(shè)定顯示位置設(shè)定顯示位置 */*/void lcd_pos(uchar pos)lcd_wcmd(pos|0 x80);/數(shù)據(jù)指針數(shù)據(jù)指針=80+地址變量地址變量 /*自定義字符寫入自定義字符寫入 cgram */ /*/ void writeab() unsigned char i;lcd_wc
16、md(0 x40);for(i=0;i0;i-)dq=0;/給脈沖信號(hào)給脈沖信號(hào)dat=1;dq=1;/ 給脈沖信號(hào)給脈沖信號(hào)if(dq) dat|=0 x80; delay(4);return(dat);/*寫一個(gè)字節(jié)寫一個(gè)字節(jié) */*/writeonechar(unsigned char dat)unsigned char i=0;for(i=8;i0;i-)dq=0;dq=dat&0x01;delay(5);dq=1;dat=1; /*讀取溫度讀取溫度 */ /*/ read_temperature(void) init_ds18b20();writeonechar(0 xcc);/跳過
17、讀序列號(hào)的操作跳過讀序列號(hào)的操作writeonechar(0 x44);/啟動(dòng)溫度轉(zhuǎn)換啟動(dòng)溫度轉(zhuǎn)換 init_ds18b20();writeonechar(0 xcc);/跳過讀序列號(hào)的操作跳過讀序列號(hào)的操作writeonechar(0 xbe);/讀取溫度寄存讀取溫度寄存temp_data0=readonechar(); /溫度低八位溫度低八位temp_data1=readonechar(); /溫度高八位溫度高八位 /*數(shù)據(jù)轉(zhuǎn)換與溫度顯示數(shù)據(jù)轉(zhuǎn)換與溫度顯示 */ /*/ disp_temperature() display4=temp_data0&0&0 x0f;display0=dita
18、bdisplay4+0 x30 ;display4=(temp_data0&0 xf0)4)|(temp_data1&0 x0f)=0 x32&display1=0 x31)beep=1;elsebeep=0;/*/*濕度測(cè)量濕度測(cè)量*/*/軟件延時(shí)軟件延時(shí) void delay(unsigned int cnt) while(-cnt); /定時(shí)定時(shí) /定時(shí)器定時(shí)器 0 初始化初始化 void init_t0(void) tmod=(tmod&0 xf0)|0 x01;th0=0 x4c;tl0=0 x00; /定時(shí)器定時(shí)器 1 初始化初始化 void init_t1(void) tmod=
19、(tmod&0 x0f)|0 x50;th1=0 x00;tl1=0 x00; /定時(shí)器定時(shí)器 0 中斷服務(wù)程序中斷服務(wù)程序void int_t0(void) interrupt 1th0=(65535-50000)/256;tl0=(65535-50000)%256;int_count+; if(int_count=20) tr1=0; int_flag=1;int_count=0 x00; /定時(shí)器定時(shí)器 1 中斷服務(wù)程序中斷服務(wù)程序void int_t1(void) interrupt 3t1count+;void disp(void) /濕度顯示函數(shù)濕度顯示函數(shù)int_flag=0;s
20、um=tl1+th1*256+t1count*65536;/計(jì)算計(jì)算 1 秒內(nèi)秒內(nèi)的脈沖個(gè)數(shù)的脈沖個(gè)數(shù)/以下將數(shù)據(jù)格式化,轉(zhuǎn)成以下將數(shù)據(jù)格式化,轉(zhuǎn)成 led 可顯示的可顯示的 bcd 碼碼wet=100-(sum-4000)/50;/濕度計(jì)算公式濕度計(jì)算公式le0=wet%10;/最低位最低位wet=wet/10;le1=wet%10; /第二位第二位wet=wet/10;let2=wet%10 /第三位第三位 wet=wet/10;int_count=ox00;t1count=0;th1=0 x00;tl1=0 x00;tr1=1; lcd_pos(ox4a);lcd_wdat(le2+48); lcd_pos(0 x4b);lcd_wdat(le1+48); lcd_pos(ox4c); lcd_wdat(le0+48);delays(100); void wendu_menu() /顯示溫度的菜單顯示溫度的菜單 uchar m; lcd_pos(0);/設(shè)置顯示位置為第一設(shè)置顯示位置為第一行第一個(gè)字符行第一個(gè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 11.1 功(教學(xué)設(shè)計(jì))- 八年級(jí)物理下冊(cè)同步備課系列(人教版)
- 2025年鋁合金屬門窗供應(yīng)與安裝合同
- 2025年劇場(chǎng)演藝合同轉(zhuǎn)讓成果
- 2025年信貸管理借款合同
- 2025年公務(wù)員用車維護(hù)與管理合同范例
- 2025年農(nóng)村修建道路合同樣本
- 2025年北京汽車租賃合同規(guī)范
- 2025年住宅供暖系統(tǒng)施工進(jìn)度與質(zhì)量合同
- 2025年勞動(dòng)合同制度的優(yōu)化與變革
- 2025年企業(yè)間商務(wù)辦公樓租賃合同
- 產(chǎn)品研發(fā)指導(dǎo)專家聘用協(xié)議書
- 【正版授權(quán)】 IEC 60268-5:2003/AMD1:2007 EN-FR Amendment 1 - Sound system equipment - Part 5: Loudspeakers
- 廣東省廣州市2023-2024學(xué)年一年級(jí)下學(xué)期期末數(shù)學(xué)試卷
- 2024年晉中職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整參考答案
- DL-T5493-2014電力工程基樁檢測(cè)技術(shù)規(guī)程
- 中西醫(yī)結(jié)合思路與方法學(xué)課件
- 二年級(jí)數(shù)學(xué)下冊(cè)混合運(yùn)算計(jì)算100題(含詳細(xì)答案)
- 小學(xué)體育小課題研究
- 新能源汽車故障診斷與排除實(shí)訓(xùn)工單
- 民族文化傳承與創(chuàng)新魯班工坊揚(yáng)州三把刀建設(shè)方案
- 14J936《變形縫建筑構(gòu)造》
評(píng)論
0/150
提交評(píng)論