電熱水器溫度智能控制系統(tǒng)的設(shè)計(jì)_第1頁(yè)
電熱水器溫度智能控制系統(tǒng)的設(shè)計(jì)_第2頁(yè)
電熱水器溫度智能控制系統(tǒng)的設(shè)計(jì)_第3頁(yè)
電熱水器溫度智能控制系統(tǒng)的設(shè)計(jì)_第4頁(yè)
電熱水器溫度智能控制系統(tǒng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

IPAGE附錄C:硬件實(shí)物圖附錄D:C語(yǔ)言程序代碼#include<reg52.h>#include<DS18B20.h>#include<HW.h>ude<LCD1602.h>#include<INTERRUPT.h>#include<EEPROM.h>sbitkey_set=P1^0;sbitkey_jia=P1^1;sbitkey_jian=P1^2;sbitkey_ok=P1^3sbitbuzz=P2^4;sbitrelay=P3^6;ucharTemperature_up,Temperature_down;ucharset_f=0;ucharnum=99; /*********蜂鳴器********/voiddidi(){ buzz=0; delayms(5); buzz=1;}/*********LCD顯示部分********/voiddisplay(){ if(presence==0) { if(fuhao==0) LCD_disp_char(0,1,'+'); else LCD_disp_char(0,1,'-'); lcd1602_write_character(1,1,temp_t); LCD_disp_char(8,1,0); LCD_disp_char(9,1,'C'); if(fen==0) { if(wendu<Temperature_down) { relay=0; buzz=1; } else if(wendu>=Temperature_up) { relay=1; buzz=0; } else buzz=1; } } else { buzz=1; relay=1; lcd1602_write_character(0,1,"NOT"); } lcd1602_write_character(11,1,"T:"); LCD_disp_char(13,1,ASCII[fen/100]); LCD_disp_char(14,1,ASCII[fen%100/10]); LCD_disp_char(15,1,ASCII[fen%10]); lcd1602_write_character(0,2,"Up:"); LCD_disp_char(3,2,ASCII[Temperature_up/100]); LCD_disp_char(4,2,ASCII[Temperature_up%100/10]); LCD_disp_char(5,2,ASCII[Temperature_up%10]); lcd1602_write_character(8,2,"Down:"); LCD_disp_char(13,2,ASCII[Temperature_down/100]); LCD_disp_char(14,2,ASCII[Temperature_down%100/10]); LCD_disp_char(15,2,ASCII[Temperature_down%10]);}/*********設(shè)置模式*******/voiddisplay2(){ num++; EX0=0; DS18B20_Read_Temperature(); DS18B20_Temperature(); EX0=1; if(fuhao==0) LCD_disp_char(0,1,'+'); else LCD_disp_char(0,1,'-'); lcd1602_write_character(1,1,temp_t) LCD_disp_char(8,1,0); LCD_disp_char(9,1,'C'); lcd1602_write_character(11,1,"T:"); lcd1602_write_character(0,2,"Up:"); lcd1602_write_character(8,2,"Down:"); if(num%2==0) { LCD_disp_char(13,1,ASCII[fen/100]); LCD_disp_char(14,1,ASCII[fen%100/10]); LCD_disp_char(15,1,ASCII[fen%10]); LCD_disp_char(3,2,ASCII[Temperature_up/100]); LCD_disp_char(4,2,ASCII[Temperature_up%100/10]); LCD_disp_char(5,2,ASCII[Temperature_up%10]); LCD_disp_char(13,2,ASCII[Temperature_down/100]); LCD_disp_char(14,2,ASCII[Temperature_down%100/10]); LCD_disp_char(15,2,ASCII[Temperature_down%10]); } else { switch(set_f) { case1:lcd1602_write_character(13,1,"");break; case2:lcd1602_write_character(3,2,"");break; case3:lcd1602_write_character(13,2,"");break; default:break; } }}/*********按鍵處理********/voidscan(void){ if(key_set==0||rec==1) { delayms(7); if(key_set==0||rec==1) { didi(); buzz=1; relay=1; set_f++; if(set_f==4) { set_f=0; EEPROM_delete(0x2002); EEPROM_write(0x2002,Temperature_up); EEPROM_delete(0x2202); EEPROM_write(0x2202,Temperature_down); if(fen!=0) TR0=1; } } while(!key_set); } if((key_ok==0||rec==4)&&set_f!=0) { delayms(7); if(key_ok==0||rec==4) { didi(); set_f=0; EEPROM_delete(0x2002); EEPROM_write(0x2002,Temperature_up); EEPROM_delete(0x2202); EEPROM_write(0x2202,Temperature_down); if(fen!=0) TR0=1; } while(!key_ok); } if((key_jia==0||rec==2)&&set_f!=0) { delayms(3); if(key_jia==0||rec==2) { didi(); if(set_f==1) { fen++; if(fen>999) fen=0; } if(set_f==2) { if(Temperature_up<125) Temperature_up++; } if(set_f==3) { if(Temperature_down<125&&Temperature_down+1<Temperature_up) Temperature_down++; } } } if((key_jian==0||rec==3)&&set_f!=0) { delayms(3); if(key_jian==0||rec==3) { didi(); if(set_f==1) { if(fen==0) fen=999; else fen--; } if(set_f==2) { if(Temperature_up!=0&&Temperature_up>Temperature_down+1) Temperature_up--; } if(set_f==3) { if(Temperature_down!=0) Temperature_down--; } } } if(rec==5&&set_f!=0) { didi(); if(set_f==1) set_f=3; else set_f--; } if(rec==6&&set_f!=0) { didi(); if(set_f==3) set_f=1; else set_f++; } rec=0;}/*********主函數(shù)********/voidmain(){ if(key_ok==0) { delayms(100); if(key_ok==0) { EEPROM_delete(0x2002); EEPROM_write(0x2002,38); EEPROM_delete(0x2202); EEPROM_write(0x2202,16); } } Temperature_up=EEPROM_read(0x2002); Temperature_down=EEPROM_read(0x2202); LCD_init(); lcd1602_write_pic(0,pic); display(); DS18B20_init(); HW_init(); T0_init(); for(num=0;num<250;num++) DS18B20_Read_Temperature(); while(1) { scan(); if(set_f==0) { num++; if(num>=100) { EX0=0; num=0; DS18B20_Read_Temperature(); DS18B20_Temperature(); EX0=1; display(); } } else display2(); }}#ifndef_DS18B20_H_#define_DS18B20_H_#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint/*********DS18B20溫度傳感器********/uchartemp_data[2];uchartemp_t[7];uchardatatemp_d[5];bitpresence=1;ucharfuhao=0;ucharwendu;ucharcodeASCII2[]={'0','1','2','3','4','5','6','7','8','9','.'};voidDelay(unsignedintnum);voidDS18B20_

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論