您现在所在的是:

单片机论坛

回帖:0个,阅读:853 [上一页] [1] [下一页]
1181
czha1
文章数:66
年度积分:50
历史总积分:1181
注册时间:2007/4/1
发站内信
发表于:2007/6/26 6:38:00
#0楼
四段定时程序
可编程定时控制器程序可供参考       .欢迎提出意见

  功能说明:



  1:该开发板输入12伏--24伏120瓦5伏5瓦两组电源。分别从端口1起接入24伏正,24伏负,5伏正,5伏负。可以



     是开关电源或稳压电源,严禁极性接错。5伏为芯片工作电源。保险管为12-24伏过载保护。



  2:该开发板已输入四时段循环程序。最长每段定时999秒。通过按键选择所需时段运行时间。



  3:端口5--8接外部输入负信号可以是按钮行程开关,光电开关,磁性开关等,用以控制各时段信号的触发。



    每一输入点对应一个输出口端口9接输出信号公共极负端口10-13接输出24伏正信号驱动。可直接接气动阀。  



    电磁阀或继电器。每个输出口可带动28瓦负载。



    使用方法:



  1:按键0为复位键,当电源不稳定导致程序出错,按0键从程序起始处运行。



  2:按键1为加计数键,选择好所需时段后按下1键从000- -999循环计数,至最大值999改为000反复计数。并



    存入24c02储存器储存,停电后数据保持。下次开机数据自动读出。



  3:按键2为减计数键,选择好所需时段后按下2键从999- -000反循环计数。至最小值000改为999反复计数。



    并存入24c02储存器储存,停电后数据保持。下次开机数据自动读出。



  4:按键3为选择时段键,按下后显示- -1,- -2,- -3,- -4。分别为第一段,第二段,



    第三段,第四段运行时间。选择所需时段后即可按加减键选择设定时间。



  5:按键5为备用键,一般不用,设定数据时不能按下。



  *设定时间不能为0,否则将导致程序运行出错。



  *如不需设定数据,按下按键3显示- -4后,即第4段时间后,端口5输入24伏负电即运行第一



  段设定值。并显示设定值,端口10输出24伏正,用以输出驱动负载信号,一秒钟减一秒,至



  设定值减为0,端口10关闭。然后显示第二段时间,端口6输入24伏负,并显示第二段设定值,端口11输出



  24伏正一秒钟减一秒,至设定值减为0,端口11关闭。



     T1G EQU 50H
     T1S EQU 51H
     T1B EQU 52H
     T2G EQU 53H
     T2S EQU 54H
     T2B EQU 55H
     T3G EQU 56H
     T3S EQU 57H
     T3B EQU 58H
     T4G EQU 59H
     T4S EQU 5AH
     T4B EQU 5BH
     SDA BIT P3.4
     SCL BIT P3.3
     JAO BIT P3.2
     FY  BIT P3.7
     XH  BIT P3.5
     ORG 0000H
     LJMP MAIN
     ORG 0030H
MAIN: SETB JAO
     SETB FY
     MOV SCON,#00H
     MOV A,#01H
     ACALL RD24
     MOV T1G,A
     MOV A,#02H
     ACALL RD24
     MOV T1S,A
     MOV A,#03H
     LCALL RD24
     MOV T1B,A
     MOV A,#04H
     ACALL RD24
     MOV T2G,A
     MOV A,#05H
     LCALL RD24
     MOV T2S,A
     MOV A,#06H
     LCALL RD24
     MOV T2B,A
     MOV A,#07H
     LCALL RD24
     MOV T3G,A
     MOV A,#08H
     LCALL RD24
     MOV T3S,A
     MOV A,#09H
     LCALL RD24
     MOV T3B,A
     MOV A,#0AH
     LCALL RD24
     MOV T4G,A
     MOV A,#0BH
     LCALL RD24
     MOV T4S,A
     MOV A,#0CH
     LCALL RD24
     MOV T4B,A
     LCALL XS1
FY1:  JB FY,K1
     LCALL D1
     JB FY,K1
     LCALL XS2
     LJMP FY2
K1:   MOV P1,#0FEH
     JB JAO,FY1
     LCALL D1
     JB JAO,FY1
     MOV A,T1G
     INC A
     MOV T1G,A
     CJNE A,#0AH,XA
     MOV T1G,#00H
     MOV A,T1S
     INC A
     MOV T1S,A
     CJNE A,#0AH,XA
     MOV T1S,#00H
     MOV A,T1B
     INC A
     MOV T1B,A
     CJNE A,#0AH,XA
     MOV T1B,#00H
     LJMP XA
XA:  LCALL XS1
     MOV A,#01H
     MOV B,T1G
     LCALL WT24
     LCALL DEL
     MOV A,#02H
     MOV B,T1S
     LCALL WT24
     LCALL DEL
     MOV A,#03H
     MOV B,T1B
     LCALL WT24
     LJMP FY1
FY2:  JB FY,K2
     LCALL D1
     JB FY,K2
     LCALL XS3
     LJMP FY3
K2:   MOV P1,#0FDH
     JB JAO,FY2
     LCALL D1
     JB JAO,FY2
     MOV P1,#0FDH
     MOV A,T2G
     INC A
     MOV T2G,A
     CJNE A,#0AH,XB
     MOV T2G,#00H
     MOV A,T2S
     INC A
     MOV T2S,A
     CJNE A,#0AH,XB
     MOV T2S,#00H
     MOV A,T2B
     INC A
     MOV T2B,A
     CJNE A,#0AH,XB
     MOV T2B,#00H
     LJMP XB
XB:   LCALL XS2
     MOV A,#04H
     MOV B,T2G
     LCALL WT24
     MOV A,#05H
     MOV B,T2S
     LCALL WT24
     LCALL DEL
     MOV A,#06H
     MOV B,T2B
     LCALL WT24
     LJMP FY2
FY3:  JB FY,K3
     LCALL D1
     JB FY,K3
     LCALL XS4
     LJMP FY4
K3:   MOV P1,#0FBH
     JB JAO,FY3
     LCALL D1
     JB JAO,FY3
     MOV A,T3G
     INC A
     MOV T3G,A
     CJNE A,#0AH,XC
     MOV T3G,#00H
     MOV A,T3S
     INC A
     MOV T3S,A
     CJNE A,#0AH,XC
     MOV T3S,#00H
     MOV A,T3B
     INC A
     MOV T3B,A
     CJNE A,#0AH,XC
     MOV T3B,#00H
     LJMP XC
XC:   LCALL XS3
     MOV A,#07H
     MOV B,T3G
     LCALL WT24
     MOV A,#08H
     MOV B,T3S
     LCALL WT24
     LCALL DEL
     MOV A,#09H
     MOV B,T3B
     LCALL WT24
     LJMP FY3
FY4:  JB FY,K4
     LCALL D1
     JB FY,K4
     LCALL XS1
     LJMP FY1
K4:   MOV P1,#0F7H
     JB JAO,XH1
     LCALL D1
     JB JAO,XH1
     MOV A,T4G
     INC A
     MOV T4G,A
     CJNE A,#0AH,XD
     MOV T4G,#00H
     MOV A,T4S
     INC A
     MOV T4S,A
     CJNE A,#0AH,XD
     MOV T4S,#00H
     MOV A,T4B
     INC A
     MOV T4B,A
     CJNE A,#0AH,XD
     MOV T4B,#00H
     LJMP XD
XD:   LCALL XS4
     MOV A,#0AH
     MOV B,T4G
     LCALL WT24
     MOV A,#0BH
     MOV B,T4S
     LCALL WT24
     LCALL DEL
     MOV A,#0CH
     MOV B,T4B
     LCALL WT24
XH1:  JB XH,FY4
     LCALL D1
     JB XH,FY4
     LCALL XS1
     MOV P1,#0F7H
     LCALL DESY1
     MOV P1,#0FFH
     LCALL XS2
XH2:  JB XH,XH2
     LCALL D1
     JB XH,XH2
     MOV P1,#0FBH
     LCALL DESY2
     MOV P1,#0FFH
     LCALL XS3
XH3:  JB XH,XH3
     LCALL D1
     JB XH,XH3
     MOV P1,#0FDH
     LCALL DESY3
     MOV P1,#0FFH
     LCALL XS4
XH4:  JB XH,XH4
     LCALL D1
     JB XH,XH4
     MOV P1,#0FEH
     LCALL DESY4
     MOV P1,#0FFH
     LCALL XS1
     LJMP XH1
DESY1: MOV R7,T1B
     MOV R6,T1S
     MOV R5,T1G
     LCALL SY1
     RET
DESY2: MOV R7,T2B
     MOV R6,T2S
     MOV R5,T2G
     LCALL SY1
     RET
DESY3: MOV R7,T3B
     MOV R6,T3S
     MOV R5,T3G
     LCALL SY1
     RET
DESY4: MOV R7,T4B
     MOV R6,T4S
     MOV R5,T4G
     LCALL SY1
     RET
SY1:  CJNE R5,#00H,SYA
     LJMP SJ1
SYA:  DEC R5
     LCALL DE1M
     LCALL XS
     CJNE R5,#00H,SYA
     CJNE R6,#00H,SJ1
     CJNE R7,#00H,BJ1
     LJMP YSRT
SJ1:  LCALL DE1M
     LCALL XS
     DEC R6
     MOV R5,#09H
     LCALL XS
     LJMP SYA
BJ1:  LCALL DE1M
     LCALL XS
     DEC R7
     MOV R6,#09H
     MOV R5,#09H
     LCALL XS
     LJMP SYA
YSRT: RET
XS1:  MOV A,T1B
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,T1S
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,T1G
     LCALL CB
     MOV SBUF,A
     LCALL TD
     RET
XS2:  MOV A,T2B
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,T2S
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,T2G
     LCALL CB
     MOV SBUF,A
     LCALL TD
     RET
XS3:  MOV A,T3B
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,T3S
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,T3G
     LCALL CB
     MOV SBUF,A
     LCALL TD
     RET
XS4:  MOV A,T4B
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,T4S
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,T4G
     LCALL CB
     MOV SBUF,A
     LCALL TD
     RET
XS:   MOV A,R7
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,R6
     LCALL CB
     MOV SBUF,A
     LCALL TD
     MOV A,R5
     LCALL CB
     MOV SBUF,A
     LCALL TD
     RET
CB:   MOV DPTR,#TAB
     MOVC A,@A+DPTR
     RET
RD24: PUSH ACC
     SETB SDA
     CLR SCL
     LCALL STAR
     MOV A,#0A0H
     LCALL SHIFT
     LCALL ACK
     POP ACC
     LCALL SHIFT
     LCALL ACK
     ACALL STAR
     MOV A,#0A1H
     LCALL SHIFT
     LCALL ACK
     SETB SDA
     MOV R7,#08H
     CLR A
     SETB SDA
RD0:  RL A
     SETB SCL
     MOV C,SDA
     MOV ACC.0,C
     CLR SCL
     DJNZ R7,RD0
     NOP
     RET
WT24: PUSH ACC
     SETB SDA
     CLR SCL
     LCALL STAR
     MOV A,#0A0H
     LCALL SHIFT
     LCALL ACK
     POP ACC
     LCALL SHIFT
     LCALL ACK
     MOV A,B
     LCALL SHIFT
     LCALL ACK
     LCALL STOP
     LCALL DEL
     RET
STAR: CLR SDA
     LCALL DEL
     SETB SDA      
     LCALL DEL
     SETB SCL
     CLR SDA
     LCALL DEL
     CLR SCL
     RET
STOP: CLR SDA
     LCALL DEL
     SETB SCL
     LCALL DEL
     SETB SDA
     RET
ACK:  SETB SCL
     LCALL DEL
     CLR SCL
     RET
SHIFT: MOV R7,#08H
SH01:  RLC A
     MOV SDA,C
     SETB SCL
     LCALL DEL
     CLR SCL
     DJNZ R7,SH01
     RET
TD:   JBC TI,TD
     CLR TI
     RET
DEL:  MOV R1,#02H
FA:   MOV R3,#0FFH
F1:   DJNZ R3,F1
     DJNZ R1,FA
     RET
D1:   MOV R3,#0FFH
F3:   MOV R2,#32H
F2:   DJNZ R2,F2
     DJNZ R3,F3
     RET
DE1M: MOV R3,#0FFH
DEM:  MOV R2,#0F0H
DEN:  MOV R1,#03H
DEO:  DJNZ R1,DEO
     DJNZ R2,DEN
     DJNZ R3,DEM
     RET
     ORG 0450H
TAB:  DB 3FH,06H,5BH,4FH,66H
     DB 6DH,7DH,07H,7FH,6FH
     END

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004