版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機大作業(yè)-溫度控制系統(tǒng)設(shè)計班級:學號:姓名: 陳串串1 設(shè)計要求項目簡介:溫度的測量和控制對人類日常生活、工業(yè)生產(chǎn)、氣象預(yù)報、物資倉儲等都起著極其重要的作用。在許多場合,及時準確獲得目標的溫度、濕度信息是十分重要的,近年來,溫濕度測控領(lǐng)域發(fā)展迅速,并且隨著數(shù)字技術(shù)的發(fā)展,溫濕度的測控芯片也相應(yīng)的登上歷史的舞臺,能夠在工業(yè)、農(nóng)業(yè)等各領(lǐng)域中廣泛使用。鑒于此,本文對基于單片機的溫濕度計系統(tǒng)進行了相關(guān)研究。本系統(tǒng)是通過單片機控制來實現(xiàn)對周圍環(huán)境的溫濕度進行測量。本系統(tǒng)是以AT89C52單片機為控制單元、溫度傳感器DS18B20為主要檢測器件,實現(xiàn)溫度、濕度的測量、顯示、控制,并利用單片機之間的通信
2、功能,將所采集到的溫度和濕度值在液晶屏中顯示出來。溫度測量范圍為測溫范圍 4070,精度0.0625。 (1)溫度高于28啟動制冷開關(guān),從而使制冷壓縮機工作;(2)溫度低于15啟動加熱開關(guān),從而使加熱絲導通工作;(3)以上設(shè)定通過用戶從鍵盤上輸入實現(xiàn);(4)溫度需要用八段式LED顯示(溫度顯示范圍-4070);(5)制冷和制熱需要LED燈顯示其工作。2電路設(shè)計硬件電路的設(shè)計運用51單片機、七段數(shù)碼管、LED燈、晶振、電解電容、DS18B20、電阻、排阻、電源等組成全部系統(tǒng)。DS18B20可以程序設(shè)定912位的分辨率,精度為0.5C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定
3、的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價格比也非常出色!DS1822與 DS18B20軟件兼容,是DS18B20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的EEPROM,精度降低為2C,適用于對性能要求不高,成本控制嚴格的應(yīng)用,是經(jīng)濟型產(chǎn)品。 繼“一線總線”的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20和DS1822使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟的測溫系統(tǒng)。設(shè)計框圖如下:項目視圖 圖2-1 溫度控制系統(tǒng)原理總圖單片機 運用單片機處理溫度轉(zhuǎn)化成的串行數(shù)字信號,實現(xiàn)信號處理。將獲得
4、的結(jié)果通過輸出裝置輸出顯示在七段數(shù)碼管上,并且在最后的處理部分也借用了P2和P3口的三個引腳,來點亮所需要點亮的LED燈。 89C52單片機組成結(jié)構(gòu)中包含運算器、控制器、片內(nèi)存儲器、并行I/O口、串行I/O口、定時/計數(shù)器、中斷系統(tǒng)、振蕩器等功能部件。 圖2.1.1 單片機控制部分電路溫度采集部分運用一個DS18B20溫度傳感器作為外部溫度的檢測部分,并將采集好的串行數(shù)字信號供單片機處理。圖2.1.2 DS18B20傳感器獲取外界溫度電路溫度顯示部分六個七段數(shù)碼管組成顯示部分。圖2.1.3 溫度顯示部分溫度狀態(tài)指示電路 溫度高于指定溫度(28)時,LED-RED亮(代表制冷工作); 溫度在指定
5、溫度(1528)之間時,LED-GREEN亮; 溫度低于指定溫度(15)時,LED-BLUE亮(代表制熱工作)。圖2.1.4 狀態(tài)指示部分 軟件的設(shè)計#include #define W_IO P1 /片選線從左往右分別與P1.0-P1.4相連#define S_IO P0 /段選線從A-DP,分別與P0.0-p0.7相連#define uchar unsigned char#define ulong unsigned long#define uint unsigned intint t,a;uint temp,flag;float ftemp;sbit LED1=P20;sbit LED2=
6、P24;sbit LED3=P31;sbit ds=P34;uchar Time5;/數(shù)碼管要顯示的4位數(shù)字和溫度正負int code S_Data10=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;int code W_Data5=0x01,0x02,0x04,0x08,0x10;void delayms(int time)/延時函數(shù)int i,j;for(i=time;i0;i-)for(j=110;j0;j-);void LED(uchar Data5,uint dp,uint flag)/七段數(shù)碼管上的顯示程序 int i=0,j=
7、0;P0=0XFF;for(i=0;i0)i-; ds=1; i=4; while(i0)i-;bit du1wei() /讀一位數(shù)據(jù) uint i; bit dat; ds=0;i+; ds=1;i+;i+; dat=ds; i=8;while(i0)i-; return (dat);uchar du1zijie()/讀一字節(jié)數(shù)據(jù) uchar i,j,dat; dat=0; for(i=1;i=8;i+) j=du1wei(); dat=(j1); return(dat);void xie1wei (uchar dat)/寫一字節(jié) uint i; uchar j; bit test; for
8、(j=1;j1; if(test) ds=0;i+;i+;ds=1;i=8; while(i0)i-; else ds=0;i=8; while(i0)i-; ds=1;i+;i+; void xie_temp_zhuanhuan()/開始獲取溫度并轉(zhuǎn)換 init18b20(); delayms(1); xie1wei (0xcc); xie1wei (0x44);uint du_temp_flag()/讀存儲器中存儲的溫度,標記正負 uchar a,b; uint c; init18b20(); delayms(1); xie1wei (0xcc); xie1wei (0xbe); a=du
9、1zijie(); b=du1zijie();temp=b;temp0xf000) c=1;return c; uint du_temp_cunchuqi(uint flag)/讀存儲器中存儲的溫度,轉(zhuǎn)換 uchar a,b; init18b20(); delayms(1); xie1wei (0xcc); xie1wei (0xbe); a=du1zijie(); b=du1zijie();temp=b;temp=8;temp=temp|a; if(flag=1)temp=temp;temp=temp+1;ftemp=temp*0.0625;temp=ftemp*100+0.5;return
10、 temp; void baojin(uint flag)/溫度狀態(tài)處理 if(flag=1)LED1=0;LED2=1;LED3=0; else if(flag=0)if(temp=1500&temp2800)LED1=1;LED2=0;LED3=0;void main()/主函數(shù)while(1) xie_temp_zhuanhuan(); flag=du_temp_flag(); t=du_temp_cunchuqi(flag); Time0=flag; Time1=t/1000; Time2=t%1000/100; Time3=t/10%10; Time4=t%10; LED(Time,
11、2,flag); baojin(flag);部分代碼說明1.代碼全程引入一關(guān)鍵(全局)變量flag,代表溫度正負,當溫度在零上時,flag為0,溫度在零下時,flag為1,作為影響多個子函數(shù)的重要參數(shù)。2.void LED(uchar Data5,uint dp,uint flag)/八段數(shù)碼管上的顯示程序 int i=0,j=0;P0=0XFF;for(i=0;i5;i+) if(i=0) W_IO=W_Datai; if(flag=0) S_IO=0xff; else S_IO=0xbf;delayms(5); else if(dp!=i)W_IO=W_Datai;S_IO=S_DataD
12、atai; elseW_IO=W_Datai;S_IO=S_DataDatai&0x7f; delayms(5); 數(shù)碼管的顯示是另一關(guān)鍵,結(jié)合主函數(shù)可知,該子函數(shù)中i=0-4代表六聯(lián)數(shù)碼管上2-6即后五個的對應(yīng)處理情況,即i=0對應(yīng)符號位,i=1-4對應(yīng)數(shù)字位。符號位與數(shù)字位處理方式不同,故有了for循環(huán)內(nèi)第一層if-else條件判斷區(qū)分參數(shù)dp關(guān)系小數(shù)點位設(shè)定,主函數(shù)中取dp=2,對應(yīng)i=2時的小數(shù)點特殊處理,故有了第一層if-else中else下的又一層3測試結(jié)果仿真結(jié)果溫度信號模擬,仿真結(jié)果如圖。 溫度大于28度時,系統(tǒng)開啟制冷措施(紅燈亮) 溫度小于15度時,系統(tǒng)開啟取暖措施(藍燈亮
13、) 溫度在指定范圍15-28之間時,系統(tǒng)不采取任何措施(綠燈亮) 溫度低于測量下限時,系統(tǒng)發(fā)出警報(藍燈亮) 溫度高于測量上限時,系統(tǒng)發(fā)出警報(紅燈亮)4 總結(jié)本次單片機課程設(shè)計,不僅要求設(shè)計者能熟練使用單片機來實現(xiàn)溫度的采集與讀數(shù),熟練編寫程序,還要求對單片機的電路連接結(jié)構(gòu),對數(shù)碼管芯片有明確清晰的了解與認識。剛開始拿到老師給的題目,我們就開始分析應(yīng)該需要用到哪些知識,我們發(fā)現(xiàn)首先應(yīng)該了解Keil和protel軟件的使用,其次就是DS18B20的數(shù)據(jù)采集和編程問題。由于匯編程序是非常晦澀難懂的,所以我們決定采用C語言進行編程,而我們本身學的是匯編,所以我就在網(wǎng)上下載了一個郭天祥的基于C的單片機教學視頻,開始前幾天我基本就在看視頻學習。在學習過程中,我學到了很多編程技巧,對我之后寫編
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)物聯(lián)網(wǎng)(IoT)行業(yè)相關(guān)項目經(jīng)營管理報告
- 紗線成條和梳理機項目營銷計劃書
- 為第三方提供會計服務(wù)行業(yè)營銷策略方案
- 醫(yī)用蓖麻油產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 生物識別鎖項目運營指導方案
- 農(nóng)業(yè)作物病害化學防治行業(yè)經(jīng)營分析報告
- 草料混合機產(chǎn)品供應(yīng)鏈分析
- 健康技術(shù)智能藥盒行業(yè)相關(guān)項目經(jīng)營管理報告
- 自行車曲軸項目運營指導方案
- 電信業(yè)用收款機市場發(fā)展前景分析及供需格局研究預(yù)測報告
- 期中測試卷(1~3單元)(試題)2024-2025學年五年級上冊數(shù)學人教版
- 中歐班列課件
- 第三方機構(gòu)預(yù)算績效評價服務(wù)質(zhì)量考核表
- 老年護理??荚囶}+答案
- 期中考試卷(試題)-2024-2025學年三年級上冊數(shù)學人教版
- 2024-2030年中國特色小吃行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 華師版九年級數(shù)學 25.2 隨機事件的概率(學習、上課課件)
- 人教版生物八年級下冊 8.1.1傳染病及其預(yù)防-教案
- 部編版(2024)道德與法治一年級上冊第14課《人人愛護公物》教學課件
- 新能源發(fā)電項目投資合同三篇
- 2024-2025學年全國中學生天文知識競賽考試題庫(含答案)
評論
0/150
提交評論