




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
IPAGE附錄C:硬件實物圖附錄D:C語言程序代碼#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]);}/*********設置模式*******/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;}/*********主函數********/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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教版九年級上冊歷史知識拓展計劃
- 餐飲行業承包人管理計劃
- 環保行業年度安全生產管理計劃
- 應聘人員聘用協議書
- 房產認購保密協議書
- 房屋差價補償協議書
- 開店股份合同協議書
- 持械打架調解協議書
- 房屋轉讓分期協議書
- 房屋認購抵押協議書
- 《華能企業文化建設》課件
- 陜西延安通和電業有限責任公司招聘筆試真題2024
- 2025年醫院管理專業研究生入學考試試卷及答案
- 2025年江蘇高處安裝、維護、拆除作業-特種作業證考試復習題庫(含答案)
- 2025年湖北省黃岡市中考數學調研試卷(4月份)
- Unit7OutdoorfunIntegration(課件)-譯林版(2024)英語七年級下冊
- 2023年船員培訓計劃
- 2025中國鐵路鄭州局集團招聘614人(河南)筆試參考題庫附帶答案詳解
- 陪玩店合同協議
- 貨運司機雇傭合同協議
- 超合同30簽補充協議
評論
0/150
提交評論