#include#include#include<04.h>#defineZ55sbitP27=P2^7;sbittemp=P2^0;sbitP21=P2^1;sbitP">
單片機PID水溫控制程序

單片機PID水溫控制程序

ID:40818570

大?。?0.00 KB

頁數:12頁

時間:2019-08-08

單片機PID水溫控制程序_第1頁
單片機PID水溫控制程序_第2頁
單片機PID水溫控制程序_第3頁
單片機PID水溫控制程序_第4頁
單片機PID水溫控制程序_第5頁
資源描述:

《單片機PID水溫控制程序》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、#include#include#include#include<04.h>#defineZ55sbitP27=P2^7;sbittemp=P2^0;sbitP21=P2^1;sbitP22=P2^2;uintnnn;uchart_min,t_minf,t_sec,t_ge,shii,gee,shiff;ucharuk_qian,uk_bai,uk_shi,uk_ge;//uk顯示位uinttime;uintz_uk;ucharw_shi,w_ge,w_shif,w_

2、baif;//實際溫度數字顯示;ucharq_ge,q_shif,q_baif;//占空比顯示位ucharidatabai,shi,ge;//預設溫度數字顯示;bitw_fh;//實際值符號位;uinttvalue;//10倍實際溫度。uintp=20000;uintf,g;//floatidatabfb;//占空比設定。ucharset_temp=60;floatidatatemperature;ucharidatacount=1;ucharidatacont=500;ucharidataxx;voidrst18b20

3、(){temp=1;delay10us(1);temp=0;delay10us(70);//延時916us。temp=1;delay10us(20);//延時266us。}voidwritedata(uchardat)//向ds18b20寫數據。{uchari;for(i=0;i<8;i++){temp=0;temp=dat&0x01;delay10us(10);temp=1;dat>>=1;//先寫低位。}}ucharreaddata()//從ds18b20讀數據。{uchardat;uchari;for(i=0;i<

4、8;i++){temp=0;dat>>=1;//先讀低位。temp=1;if(temp)dat=dat

5、0x80;delay10us(10);//延時136us;temp=1;}return(dat);}voidreadtemperature(){uchartemperh,temperl;rst18b20();writedata(0xcc);//跳過讀rom命令直接給器件發(fā)命令。writedata(0x44);//啟動ds18b20讀取溫度。rst18b20();//必須二次復位。writedata(0xcc);writ

6、edata(0xbe);temperl=readdata();//讀取溫度低字節(jié)。temperh=readdata();//讀取溫度高字節(jié)。tvalue=temperh;tvalue<<=8;tvalue=tvalue

7、temperl;//組成16位合成字。if(tvalue<0x0fff)//是否為正數。w_fh=0;else//負數轉換程序。{w_fh=1;tvalue=~tvalue+1;}temperature=tvalue*0.0625;tvalue=(tvalue*6.25);//溫度轉換,強制轉換成整形數。

8、w_shi=tvalue/1000;//十位w_ge=tvalue%1000/100;//個位w_shif=tvalue%100/10;//shifen位w_baif=tvalue%10;//baifenwei}voidinit(){P27=1;TMOD=0x11;TH0=0x3c;//50ms采樣一次;TL0=0xb0;//TH1=0x9c;//TL1=0x9c;TH1=(65536-1000)/256;TL1=(65536-1000)%256;EX0=1;IT0=1;ET0=1;TR0=1;ET1=1;TR1=1;}

9、voidrupttime1()interrupt3{/*if(--f==0){P27=0;}if(--p==0){P27=1;p=20000;f=g;}*/TH1=(65536-1000)/256;TL1=(65536-1000)%256;nnn++;if(nnn==g){P27=0;}if(nnn==1000){P27=1;nnn=0;}}voidrupttime0()interrupt1{ucharmin,sec;TH0=0x3c;//50ms采樣一次;TL0=0xb0;readtemperature();if(--

10、count==0){time++;//執(zhí)行時間t_min=time/60;//分min=t_min;//保持t_min=t_min/10;//分十位t_minf=min%10;//分個位t_sec=time%60;//秒sec=t_sec;//保持t_sec=t_sec/10;//秒十位t_ge=sec%10;//秒

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。