毕业设计鱼缸换水系统源程序原理图_第1页
毕业设计鱼缸换水系统源程序原理图_第2页
毕业设计鱼缸换水系统源程序原理图_第3页
毕业设计鱼缸换水系统源程序原理图_第4页
毕业设计鱼缸换水系统源程序原理图_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、鱼缸自动换水系统原程序代码201002031027电子10-1石宪青齐魯工业大学 2014-5-20include <regx52.h>#define uint unsigned int#define uchar unsigned charuchar code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x3f,0x71,0x73,0x79,0x37 ;/*数码管显示数值编码 */uchar timecount,hour,cent,second,qian,bai,shi,ge,thour,tcent,off

2、th,offtc, onth2,ontc2,offth2,offtc2;uchar disl,dish,keytemp,mbiao,app,onhour,oncent,offhour,offcent; uchar onhour2,oncent2,offhour2,offcent2;/>4£ 义变量 bit biaoa;/位定义sbit ledo二p2八4;sbit ledl=p2a5;sbit led2=p2a6;sbit led3=p2a7;/sbit led4=p3八0;sbit k0=p2a0;sbitkl=p2al;sbit k2=p2a2;sbit k3=p2a3;s

3、bit bp=p3al;sbit aout=p3a4;sbit aout2=p3a5;void displayo;void key();uchar addreduce(uchar dd,uchar max,char min);void alarm_clock();void led_out();/函数的初始化void delay(uchar i)/*延时*/uint x; for(;i0;i-)for(x= 114;x>0;x-); /22.1184=228” 11.0592=114uint x;for(;i0;i-)bp=bp;/采用 for 循环延时 for(x=114;x>0;

4、x-);bp=1;void main(void) /主程序部分hour=12;cent=0;/second=50;onhour=13;oncent=0;offhour=13;offcent=20;biaoa=l;onhour2=14;oncent2=0;offhour2=14;offcent2=15;/变量初始化rcap2h=0x8f; /* 定时器初始化 11.0592=8f8022.1184=1 f00 */ rcap2l=0x80;et2=1;/允许t2定时器中断tr2=1;/启动t2定时器ea=1;whiled)/这里采用死循环实现显示阑数和按键扫描一直执行displayo;key()

5、;/*2* j i *lfy* | *(*/void timer2_server(void) interrupt 5 using 3 tf2=0;/清除溢出标记timecount+;if(timecount=30)timecount=0;second+;i f(second=60)/到一分钟 second=0;cent+;if(cent=60/到一小时 cent=o;hour+;if(hour=24)hour=();/按天循环alarm_clock();switch (mbiao)/ mbiao为标志位判断按键情况并进行调时操作 case 0:dish=hour;disl=cent; brea

6、k;case 1:dish= 100;disl=second; break;/*£&氺氺氺氺* 氺*氺氺氺*/void displayoif(dish= 100) /如调整小时,使小时闪烁s示 qian=10;bai=10;shi=disl/10;ge=disl%10;elseif(disl=100)qian=dish/10;bai=dish%10;shi=10;ge=10;elseqian=dish/10;bai=dish%10;shi=disl/l();ge=disl%10;if(mbiao>3)/长按k3调整时间if(timecount>16)if(keyt

7、emp%2)shi=10;ge=10;i f(keytemp%2=0)qian=10;bai=l();led_out();void led_out()if(qian)/千位处理po=dispcodefqianl; led0=0; del ay (2); ledo=l;po=dispcodebai;/百位处理led 1=0; delay (2); ledl = l;if(timecount<16)&&(mbiao=0)/十位处理p0=dispcodeshi&0x7f;elsepo=dispcodeshil; led2=0;delay(2);led2=1;if(tim

8、ecount<l 6)&&(mbiao=0) /个位处理 p0=dispcodege&0x7f;elsepo=di$pcodege; led3=0;delay(2);led3=1;void key()uchar i,temp; if(k3=0)delay(5);if(k3=o)/点按 k3 while(!k3)display();temp+;if(temp=125)/长按 k3 if(mbiao=0)/时间可调 feng(20);mbiao=4;thour=hour;tcent=cent;keytemp=0;break;elsetemp=0;break;i f(m

9、biao<4)/标志位操作 feng(20);mbiao+;if(mbiao=2)mbiao=0;if(temp<125)&&(mbiao3)/确定设置并退出 feng(20); keytemp+; switch (mbiao)case 4:if(keytemp=2)mbiao=0;break;case 5:if(keytemp=8)mbiao=0;break;while(!k3)displayo;temp=0;if(mbiao=0)if(k2=0)/按下 k2delay(5);if(k2=0)while(!k2)display();temp+;if(temp=12

10、5)/长按k2显示抽水时间 feng(20);mbiao=5;keytemp=0;thour=onhour;tcent=oncent;offth=offhour;offtc=offcent;onth2=onhour2;ontc2=oncent2;offth2=offhour2;offtc2=offcent2;while(!k2)dish=thour;disl=tcent;displayo;break;if(temp<125)/切换可调为小时还是分钟feng(20);mbiao=6;temp=0;switch (mbiao)case 0:/标志位0手动抽放水操作 if(ko=o)delay

11、(5);if(ko=o)feng(2o);aout=aout;if(kl=o)delay(5);if(kl=o)feng(20);aout2=aout2;while(!(ko&kl)led_out();break;case 2:;j break;case 3:/标志位2、3不进行操作break;case 4: /设置时间标志位if(keytemp=o)/调小时 thour=addreduce(thour,23,0);dish=thour;disl=tcent;displayo;if(keytemp=l)/ 调分钟 tcent=addreduce(tcent,59,0);dish=tho

12、ur;disl=tcent;displayo;if(k2=0)delay(5);if(k2=0)/保存数据并退出tr2=0;second二0; timecount=0;hour=thour;cent=tcent;tr2=1;feng(20);mbiao=0;while(!k2)displayo;break;case 5:/设罝抽放水时间标志位 if(keytemp=o);/调放水开始小时 thour=addreduce(thour,23,0)dish=thour;disl=tcent;displayo;if(keytemp=l)/调放水开始分钟 tcent=addreduce(tcent,59

13、,0);dish=thour;disl=tcent;display();if(keytemp=2) /调放水结束小时 offth=addreduce(offth,23,0);dish=offth;disl=offtc;displayo;if(keytemp=3) /调放水结束分钟 offtc=addreduce(offtc,59,0);dish=offth;disl=offtc;displayo;if(keytemp=4) /调抽水开始小时 onth2=addreduce(onth2,23,0);dish=onth2;disl=ontc2;displayo;if(keytemp=5) /调抽水

14、开始分钟 ontc2=addreduce(ontc2,59,0);dish=onth2;disl=ontc2;displayo;if(keytemp=6) /调抽水结束小时 offth2=addreduce(oflth2,23,0);dish=offth2;disl=offtc2;displayo;if(keytemp=7) /调抽水结朿分钟 offtc2=addreduce(offtc2,59,0);dish=offth2;disl=offtc2;displayo;if(k2=0&& keytemp=8)delay(5);if(k2=0)/保存数据并退出feng(20);mb

15、iao=0;keytemp=0;onhour=thour;oncent=tcent;offhour=offth;offcent=offtc;onhour2=onth2;oncent2=ontc2;offhour2=oftth2;offcent2=offtc2;while(!k2)displayo;break;case 6:/点按 k2i=100; while(-i)if(biaoa)qian=10;bai=12;shi=ll;ge=14;lediou5;/fenl邻 opezelseqian=0; baihlo; shi=l 1; ge=ll;lediout();/fe邻 offif(k2=0

16、)/a&诺 k2mopenjjtoff lm-js漭 delays;if(k2=0)feng(20); hiaoa=biao> i=100; while(!k2)if(biaoa)qian=10;bai=12;shi=13;ge=14;ledi0u5;elseqian=o;baihlo;shi=il;oqehll; lediou5;mbiao=0;break;/*加减按键子程序*/uchar addreduce(char dd,uchar max,uchar min)uint x=15; if(kl=o)delay(5);if(kl=o)/按下k1加操作 feng(20);dd+

17、;i f(dd>max)/加到最大则清零dd=min;while(-x)display();if(kl)break;if(ko=o)/按下ko减操作减到最小赋给最大值 delay(5);if(ko=o)feng(20); dd;if(dd<min)dd=max;while(-x)displayo;if(ko)break;return dd;/*定吋功能子程序*/void alarm_clock()if (biaoa)/自动模式下放水开始 if (hour=onhour)if (cent=oncent) if (second=0)feng(120);aout=0;if (biaoa)

18、/自动模式下放水停止 if (hour=offhour)if (cent=offcent) if (second=0)feng(120);aout=l;if (biaoa)/a动模式卜进水开始 if (hour=onhour2)if (cent=oncent2) if (second=0)feng(120);aout2=0;if (biaoa)/自动模式下进水停止if (hour=offhour2)原理if (cent=offcent2) if (second=0)feng(120);aout2=l;一c2trx uhxk2|-o卜o-l-z33:3e13ojf.te>o>i>lj ,exmbmmh4mbhmambmb>4鉍<癱 1 c:1aw r191892531* 1z丄u1xtal1xta12r8tpbenaledttzvt2b<2j6paivaoapo.vamra.tmft?p2ot3 n.uab ntmu p2ja11 p2.wa12 p2sa13 p2 分au p2.7/a15p3.7/kt262s10 11di1516!lo©6-o 00t1 o 00t2poaraoipo.4/ap*fo5fa05fjurxtpa.inxof3tiropalstt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论