新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用89C2051制作高可靠自動抽水裝置

用89C2051制作高可靠自動抽水裝置

作者: 时间:2012-07-07 来源:网络 收藏


点击在新窗口中浏览产品

软件工作过程如下﹕
接通电源后﹐首先检测是否缺相﹐如果缺相﹐则LED1亮且报警﹐否则检测是否缺水﹐如果缺水﹐则启动电机抽水﹐抽水3分钟后再次对水位进行检测(注意﹐第二次检测水位的时间要根据水池的大小来确定)﹐如果检测结果依然缺水(如电机空转等情况)﹐则停止抽水﹐LED6亮且报警。否则否则程序返回开始处﹐有条不紊地检测是否缺相﹐是否水满﹑是否超温﹑是否过流等。
原程序如下﹕
ORG0000H
AJMPSTART
ORG0030H
START:MOVP1,#0FFH
MOVP3,#0FFH
MAIN:JBP3.4,A4;是否缺相﹐若缺相﹐则转A4处。
JNBP3.0,A0;是否缺水﹐若缺水﹐则转A0处。
JBP3.1,A1;是否水满﹐若水满﹐则转A1处。
JBP3.2,A2;是否超温,若超温﹐则转A2处。
JBP3.3,A3;是否过流﹐若过流﹐则转A3处。
AJMP MAIN
NOP﹔PC出错处理
NOP
NOP
LJMP START
A0: ACALLDELAY100MS
JB P3.0,MAIN
MOVP1,#E3H;星形启动﹐抽水指示灯亮
ACALLDELAY8s;延时8秒
MOVP1,#E5H;三角形启动
ACALLDELAY3m;三角形启动后再延时3分钟
JNBP3.0,A5;抽水3分钟后若P3.0依然为低电位﹐则水位异常。
AJMPMAINA1:ACALLDELAY100MS
JNBP3.1,MAIN
MOV P1,#0FFH;停止抽水﹐抽水指示灯灭。
CPL P3.5;水满知指示灯亮。
AJMPAA2:
ACALLDELAY100MS
JNB P3.2,MAIN
MOV p1,#0BEH;停止抽水﹐超温指示灯亮﹐报警
SJMP $;等待处理
A3:ACALLDELAY100MS
JNBP3.3,MAIN
MOV P1,#0DEH;停止抽水﹐过流指示灯亮﹐报警
SJMP $;等待处理
A4:ACALLDELAY100MS;防止误取样
JNBP3.4,MAIN
MOV P1,#7EH;停止抽水﹐缺相指示灯亮﹐报警
SJMP $;等待处理A5:
MOV P1,#FEH;停止抽水﹐报警
CPL P3.7;水位异常指示灯亮
SJMP $;等待处理
DELAY100ms:MOVR7,#248
D1:MOVR6,#200
D2:DJNZR6,D2
DJNZR7,D1
RETDELAY8s:MOVR0,#80
ACALLDELAY100ms
DJNZR0,DELAY8S
RETDELAY3M:MOVR1,#23
ACALLDELAY8S
DJNZR1,DELAY3M
RET
END


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭