原创 水位控制器

2010-10-9 23:38 1218 5 5 分类: MCU/ 嵌入式
AIRD BIT P3.0
WLD BIT P3.1
WHD BIT P3.3
WOVD BIT P3.4
BZ BIT P3.5
FRD BIT P1.2
FR BIT P3.7
WOV BIT P1.3
WH BIT P1.4
WL BIT P1.5
AIR BIT P1.6
DOG BIT P1.7
PUMP BIT P3.2
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP DOGT0;看门狗定时器中断入口****
ORG 0030H
MAIN:;初始化
CLR BZ
ACALL DL05S
SETB BZ;开始BZ响一下提示系统OK******POST**
MOV SP,#5FH
SETB PUMP;关掉水泵
MOV R0,#0;软件记数清零***
MOV TMOD,#01H;定时器0设为定时模式1***
MOV TH0,#HIGH(65535-50000)
MOV TL0,#LOW(65535-50000)
SETB EA
SETB ET0
SETB TR0
START:;主程序开始***
JB WOV,L0
LJMP WOVSTOP
L0:JNB WL,L0
ACALL DL05S
JNB WL,L0
JB WH,L1
LJMP WLSTOP
L1:CLR PUMP
JB FR,L2
LJMP FRSTOP
L2:JNB AIR,L3
ACALL DL10S
INC R0
CJNE R0,#3,L1
LJMP AIRSTOP
L3:JB WH,L4
ACALL DL05S
JB WH,L1
SETB PUMP
LJMP L0
L4:JB WOV,L5
LJMP WHSTOP
L5:AJMP L1
/********************************************/
DOGT0:;看门狗定时器&&&&****************
PUSH ACC
PUSH PSW
CPL DOG
MOV TH0,#HIGH(65535-50000);6M时钟表100MS定时***初值**
MOV TL0,#LOW(65535-50000)
POP PSW
POP ACC
RETI
/***********************************
溢出停机****/
WOVSTOP:
SETB PUMP
CPL WOVD
CPL BZ
ACALL DL1S
JMP WOVSTOP
/***********************************
低位线断停机**********/
WLSTOP:
SETB PUMP
CPL WLD
CPL BZ
ACALL DL1S
JMP WLSTOP
/*************************
高位线断停机**********/
WHSTOP:
LL0:JB WL,LL1
SETB PUMP
CPL WHD
CPL BZ
ACALL DL1S
JMP LL0
LL1:/*****提示方案2****/
SETB PUMP
CPL WLD
CPL WHD
CPL BZ
ACALL DL1S
JMP LL1
/***********************
水泵进空气停机***********/
AIRSTOP:
SETB PUMP
CPL AIRD
CPL BZ
ACALL DL1S
JMP AIRSTOP
/**********************
过载保险烧断停机********/
FRSTOP:
SETB PUMP
CPL FRD
CPL BZ
ACALL DL1S
JMP FRSTOP
/***********************
延时0.5S子程序********/
DL05S:
MOV R5,#100
D11:MOV R3,#250
DJNZ R3,$
DJNZ R5,D11
RET
/**********************
延时一秒子程序*********/
DL1S:
ACALL DL05S
ACALL DL05S
RET
/*********************
延时10S子程序********/
DL10S:
MOV R4,#5
D1:ACALL DL1S
DJNZ R4,D1
RET
END
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条