




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于51單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)一課題選擇隨著時(shí)代的發(fā)展,控制智能化,儀器小型化,功耗微量化得到廣泛關(guān)注。單片機(jī)控制系統(tǒng)無(wú)疑在這方面起到了舉足輕重的作用。單片機(jī)的應(yīng)用系統(tǒng)設(shè)計(jì)業(yè)已成為新的技術(shù)熱點(diǎn),其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,它可廣泛應(yīng)用與生產(chǎn)生活的各個(gè)方面,具有巨大的市場(chǎng)前景。二設(shè)計(jì)目的1. 理解掌握51單片機(jī)的功能和實(shí)際應(yīng)用。2. 掌握仿真開發(fā)軟件的使用。3. 掌握數(shù)字式溫度計(jì)電路的設(shè)計(jì)、組裝與調(diào)試方法。三實(shí)驗(yàn)要求1. 以51系列單片機(jī)為核心器件,組成一個(gè)數(shù)字式溫度計(jì)。2. 采用數(shù)字式溫度傳感器為檢測(cè)器件,進(jìn)行單點(diǎn)溫度檢測(cè)。3. 溫度顯示采用4位LED數(shù)碼管顯示,三位整數(shù),一位小數(shù)。四設(shè)
2、計(jì)思路1. 根據(jù)設(shè)計(jì)要求,選擇STC89C51RC單片機(jī)為核心器件。2. 溫度檢測(cè)采用DS18B20數(shù)字式溫度傳感器。與單片機(jī)的接口為P3.6引腳。3. 采用usb數(shù)據(jù)線連接充電寶供電,接電后由按鈕開關(guān)控制電路供電。硬件電路設(shè)計(jì)總體框圖為圖1:五系統(tǒng)的硬件構(gòu)成與功能1. 主控制器單片機(jī)STC89C51RC具有低電壓供電和體積小等特點(diǎn),有40個(gè)引腳,其仿真圖像如下圖所示:2. 顯示電路顯示電路采用4位共陽(yáng)LED數(shù)碼管,從P3口RXD,TXD串口輸出段碼。LED數(shù)碼管在仿真軟件中如下圖所示:3. 溫度傳感器DS18B20是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電
3、阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。DS18B20的性能特點(diǎn)如下:1. 獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊。2. 簡(jiǎn)單的多點(diǎn)分布應(yīng)用。3. 無(wú)需外部器件。4. 可通過(guò)數(shù)據(jù)線供電。5. 零待機(jī)功耗。6. 測(cè)溫圍-55+125攝氏度。其電路圖如下圖所示:在仿真軟件中如下圖所示:DS18B20的測(cè)溫原理圖如下圖所示:在正常測(cè)溫情況下,DS18B20的測(cè)溫分辨力為0.5攝氏度,可采用下述方法獲得高分辨率的溫度測(cè)量結(jié)果。:首先用DS18B20提供的讀暫存器指令(BEH)讀出以0.5攝氏度為分辨率的溫度測(cè)量結(jié)果,然后切去測(cè)量結(jié)果中的最低
4、有效位(LSB),得到所測(cè)實(shí)際溫度的整數(shù)部分Tz,然后再利用BEH指令取計(jì)數(shù)器1的計(jì)數(shù)剩余值Cs和每度計(jì)數(shù)值CD??紤]到DS18B20測(cè)量溫度的整數(shù)部分以0.25、0.75攝氏度為進(jìn)位界限的關(guān)系,實(shí)際溫度Ts可以用下式計(jì)算:Ts=(Tz-0.25)+(CD-Cs)/CD六系統(tǒng)整體硬件電路根據(jù)設(shè)計(jì)要求與設(shè)計(jì)思路,硬件電路設(shè)計(jì)框圖如下圖所示,在仿真軟件Proteus上完成,其中LED數(shù)碼管以動(dòng)態(tài)掃描法實(shí)現(xiàn)溫度顯示,由四個(gè)PNP型晶體管Q2,Q3,Q4,Q5和8個(gè)電阻組成?;鶚O與單片機(jī)的P1.0,P1.1,P1.2連接,DS18B20的數(shù)據(jù)I/O端與單片機(jī)P3.6引腳連接。外部晶振為12MHZ。七系
5、統(tǒng)程序設(shè)計(jì)數(shù)字式溫度計(jì)的應(yīng)用程序主要包括主程序,溫度檢測(cè)程序,溫度轉(zhuǎn)換程序,LED顯示程序等。其思路如下圖所示:八測(cè)量與其結(jié)果分析1. Proteus仿真結(jié)果軟件方面,在Proteus編譯下進(jìn)行,源程序編譯與仿真調(diào)試。在軟件中選定傳感器后可對(duì)其進(jìn)行環(huán)境溫度設(shè)置,如下圖,將環(huán)境溫度設(shè)為34.9.2. 硬件測(cè)試結(jié)果在硬件測(cè)試方面,檢查電路板與焊接的質(zhì)量情況,在焊接無(wú)誤后通電檢查L(zhǎng)ED顯示器。其中成品圖如圖所示:通電后,室溫下LED的示數(shù)如圖所示九設(shè)計(jì)心得體會(huì)本次實(shí)驗(yàn)對(duì)我們組來(lái)說(shuō)是一次難得的經(jīng)歷,首先是第一次接觸了仿真軟件Proteus,在使用時(shí)經(jīng)歷了很多次失敗,因?yàn)檫@款軟件與以前使用過(guò)的軟件有很大
6、不同,使用時(shí)不停出錯(cuò),接線時(shí)由于原件放置不合理而接的雜亂無(wú)章,輸入源程序時(shí)還算順利,顯示結(jié)果比較滿意。其次是程序設(shè)計(jì),我們?cè)趨⒖紕e人成功先例的基礎(chǔ)上根據(jù)自己設(shè)計(jì)的需要進(jìn)行編程,其中經(jīng)歷了不少曲折,最后我的收獲是編程一定要細(xì)心,針對(duì)每一個(gè)細(xì)節(jié),稍有疏忽程序就不能正常運(yùn)行。在這次的實(shí)踐與學(xué)習(xí)中,盡管期間困難重重,但我們還是從中學(xué)習(xí)了不少新的知識(shí)和技能,也體會(huì)到了經(jīng)歷失敗最終成功的喜悅??傊ㄟ^(guò)這次電工電子綜合設(shè)計(jì),我收獲了很多,我希望自己在今后的各項(xiàng)研究工作中也堅(jiān)持這種精神。十附錄 源程序#include<reg52.h>#include <intrins.h>#defi
7、ne uchar unsigned char #define uint unsigned intsbit DATA = P11; /DS18B20接入口uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/共陰極字型碼int temp; /溫度值int ss;
8、60; /中間的一個(gè)變量int dd;int j;uchar data b;/定時(shí)器中斷次數(shù)uchar data buf4;/字型顯示中間變量int alarmH=320; /默認(rèn)報(bào)警值int alarmL=100;/定義開關(guān)的接入口sbit k1=P25;/+sbit k2=P26;/-sbit k3=P27;/確認(rèn)sbit k4=P24; /切
9、換sbit bell=P10; /蜂鳴器sbit HLight=P12; /正溫指示燈sbit LLight=P13; /負(fù)溫度指示燈sbit warn=P14; /報(bào)警指示燈sbit Red=P16; /溫度上限設(shè)置指示燈sbit Green=P17; /溫度下限設(shè)置指示燈bit set=0; /初始化bit
10、Flag=0; /設(shè)置標(biāo)志int n;/函數(shù)的聲明區(qū)void key_to1();void key_to2();void delay(uint); void key();void Show();/函數(shù)的定義區(qū)/*延時(shí)子函數(shù)*/void delay(uint num) while(num-) ;/DS18b20溫度傳感器所需函數(shù),分為初始化,讀寫字節(jié),讀取溫度4個(gè)函數(shù)Init_DS18B20(void)
11、160; /傳感器初始化 uchar x=0; DATA = 1; /DQ復(fù)位 delay(10); /稍做延時(shí) DATA = 0; /單片機(jī)將DQ拉低 delay(80); /精確延時(shí) 大于 480us
12、 /450 DATA = 1; /拉高總線 delay(20); x=DATA; /稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 delay(30);ReadOneChar(void) /讀一個(gè)字節(jié) ucha
13、r i=0; uchar dat = 0; for (i=8;i>0;i-) DATA = 0; / 給脈沖信號(hào) dat>>=1;
14、0; DATA = 1; / 給脈沖信號(hào) if(DATA) dat|=0x80; de
15、lay(8); return(dat);WriteOneChar(unsigned char dat) /寫一個(gè)字節(jié) uchar i=0; for (i=8; i>0; i-)
16、; DATA = 0; DATA = dat&0x01; delay(10); DATA = 1; dat>>=1;
17、 delay(8);int ReadTemperature(void) /讀取溫度 uchar a=0; uchar b=0; int t=0; float tt=0; Init_DS18B20(); WriteOneC
18、har(0xCC); / 跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20(); WriteOneChar(0xCC); /跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE); /讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度 a=ReadOneChar();
19、/低位 b=ReadOneChar();/高位 t=b; t<<=8; t=t|a; tt=t*0.0625; t= tt*10+0.5; return(t);void display0
20、0() /*顯示負(fù)值子函數(shù) dd=-(temp-1); buf1=dd/100; buf2=dd/100; buf3=dd%100/10; buf0=dd%10; /動(dòng)態(tài)顯示
21、 for(j=0;j<5;j+) P2=0xff; / 初始燈為滅的 P0=0x00; P2=0xfd; /顯示小數(shù)點(diǎn) &
22、#160; P0=0x80; /顯示小數(shù)點(diǎn) delay(100); P2=0xff; / 初始燈為滅的 P0=0x00; P2=0xf7; /片選LCD1 P0=0x40; delay(100); P
23、2=0xff; P0=0x00; P2=0xfb; /片選LCD2 P0=tablebuf2; delay(100); P2=0xff; P0=0x00; P2=0Xfd;/片選LCD3 P0=tablebuf3; &
24、#160; delay(100); P2=0xff; P0=0x00; P2=0Xfe; P0=tablebuf0; /片選LCD4 delay(100);
25、 P2=0xff; /顯示正值子函數(shù)void display() buf1=temp/1000;/顯示百位 buf2=temp/100%10;/顯示十位 buf3=temp%100/10;/顯示個(gè)位
26、 buf0=temp%10; /小數(shù)位 for(j=0;j<3;j+) P2=0xff; / 初始燈為滅的
27、; P0=0x00; P2=0xfd; /顯示小數(shù)點(diǎn) P0=0x80; /顯示小數(shù)點(diǎn) delay(300); P2=0xff;
28、; / 初始燈為滅的 P0=0x00; P2=0xf7; /片選LCD1 P0=tablebuf1;
29、0; delay(300); P2=0xff; P0=0x00; P2=0xfb; /片選LCD2 P0=tablebuf2; delay(300)
30、; P2=0xff; P0=0x00; P2=0Xfd; /片選LCD3 P0=tablebuf3; delay(300); P2=0xff;
31、P0=0x00; P2=0Xfe; P0=tablebuf0; /片選LCD4 delay(300); P2=0xff; void key(
32、) /按鍵掃描子程序 if(k1!=1) delay(20); if(k1!=1) while(k1!=1)
33、60; key_to1(); for(n=0;n<8;n+) Show();
34、; if(k2!=1) delay(20); if(k2!=1)
35、160; while(k2!=1) key_to2(); &
36、#160; for(n=0;n<8;n+) Show();
37、 if(k3!=1) TR0=1; /復(fù)位,開定時(shí) temp=ReadTemperature();
38、160; if(k4!=1) delay(20); if(k4!=1) while(k4!=1); set=!set; &
39、#160; if(set=0) Red=0;Green=1; else Green=0;Red=1;
40、60; void key_to1() TR0=0; /關(guān)定時(shí)器 temp+=10; if(temp>=1100)
41、160; temp=-550; if(set=0) alarmH=temp; else alarmL=temp; void key_to2()
42、 TR0=0; /關(guān)定時(shí)器 temp-=10; if(temp<=-550) temp=1100;
43、 if(set=0) alarmH=temp; else alarmL=temp;void alarm(void) if(temp>alarmH|temp<alarmL) /bell=1;
44、 /delay(50); /bell=0; Flag=1; else Flag=0;logo()/開機(jī)的Logo P0=0x40; P2=0xf7;
45、60; delay(50); P2=0xfb; delay(50); P2=0Xfd; delay(50); P2=0Xfe; delay(50); P1 = 0xff; /
46、關(guān)閉顯示void Show() /顯示函數(shù),分別表示溫度正負(fù)值 if(temp>=0) HLight=1;LLight=0;display(); if(temp<0) HLight=0;LLight=1;display00();void main() TCO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZJWL 001-2024 大宗商品供應(yīng)鏈金融動(dòng)產(chǎn)質(zhì)押監(jiān)管倉(cāng)儲(chǔ)服務(wù)規(guī)范
- T-ZNZ 264.3-2024 重金屬中度污染農(nóng)田土壤修復(fù)和安全利用技術(shù)規(guī)范 第3部分:超積累東南景天與芝麻輪作
- 二零二五年度服裝品牌廠家全國(guó)代理合作協(xié)議
- 2025年度電影院包場(chǎng)租賃及廣告合作合同
- 二零二五年度金融科技股權(quán)投資合同協(xié)議
- 二零二五年度工傷事故賠償調(diào)解協(xié)議(含傷殘?jiān)u定)
- 二零二五年度全包裝修合同模板含定制家具制作
- 2025年度離職賠償協(xié)議書中的離職員工離職通知及手續(xù)辦理
- 二零二五年度聯(lián)防聯(lián)控疫情防控科研合作合同
- 2025年度線上虛擬購(gòu)物體驗(yàn)合同書
- 硬筆書法紙(打直接打印)
- 陳銀子礦山基建施工組織方案方案
- 襄陽(yáng)房地產(chǎn)市場(chǎng)月報(bào)2024年08月
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)的架構(gòu)與功能
- 八年級(jí)英語(yǔ)下冊(cè)課件教學(xué)
- 人教版(2019) 必修第二冊(cè) Unit 1 Cultural Heritage Discovering Useful Structures(教案)
- 陳獨(dú)秀生平事跡
- 2024年人教版初三數(shù)學(xué)(下冊(cè))模擬試卷及答案(各版本)
- 《大學(xué)美育》高職全套教學(xué)課件
- 醫(yī)院CT機(jī)房裝飾改造工程施工組織設(shè)計(jì)
- 軟件工程自考02333重點(diǎn)難點(diǎn)匯集
評(píng)論
0/150
提交評(píng)論