




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 畢業(yè)設(shè)計用紙 中文摘要數(shù)字溫度警報器是利用傳感器檢測溫度。采用數(shù)碼管顯示當(dāng)前溫度。當(dāng)溫度低于下限溫度或者高于上限溫度時系統(tǒng)發(fā)出報警聲,從而起到測量和報警的功能。本系統(tǒng)以AT89C52單片機作為主控系統(tǒng),利用DS18B20數(shù)字溫度傳感器作為溫度傳感器件。通過四位共陽極數(shù)碼管作為顯示器件,通過單片機控制溫度顯示溫度。并可以設(shè)置溫度上下限,當(dāng)溫度不在設(shè)置的溫度范圍內(nèi),蜂鳴器發(fā)出報警聲。分析了溫度傳感器的工作原理。系統(tǒng)硬件電路以及軟件部分的設(shè)計。實際測試表明。該方案切實可行并已在許多通信領(lǐng)域得到廣泛應(yīng)用。關(guān)鍵詞: 單片機,溫度警報,DS18B20,AT89C52ABSTRACTIs to use d
2、igital temperature alarm temperature sensor detection. Using digital tube display the current temperature. When the temperature is lower than the floor temperature or higher than ceiling temperature alarm system, to measure and alarm function. This system with AT89C52 single-chip computer as the mas
3、ter control system, using DS18B20 digital temperature sensor as temperature sensor. Through the four digital tube as a display device, a total of anode, by single-chip microcomputer control temperature display temperature. And can set the upper and lower temperature, when the temperature is beyond t
4、he scope of the temperature of the set, alarm buzzer. Analyzed the working principle of temperature sensor. The system hardware circuit and software part of the design. The practical tests show that. The scheme is feasible and has been used widely in many fields of communications. Key words: single
5、chip microcomputer, temperature alarm, DS18B20, AT89C52目錄第一章 引言 1.1概論 1.2設(shè)計方案及研究內(nèi)容 第二章 相關(guān)技術(shù) 1.1溫度檢測芯片DS18B20 1.2所用代碼 第三章 系統(tǒng)硬件設(shè)計 1.1所用硬件及簡介 1.2 各個部分電路與分析 最小系統(tǒng) 溫度采集電路 LED顯示報警電路 第四章 系統(tǒng)軟件設(shè)計 1.1流程圖 主程序流程圖 DS18B20讀溫度流程圖 報警程序流程圖 1.2 實物圖及測試結(jié)果 總結(jié) 參考文獻 附錄A 附錄B附錄C 致謝 第一章 引言1.1概論本次試驗主要運用在單片機方面實行軟件控制硬件及用簡單的C語言程序
6、加上在最小系統(tǒng)的基礎(chǔ)上做一些簡單的修改做到對溫度的檢測什么是單片機呢?單片機 一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/ 計數(shù)器等功能集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領(lǐng)域的廣泛應(yīng)用。從上世紀(jì)80年代,由當(dāng)時的4位、8位單片機、發(fā)展到現(xiàn)在的32位300M的高速單片機。1.2 設(shè)計方案及研究內(nèi)容隨著傳感器在生產(chǎn)生活中更加廣泛的應(yīng)用,一種新型的數(shù)字式溫度傳感器實現(xiàn)對溫度的測試與控制得到了更快的開發(fā)。本文設(shè)計了一種基于單片機AT89C52的溫度檢測及報警系統(tǒng)。該系統(tǒng)將
7、溫度傳感器DS18B20接到單片機的一個端口上,單片機對溫度傳感器進行循環(huán)采集。將采集到的溫度值與設(shè)定的上下限進行比較,當(dāng)超出設(shè)定范圍的上下限時,通過單片機控制的報警電路就會發(fā)出報警信號,從而實現(xiàn)了本次課程設(shè)計的要求。該系統(tǒng)設(shè)計和布線簡單、結(jié)構(gòu)緊湊、體積小、重量輕、抗干擾能力較強、性價比高、擴展方便,在工農(nóng)業(yè)等領(lǐng)域的溫度檢測中有廣闊的應(yīng)用前景。本次課程設(shè)計的測量范圍為0-99,測量誤差為2。第二章 相關(guān)技術(shù)1.1溫度檢測芯片DS18B20DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼 封裝式,型號多種多樣,有LTM8877,LTM8874等
8、等。主要根據(jù)應(yīng)用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。DS18B20在出廠時以配置為12位,讀取溫度時共讀取16位,所以把后11位的2進制轉(zhuǎn)化為10進制后在乘以0.0625便為所測的溫度,還需要判斷正負。前5個數(shù)字為符號位,當(dāng)前5位為1時,讀取的溫度為負數(shù);當(dāng)前5位為0時,讀取的溫度為正數(shù)。1.2溫度所用代碼void convert(void) /啟動DS18B20開始溫度轉(zhuǎn)換 bit err
9、; err=reset(); /復(fù)位傳感器 wrbyte(0xcc); /跳過多傳感器識別 wrbyte(0x44); /啟動溫度轉(zhuǎn)換 int readt(void)/讀取DS18B20暫存器中的溫度值 uchar h,l; bit err; err=reset(); /復(fù)位傳感器 wrbyte(0xcc); /跳過多傳感器識別 wrbyte(0xbe); /讀暫存器指令 l=rdbyte(); /讀溫度低位 h=rdbyte(); /讀溫度高位 return(h*256+l); main() bit zf;/正負標(biāo)記,0:正數(shù) 1:負數(shù) while(1) convert(); /啟動溫度轉(zhuǎn)換
10、 t=readt(); /讀取溫度值 zf=0; if(t4; dbuf3=t/100;/求出百位 t=t%100; dbuf2=t/10; /求出十位 dbuf1=t%10; /求出個位 if(zf=1)/如果是負數(shù) if(dbuf2=0) /如果十位為0 dbuf3=0x13; /顯示格式為 -x.x dbuf2=0x12; else /如果十位不為0 dbuf3=0x12; /顯示格式為-xx.x else /否則,如果是正數(shù) if(dbuf3=0) /如果百位、十位都是0 if(dbuf2=0) /顯示格式為 x.x dbuf2=0x13; / 如果只有百位為0 dbuf3=0x13;
11、 /顯示格式為 xx.x disp(); alarm(); void alarm() /報警 if(setValue_low=t | setValue_high=t) beep=beep; led=led; /在溫度允許范圍,不報警 else beep=1; 第三章 系統(tǒng)硬件設(shè)計1.1所用硬件及簡介 RP1 排阻 C1、C2 電容 33P ;C3 電容 100u ;S1 按鍵開關(guān);X1 晶振 12M ;Q1 三極管 PNP ; LS1 蜂鳴器;U1 51單片機;U2 溫度傳感器;U3 集成芯片;U4 4位7段數(shù)碼管 共陽; 串口頭 母頭;USB頭;洞洞板其中(一些元器件需要注意):4位數(shù)碼管
12、共陽-焊接的時候順序一定要對,千萬不能跟共陰的數(shù)碼管搞混合;DS18B20溫度傳感器注意接地和VCC接口不要接反 和最小系統(tǒng)電路連接時要接對引腳不能搞混;串口頭 母頭 RS-232端口引腳定義:(因為計算機后面的串口多為公頭,所以此母頭可以直接插入計算機的COM口進行連接) 引腳序號:2 3 5 信號定義:TXD RXD 地 (只要接2號、3號和5號口接可以了);PNP三極管:左邊第一腳是b,中間是c,右邊是e這樣的話c接高電平,e接低電平,b接低電平三極管就會導(dǎo)通。b接高電平就會截止。還有些情況,中間是b左邊是e右邊是c。可用萬用表測一下就好了 (得接的時候要在后面加個小電阻 不然三極管會燒
13、壞)1.2 各個部分電路與分析最小系統(tǒng)本次課程設(shè)計中選用AT89C52式單片機,其最小系統(tǒng)主要由電復(fù)位、振蕩電路組成。單片機的最小系統(tǒng)如圖所示。單片機的復(fù)位電路原理是在單片機的復(fù)位引腳RST上電阻和電容,實現(xiàn)上電復(fù)位。當(dāng)復(fù)位電平持續(xù)兩個時鐘周期以上時復(fù)位有效。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成,上電復(fù)位是在復(fù)位引腳上連接一個電容到VCC,再連接一個電阻到GND;按鍵復(fù)位是在復(fù)位電容上并聯(lián)一個開關(guān),當(dāng)開關(guān)按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復(fù)位。AT89C51單片機使用12MHZ的晶振最為振蕩源,由于單片機內(nèi)部有振蕩電路,所以外部只要連
14、接一個晶振和兩個電容即可,電容一般在15pF至50pF之間。外部晶振結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率。溫度采集電路溫度采集電路部分,采用數(shù)字溫度傳感器DS18B20進行溫度采集。DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3個引腳;溫度側(cè)量范圍為-55+125,測量精度為0.5;被測溫度用符號擴展的16位數(shù)字量方式串行輸出;CPU只需用一個端口線就可以與DS18B20通信。溫度采集電路如圖所示LED顯示報警電路LED數(shù)碼管與單片機的P0口相連,單片機將采集到的溫度值轉(zhuǎn)化為與數(shù)碼管對應(yīng)的數(shù)據(jù),通過P0口輸出顯示。即信號通過譯碼管的端口a、b、c、d、e、f、g 、d
15、p 端來控制每段譯碼管的亮滅與否,同時通過端口1、2、3、4 四個端口來控制四個譯碼管。在本次設(shè)計中,用三極管驅(qū)動數(shù)碼管。同時當(dāng)采集到的溫度值超過所設(shè)置的范圍時,單片機會輸出一信號,通過三極管放大后驅(qū)動蜂鳴器發(fā)出報警信號。LED數(shù)碼管報警電路如圖所示第四章 系統(tǒng)軟件設(shè)計1.1流程圖主程序流程圖主程序中對單片機做了初始化的設(shè)計,包含溫度的讀取、數(shù)碼管顯示、報警三個子系統(tǒng),運行時由主程序先調(diào)用DS18B20讀取溫度的子函數(shù)進行溫度采集,再將數(shù)據(jù)送入數(shù)碼管顯示。同時判斷所采集的數(shù)據(jù)是否超出所設(shè)置的溫度范圍。如果超出,調(diào)用報警子系統(tǒng);未超出,程序自動返回。主程序流程圖如圖所示DS18B20讀取溫度流程
16、圖根據(jù)DS18B200的通訊協(xié)議,單片機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預(yù)定的操作(復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒然后釋放,當(dāng)DS18B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功)。DS18B20讀取溫度時先讀取溫度低字節(jié),在讀取溫度高字節(jié)。程序中命令0xCC:跳過讀序號列號的操作;命令0x44:啟動溫度轉(zhuǎn)換;命令0xBE:讀取溫度寄存器等,前兩個字節(jié)就是溫度。后面的寄存器省略不讀。DS1
17、8B20讀取溫度流程圖如圖所示報警程序流程圖程序中首先判斷所讀取的溫度是否超出所設(shè)定的下限,如果超出下限,報警器報警;如果沒超出下限,再跟上限值比較判斷是否超出上限。如果超出,則報警;若無,程序返回。報警程序流程圖如圖所示1.2 實物圖及測試結(jié)果 經(jīng)本人測試結(jié)果顯示,當(dāng)我用手握住傳感器,溫度超過30C時候,蜂鳴器會發(fā)出警報;松開傳感器,在特殊處理情況下當(dāng)溫度降低到0C以下的時候蜂鳴器也會發(fā)出警報。測試結(jié)果是正確的??偨Y(jié) 程序在編譯過程中,出現(xiàn)了一些語法錯誤,經(jīng)過細心修改得以糾正。但是,將程序下載到單片機之后發(fā)現(xiàn)數(shù)碼管上顯示的溫度十位數(shù)數(shù)值變化太大各位數(shù)基本不變由此可以判定此程序在溫度輸出時數(shù)值
18、的十位和個位搞混了,經(jīng)過重新編譯修改解決問題,本次試驗我最大的問題就是不知道如何焊接數(shù)碼管,通過查找資料和指導(dǎo)老師的支持才攻克了這一難題。經(jīng)過四周時間的設(shè)計,我的設(shè)計完成了所有設(shè)計要求,系統(tǒng)能夠完成上、下限溫度發(fā)聲報警且顯示功能、數(shù)字顯示溫度計功能、輸入報警溫度出錯提示功能。此次溫度計設(shè)計,讓我學(xué)會了規(guī)范化程序的編寫、程序調(diào)試的各種方法以及解決調(diào)試過程中出現(xiàn)的一系列的問題。更重要的是讓我明白程序的優(yōu)化是多么重要。要想編寫出一個系統(tǒng)的程序,就必須十分清楚硬件電路中所用芯片的工作原理以及使用它們的一些注意事項,比如這次設(shè)計中所用的DS18B20數(shù)字溫度傳感器,它的時序要求十分嚴(yán)格,由于它是采用單總
19、線結(jié)構(gòu)的輸入輸出方法,它的時序中所用到的延時必然很關(guān)鍵,時間過長了會使整個溫度計的反應(yīng)時間變慢,延時時間過短會使傳感器不能正常工作參考文獻劉建亭,毛善坤DS18B20 工作原理及基于C 語言的接口設(shè)計河南科技大學(xué)機電工程學(xué)院DS18B20百度百科,單片機技術(shù)百度百科,最小系統(tǒng)百度百科何立民單片機應(yīng)用技術(shù)選編北京航空航天大學(xué)出版,1996何立民主編. MCS-51單片機應(yīng)用系統(tǒng)設(shè)計.北京:北京航天航空大學(xué)出版社,1990黃志偉主編.全國大學(xué)生電子設(shè)計競賽電路設(shè)計.M北京:北京航空航天大學(xué)出版社,2006年.P5-P21張學(xué)昭、王東云主編.單片機原理、接口技術(shù)及應(yīng)用(含C51).M西安:西安電子科
20、技大學(xué)出版社,2009年.P33-P45張毅剛、劉杰主編.單片機原理與應(yīng)用.M哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2010年.P55-P60附錄A:總電路圖附錄B:元器件清單序號 編號 名稱 型號 數(shù)量1 R1 電阻 4.7K 22 R2 電阻 100K 23 R3 電阻 5K 24 RP1 排阻 5K 25 C1、C2 電容 33P 36 C3 電容 100u 27 S1 按鍵開關(guān) 28 X1 晶振 12M29 Q1 三極管 PNP 210 LS1 蜂鳴器 211 U1 51單片機STC89C52212 U2 溫度傳感器DS18B20 213 Q1 三極管 PNP型 414 U4 4位7段數(shù)碼管共
21、陽 2附錄C:程序清單#define uchar unsigned char #include #include sbit DQ=P11;/DS18B20的數(shù)據(jù)線sbit beep=P12;sbit led=P10;bdata uchar dat; /用于數(shù)據(jù)收發(fā)sbit dat0=dat0;/變量dat的最低位sbit dat7=dat7;/變量dat的最高位uchar dp16=0,0,1,1,2,3,3,4,5,5,6,6,7,8,8,9;/小數(shù)部分轉(zhuǎn)換uchar code segtab=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90
22、, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0x8c,0xbf,0xff;uchar dbuf4=0,0,0,0x12;/ 顯示緩存uchar setValue_low=10;uchar setValue_high=30;void alarm();int t;void disp(void) /LED動態(tài)顯示程序 uchar i,n,bsel; bsel=0xfe; /首先點亮最低位 for(n=0;n4;n+) P2=bsel; P0=segtabdbufn;/將顯示緩存的數(shù)據(jù)轉(zhuǎn)換為字段碼顯示 if(n=1) P0=P0&0x7F; /定點顯示小數(shù)點 bsel=(
23、bsel1)+1; /準(zhǔn)備顯示下一位 for(i=1;i0;i-) /循環(huán)寫8位(先低位,后高位) DQ=0; /產(chǎn)生15?s的負脈沖 delay15(1); DQ=dat0;/將當(dāng)前數(shù)據(jù)位送數(shù)據(jù)線 dat=dat1;/將下一位要寫入的數(shù)據(jù)移到最低位 delay15(1);/延時15?s DQ=1; /數(shù)據(jù)線拉高,為寫入下一位做準(zhǔn)備 uchar rdbyte(void)/從DS18B20讀取一個字節(jié) uchar i; dat=0;/讀出數(shù)據(jù)初值為0 for(i=8;i0;i-) /循環(huán)讀8位(先低位,后高位) dat=dat1; /讀出數(shù)據(jù)先右移一位DQ=0; /產(chǎn)生1?s的負脈沖_nop_(); DQ=1;/數(shù)據(jù)總線拉高 delay15(1); /延時15?s dat7=DQ;/讀取數(shù)據(jù) delay15(4); /延時,為讀下一位做準(zhǔn)備 return(dat); void convert(void) /啟動DS18B20開始溫度轉(zhuǎn)換 bit err; err=reset(); /復(fù)位傳感器 wrbyte(0xcc); /跳過多傳感器識別 wrbyte(0x44); /啟動溫度轉(zhuǎn)換 int readt(void)/讀取DS18B20暫存器中的溫度值 uchar h,l; bit err; err=reset
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 移動品牌策劃公司創(chuàng)業(yè)
- 五級(初級)茶藝師模擬練習(xí)題+參考答案
- 2024-2025學(xué)年人教版高二化學(xué)選擇性必修3配套課件 基礎(chǔ)課時1 有機化合物的分類方法
- 腎內(nèi)科??颇?荚囶}與答案
- 創(chuàng)業(yè)立項項目結(jié)題答辯
- 校本研修匯報材料
- 中介股東協(xié)議合同范例
- 腦梗死后遺癥的護理
- 深度思維在營銷中的應(yīng)用
- 產(chǎn)品保真合同范例
- 二零二五年度醫(yī)療健康產(chǎn)業(yè)貸款擔(dān)保合同
- 2025年安徽醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫及答案一套
- 2025年贛西科技職業(yè)學(xué)院單招職業(yè)技能測試題庫帶答案
- 急性ST段抬高型心肌梗死溶栓治療專家共識2024解讀
- 電影《哪吒之魔童降世》主題班會
- 2024年高中歷史 第2課 中華文化的世界意義說課稿 部編版選擇性必修3
- 2025年湖南科技職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年鎮(zhèn)江市高等??茖W(xué)校高職單招高職單招英語2016-2024年參考題庫含答案解析
- 《病例隨訪匯報》課件
- 2025江蘇省沿海開發(fā)集團限公司招聘23人高頻重點提升(共500題)附帶答案詳解
- 2024年09月2024華夏金融租賃有限公司校園招聘筆試歷年參考題庫附帶答案詳解
評論
0/150
提交評論