版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、£""&宜4抚附录性坏fn .sr-4:t -:-x>1.xuuoo心戻< tba * n戶迟s4qval.ysx«u龙戸:、短茨毛药rxj ear j <rwwww裨1®:wwf,42.程序代码#inelude <reg52.h> #include "delay.h'* include ,dsl8b20.hn include hlcd1602.hh include “dsl302.h“sfrt2mod = oxc9;sbit heat = pom;sbit in1=poa3;sbit i
2、n2=p3a5;sbit in3=p3a6;sbit in4=p3a7;sbit led1=p3a2;sbit led2=p3a3;水温控制相关参量 int tempval = 0;float tmp_new=0;float tmp_old=0;uchar tmp_setl = 30;uchar tmp_set2 = 35;float tmp_set = 50;float ctrl_p = 0.8;float pwm = 0;float cnt=0;喂食、光照、氧循环相关参量uint feedinterval=30;/喂食间隔时间uint feedtime=10;/喂食时间uint oxyge
3、nlnterval=3();uint oxygentime=10;uint lightinterval=30;uint lighttime=10;uint feedlnterval_cnt;uint feedtime_cnt;uint oxygenlnterval_cnt;uint oxygentime_cnt;uint lightlnterval_cnt;uint lighttime_cnt;uchar time_cnt=0;设定参数相关变量uchar settimeflg=0;uchar settempflg=0;uchar setfeedflg=0;uchar setoxygenflg=
4、0;uchar setlightfig=0;uchar feedflg=0;uchar oxygenflg=0;uchar lightflg=0;uchar data_zancun=0;uchar testnum=0;void init_timer(void)rcap2h=(65536-38400)/256;rcap2l=(65536-3840()%256;th2=rcap2h;tl2 二 rca 巴 l;t2con=0;t2mod=0;et2=1;tr2=1;ea=1;void zhengzhuan(void)uchar i;for(i=0;i<128;i+)in 1 =0;in2=
5、1 ;in3= 1 ;in4= 1; delay lms(l);in 1 =0;in2=0;in3= 1 ;in4= 1;delay lms(l);in 1=1 ;in2=0;in3= 1 ;in4= 1;delay lms(l);ini=1 ;in2=0;in3=0;in4= 1;delay lms(l);in 1=1 ;in2= 1 ;in3=0;in4= 1;delay lms(l);in1=1 ;in2= 1 ;in3 二 0;in4 二 0; delay lms(l);in 1=1 ;in2= 1 ;in3= 1 ;in4=0;delay lms(l);in 1 =0;in2= 1
6、;in3= 1 ;in4=0; delay lms(l);void fanzhuan(void)uchar i;for(i=0;i<128;i+)in 1 =0;in2= 1 ;in3= 1 ;in4=0; delay lms(l);ini=1 ;in2= 1 ;in3=1 ;in4=0;delay lms(l);in1 = 1 ;in2= 1 ;in3=0;in4=0; delay lms(l);in1=1 ;in2= 1 ;in3=0;in4= 1; delay lms(l);ini=1 ;in2=0;in3=0;in4=l; delay lms(l);in1=1 ;in2=0;in
7、3= 1 ;in4= 1; delay lms(l);in 1 =0;in2=0;in3= 1 ;in4= 1;delay lms(l);in 1 =0;in2= 1 ;in3= 1 ;in4= 1; delay lms(l);void pageclear(void)uchar i;write_com(0x80);for(i=0;i<16;i+)write_data(r *); write_com(oxco);for(i=0;i<16;i+)write_data(f');void keyscan(void)uchar temp;p2 = oxfe;temp = p2;tem
8、p = temp&oxfo; if(temp != oxfo)delay lms( 10); temp = p2;temp = temp&oxfo; if(temp != oxfo)sw 让 ch(temp)case oxeo:/testnum=0; data_zancun=o;pageclear();setlightflg=o;setfeedflg=o;settempflg=o;setoxygenflg=0;settimeflg+;if(settimeflg=7)settimeflg=l; break;/ 时间case oxdo: testnum=7;data_zancun+
9、;if(data_zancun=3) data_zancun=l;break;/数字键 7case oxbo: data_zancun+;if(data_zancun=3)data_zancun=l ;testnum=4;break;/数字键 4 case 0x70:data_zancu n+;if(data_zancun=3)data_zancun=l ;testnum=l ;break;/ 数字键 1 while(temp != oxfo)temp = p2;temp = temp&oxfo;p2 = oxfd;temp = p2;temp = temp&oxfo;if(t
10、emp != oxfo)delay lms( 10);temp = p2;temp = temp&oxfo;if(temp != oxfo)switch(temp)case oxeo: data_zancun+;i f(data_zancun=3) data_zancun= 1 ;testnum=0; break;/数字键 0 case oxdo: data_zancun+;if(data_zancun=3)data_zancun=l;testnum=8;break;/数字键 8 case oxbo: data_zancun+;if(data_za ncun=3)data_zancun
11、= 1 ;testnum=5;)break;/数字键 5 case 0x70: data_zancun+;i f(data_zancun=3)data_zancun= 1 ;testnum=2;break;/数字键 2while(temp != oxfo)temp = p2;temp = temp&0 xfo;p2 = oxfb;temp = p2;temp = temp&0 xfo; if(temp != oxfo)delay ims(10);temp = p2;temp = temp&()xfo; if(temp != oxfo)switch(temp)case o
12、xeo:/testnum=8;pageclear();settempflg=o;setlightflg=o; setoxygenflg=0;setfeedflg=o; if(settimeflg!=o) dsl302set();settimeflg=o;1data_za ncuno;)break;/确定键case oxdo: data_zancun+;if(data_za ncun=3) data_zancun=l;testnum=9;)break;/数字键 9 case oxbo: data_zancun+; if(data_zancun=3) data_zancun=l ;testnum=
13、6;break;/数字键 6 case 0x70: data_zancun+;if(data_zancun=3)data_zancun= 1 ;testnum=3;break;/数字键 31while(temp != oxfo)temp = p2;temp = temp&oxfo;p2 = 0xf7;temp = p2;temp = temp&oxfo;if(temp != oxfo)delay lms( 10);temp = p2;temp = temp&oxfo;if(temp != oxfo)switch(temp)case oxeo:/testnum=12;da
14、ta_zancun=o;pageclear();setlightflg=o;setfeedflg=o;settempflg=o;settimeflg=o;setoxygenflg+;if(setoxygenflg=3)setoxygenflg= l;break;/ 氧气 case oxdo: /testnum= 13; data_zancun=o;pageclear();setfeedflg=o;settempflg=o;settimeflg=o;setoxygenflg=0;setlightflg+; if(setlightflg=3)setlightflg= 1; break;照明case
15、 oxbo: /testnum= 14; data_zancun=o;pageclear();setlightflg=o;settempflg=o;settimeflg=o; setoxygenflg=0; setfeedflg+; if(setfeedflg=3)setfeedflg= 1;) break; / 喂食 case 0x70: data_zancun=o;pageclear();setlightflg=o;setfeedflg=o;settimeflg=o;setoxygenflg=0;settempflg+; if(settempflg=3)settempflg=l; brea
16、k;/温度 while(temp != oxfo)temp = p2;temp = temp&0 xfo;if(settimeflg)switch(settimeflg)case 1: if(data_zancun= 1)time_date6&=oxof; time_date6|=testnum«4;else if(data_zancun=2)time_date6&=oxfo; time_date6|=testnum; break;case 2:if(data_zancun= 1)time_date4 &=oxof; time_date4|=testn
17、um«4;else if(data_zancun=2)time_date4 &=oxfo; time_date4|=testnum; break;case 3:if(data_zancun= 1)time_date3&二 oxof; time_date3|=testnum«4;else if(data_zancun=2)time_date3&二 oxfo; time_date3|=testnum; break;case 4:if(data_zancun= 1)time_date2&=oxof; time_date2|=testnum«
18、;4;else if(data_zancun=2)time_date2&=oxfo; time_date2|=testnum; break;case 5:if(data_za ncun= 1)time_datel &=oxof;time_date l|=testnum«4;else if(data_zancun=2)time_date 1&=oxfo; time_date 1 |=testnum; break;case 6:if(data_zancun=l)time_dateo &=oxof; time_date0|=testnum«4;el
19、se if(data_zancun=2)time_dateo &二oxfo;time_dateo |=testn um; break;else if(settempflg)switch(settempflg)case 1:if(data_zancun= 1)tmp_set2=testnum* 10+tmp_set2% 10;else if(data_zancun=2)tmp_set2=testnum+ 10*(tmp_se 10); break;case 2:i f(data_zancun= 1)tmp_setl =testnum* 10+tmp_setl%10;else if(dat
20、a_zancun=2)tmp_set 1 =testnum+1 o*(tmp_setl/10);) break;1else if(setfeedflg)switch(setfeedflg)case 1: if(data_zancun= 1)feedinterval=testnum* 10+feedlnterval% 10;else if(data_zancun=2)feedinterval=testnum+1 o*(feedinterval/l 0); ) break;case 2:if(data_zancun= 1)feedtime=testnum* 10+feedtime% 10;else
21、 if(data_zancun=2)feedtime=testnum+10*(feedtime/l 0);) break;else if(setlightflg)switch(setlightflg)case 1: if(data_zancun= 1)lightinterval=testnum* 10+lightlnterval% 10;else if(data_zancun=2)lightinterval=testnum+1 o*(lightinterval/l 0); break;case 2: if(data_za ncun= 1)lighttime=testnum* 10+lightt
22、ime% 1();1else if(data_zancun=2)lighttime=testnum+1 o*(lighttime/10); break;else if(setoxygenflg)switch(setoxygenflg)case 1:if(data_za ncun= 1)oxygeninterval=testnum*10+oxygeninterval%10;else if(data_zancun=2)oxygeninterval=testnum+10*(oxygeninterval/10); break;case 2:if(data_za ncun= 1)oxygentime=t
23、estnum* 10+oxygentime% 10;else if(data_zancun=2) oxygentime=testnum+10*(oxygentime/10); break;void mainpage(void)/主界面uchar i;tmp_set = (float)(tmp_set 1 +tmp_set2)/2.0;tmp_set += 1.0;tr0=0;tempval = 0;dsl302get();/读取当前时间tr2=0;for(i=();i<5;i+)sendchangecmd();tempval += gett mp vai ue()/5.0;tr2=1;t
24、mp_new = (float)tempval/l 00.0;if(tmp_new-tmp_old>0.1)ctrl_p=0.5;else ctrl_p = 0.65;if(tmp_set-tmp_new>=3)pwm= 1;else if(tmp_set>tmp_new)pwm = ctrl_p*(tmp_set-tmp_new)/3.0;else pwm = 0;tmp_old = tmp_new;tro=1;write_com(0x8b);write_data(tempval/l 000+'0');write_data(tempval% 1000/100
25、+'0');write_data(,.*);write_data(tempval% 100/10+'0');write_data(tempval% 10+'0');write_com(0xc0);write_data('0'+(time_date2&0xf0)»4); /显示时 write_data('0,+(time_date21 &()x()0);write_data(':');write_data('o'+(time_date 1 &0xf0)
26、7;4);显示分write_data('o'+(time_date 1 &oxof);write_data(':');write_data('0'+(time_date0»4)&0x0f); 显示秒 write_data('0'4-(time_date0 &oxof);write_data('');if(lightflg)wmels£ng(6n 二);elsewritelss.ng(=off=)八wrioldata(jsoxygenf一 g)ws-els5.ng(=on
27、=)八e-sews-elstring(=off=);wmelcom(ox8swrioldata(ox32rwriteldata(ox3o);writeldaia(o+(iimeldat26vv4)<&oxoe_ 、印$ll4frwrireldako.+simedatesc&oxof)八writeldinashwriteldata(-o-+(timelda(24vv4)&:oxof)八 w$1if wmeldata(q+(=meldaa4rpoxod)xwriqldaia(s);wmeldakq+(hmelda3vv4)<&oxod); 、gffl$l
28、lwwriteldapa+simeldaiesrpoxof);void timepage(void)12l_®mi wriolcom(oxco);writeldata(o+(uimeldat221<&oxfovv4)xwa$ll3 writeldaiaoatimeldatetqoxod).wriolda_a3; wrieldaaq+(timelda 旦二 c&ox3vv4);二削1步w2-eldaao+uimelda2 lll&oxod); writeldaia(y); ws-eldata(o+(uimedat:eovv4)<&oxodx
29、/、a$llws-eldata(o+(timeldaaowoxod); mteldamj-、0f()wmelcom(ox80)八wrioldaia(ox32);writeldata(ox3s writeldaaq+(iimeldaa6vv4)<&oxof>); w&d$ii#wrireldara(o-+(nmeldate61<&oxod); wrioldma(s)八 ws-eldata(o+(iimeldate【4vv4)<&oxod)- '/bd9iifwriteldag(o 丈(timeldate±<&
30、oxo9)-显示日write_data(7*); write_data('0,+(time_date3»4)&0x0f); write_data(,0,+(time_date3 &oxof);!void temppage(void)/ 温度界面write_com(0x80); write_string(lftemphigh:m); wri te_data(tmp_set2/10+l0,); write_data(tmp_set2% 10+'0'); write_com(oxco);wri te_string( htemplo w :n);wri
31、te_data(tmp_set 1 /10+'o');write_data(tmp_set 1 % 10+t0,);void lightpage(void)/照明界面write_com(0x80); write_string(utime lag:”); write_data(lightinterval/l 0+0); write_data(lightinterval% 10+0); write_com(oxco);write_string(mtime:n);wri te_data(lighttime/10+'o'); write_data(lighttime%
32、10+'o');void oxygenpage(void)/氧循环界面write_com(0x80);write_string(ntime lag:h); write_data(oxygeninterval/10+0); write_data(oxygeninterval% 10+'0); write_com(oxco);write_string(htime:h);write_data(oxygentime/10+'o'); write_data(oxygentime% 10+0);void feedpage(void)/喂食界面write_com(0x
33、80);write_string("time lag:"); write_data(feedinterval/10+'o'); write_data(feedinterval% 10+'o'); write_com(oxco); write_string("time:n); write_data(feedtime/l o+'o*); write_data(feedtime% 10+'o');1void main(void)lcd_init();dsl3o2init();dsl3o2set();init_timer();heat=0;while(l)keyscan();if(settimeflg|settempflg|setfeed
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 1111-2026调制度测量仪校准规范
- T/SDMTGM 0002-2018热成形生产线用高速双臂机械手
- T/JX 029-2024“金平湖”葡萄
- T/CCSAS 060-2025涉氢建筑物及容器泄爆设计方法
- T/CCPS 0002-2023青少年艺术素养(音乐)水平评价规范
- T/CSPSTC 141-2024海域管道水平定向钻施工技术规范
- GB/T 33897-2026生物聚酯聚羟基烷酸酯(PHA)吹塑薄膜
- AI在科学史中的应用
- PHP程序设计期末考核试题(含详细答案)
- 2026年福建省综合性评标专家库评标专家考试练习题及答案
- 2026中国眼科创新药物研发趋势及商业价值评估研究
- JJF 2463-2026烟气含湿量测量仪校准规范
- 高中高一年级信息技术“变量与程序设计综合应用-设计购买纪念品的最佳方案”教学设计
- 2026年上半年软考中级网络工程师真题及答案解析
- 2026年《艺术概论》题库及参考答案
- CSCO结直肠癌诊疗指南(2026版)
- 山东省2025年冬季普通高中学业水平合格考试物理试题
- 托管机构老师劳动合同
- Unit5WhataDeliciousMeal!SectionA1a-1d课件人教版八年级英语下册
- 2026年银行从业资格《个人贷款》真题及答案解析
- 教科版小学科学二年级上册和下册【全册】教学课件上下共两册
评论
0/150
提交评论