• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
楼主  发表于: 2009-04-20 19:52
图片:
共用电控箱系统:以下为源代码:

;通用电控多套程序(designed by tone.lei at 10:33 11/27/2008)
;(I/O点定义)  p0.0 p0.1 p0.2 p0.3 接拨码开关 R2:拨码开关暂存器



        S1       EQU    P1.0     ;第1个信号
        S2       EQU    P1.1     ;第2个信号
        S3       EQU    P1.2     ;第3个信号
        S4       EQU    P1.3     ;第4个信号
        S5       EQU    P1.4     ;第5个信号
        S6       EQU    P1.5     ;第6个信号
        S7       EQU    P1.6     ;第7个信号
        S8       EQU    P1.7     ;第8个信号
        S9       EQU    P3.4     ;第9个信号
        S10      EQU    P3.5     ;第10个信号
        S11      EQU    P3.6     ;第11个信号
        S12      EQU    P3.7     ;第12个信号

        START    EQU    P3.0     ;启动信号
        RESET    EQU    P3.1     ;复位信号
        INT0     EQU    P3.2     ;中断0信号
        INT1     EQU    P3.3     ;中断1信号
        ONE0     EQU    P2.4     ;拨码开关码1
        ONE1     EQU    P2.5     ;拨码开关码2
        ONE2     EQU    P2.6     ;拨码开关码4
        ONE3     EQU    P2.7     ;拨码开关码8




        STEP1    EQU    P0.0     ;第1个输出点
        STEP2    EQU    P0.1     ;第2个输出点
        STEP3    EQU    P0.2     ;第3个输出点
        STEP4    EQU    P0.3     ;第4个输出点
        STEP5    EQU    P0.4     ;第5个输出点
        STEP6    EQU    P0.5     ;第6个输出点
        STEP7    EQU    P0.6     ;第7个输出点
        STEP8    EQU    P0.7     ;第8个输出点




;(主程序开始)


        ORG 0000H
        LJMP MAIN
        ORG 0003H
        LJMP INTER0
        ORG 0013H
        LJMP INTER1
        ORG 0030H

MAIN:   JB     ONE0, NEXT1
        JB     ONE1, NEXT2
        JB     ONE2, NEXT3
        MOV    R2, #07H
        LJMP   PRO7
NEXT3:  MOV    R2, #03H
        LJMP   PRO3
NEXT2:  JB     ONE2, NEXT20
        MOV    R2, #05H
        LJMP   PRO5
NEXT20: JB     ONE3, NEXT21
        MOV    R2, #09H
        LJMP   PRO9
NEXT21: MOV    R2, #01H
        LJMP   PRO1
NEXT1:  JB     ONE1, NEXT10
        JB     ONE2, NEXT11
        MOV    R2, #06H
        LJMP   PRO6
NEXT11: MOV    R2, #02H
        LJMP   PRO2
NEXT10: JB     ONE2, NEXT12
        MOV    R2, #04H
        LJMP   PRO4
NEXT12: JB     ONE3, NEXT13
        MOV    R2, #08H
        LJMP   PRO8
NEXT13: MOV    R2, #00H
        LJMP   PRO0




;(程序0执行 [电测机程序])
PRO0:   ACALL UP
        CLR STEP1         ;启动压入气缸
        ACALL DELAY      
        ACALL DELAY    
        ACALL DELAY  
        ACALL DELAY      
        CLR STEP2         ;启动折弯气缸
        ACALL DELAY       ;延时0.1秒
        ACALL DELAY       ;延时0.1秒
        ACALL DELAY
        SETB STEP1        ;断开探针气缸
        ACALL DELAY
        ACALL DELAY
        ACALL DELAY
        SETB STEP2        ;断开舌片气缸

        AJMP PRO0        ;返回

;(程序1执行 [张强之      连线机程序])
PRO1:   ACALL UP
        CLR STEP1         ;启动推料气缸
        ACALL S1DEL       ;推料气缸动点延时
        CLR STEP2         ;启动压料气缸
        ACALL S2DEL       ;压料气缸动点延时
        ACALL S2DEL       ;压料气缸动点延时
        SETB STEP1        ;断开推料气缸
        SETB STEP2        ;断开压料气缸
        ACALL DELAY
        ACALL DELAY
        ACALL DELAY
        LJMP PRO1        ;返回

;(程序2执行 [郭金武之PJD电测机程序])
PRO2:   ACALL UP
        CLR STEP2         ;启动压料气缸
        ACALL DELAY       ;压料气缸动点延时
        ACALL DELAY
        ACALL DELAY
        JB INT1,LEDNG       ;LED1  TEST
        JB S10,LEDNG      ;LED2  TEST
        


        CLR P2.0
        CLR P2.1
        CLR P2.2
        CLR P2.3
        ACALL DELAY
        MOV A,P1          ;将P1口的值读入暂存器ACC
        XRL A,#55H
        JNZ SHNG          ;检测有无短路
        SETB P2.0
        SETB P2.1
        SETB P2.2
        SETB P2.3
        ACALL DELAY

        CLR STEP1    
        ACALL DELAY
        ACALL DELAY
        ACALL DELAY
        JB S1,OPENNG      ;开始检测导通
        ACALL DEL10
        JB S2,OPENNG
        ACALL DEL10
        JB S3,OPENNG
        ACALL DEL10
        JB S4,OPENNG
        ACALL DEL10
        JB S5,OPENNG
        ACALL DEL10
        JB S6,OPENNG
        ACALL DEL10
        JB S7,OPENNG
        ACALL DEL10
        JB S8,OPENNG
        AJMP PRO2GO

LEDNG:  CLR STEP6
        AJMP PRO2NG
SHNG:   CLR STEP4
        AJMP PRO2NG
OPENNG: CLR STEP3
PRO2NG: JB RESET,PRO2NG
        AJMP RRSETQ
PRO2GO: CLR STEP5
RRSETQ: SETB STEP1
        SETB STEP3
        SETB STEP4
        SETB STEP6
        SETB P2.0
        SETB P2.1
        SETB P2.2
        SETB P2.3
        ACALL DELAY
        ACALL DELAY
        SETB STEP2
        ACALL DELAY
        ACALL DELAY
        SETB STEP5
        AJMP PRO2         ;返回

;(程序3执行 [张强之SLS-13SR1B 电测机程序])
PRO3:   JNB P3.3,PRO3
PRO3K:  JB P3.3,PRO3K
        ACALL DEL10
        JB P3.3,PRO3K
        CLR P0.1
        ACALL DELAY
        ACALL DELAY
        ACALL DELAY
        ACALL DELAY
      
  



        CLR P2.0          ;开启短路测试
        CLR P2.1
        CLR P2.2
        CLR P2.3    
        ACALL DELAY
        MOV A,P1          ;将P1口的值读入暂存器ACC
        XRL A,#55H
        JNZ PRO3SH        ;检测7PIN有无短路
        JB P3.0,PRO3SH
        JNB P3.1,PRO3SH
        JB P3.4,PRO3SH
        JNB P3.5,PRO3SH
        JB P3.6,PRO3SH
        JNB P3.7,PRO3SH
        SETB P2.0
        SETB P2.1
        SETB P2.2
        SETB P2.3



        CLR P0.0         ;开始断路测试
        ACALL DELAY
        ACALL DELAY
        ACALL DELAY
        ACALL DELAY
        JB P1.0,PRO3SO
        JB P1.1,PRO3SO
        JB P1.2,PRO3SO
        JB P1.3,PRO3SO
        JB P1.4,PRO3SO
        JB P1.5,PRO3SO
        JB P1.7,PRO3SO
        JB P3.0,PRO3SO
        JB P3.1,PRO3SO
        JB P3.4,PRO3SO
        JB P3.5,PRO3SO
        JB P3.6,PRO3SO
        JB P3.7,PRO3SO  
        AJMP PRO3OK

PRO3SH: CLR P0.2
        AJMP PRO3RS
        
PRO3SO: CLR P0.4
        AJMP PRO3RS
        
PRO3RS: JB P3.2,PRO3RS
        SETB P0.2
        SETB P0.4
        SETB P2.0
        SETB P2.1
        SETB P2.2
        SETB P2.3
        AJMP PRO3GO
PRO3OK: CLR P0.3
PRO3GO: SETB P0.0
        ACALL DELAY
        SETB P0.1
        ACALL DELAY
        ACALL DELAY
        SETB P0.3
        AJMP PRO3         ;返回

;(程序4执行 [杨道军之SIM-06HA扫料带程序])
PRO4:   JNB P1.0,PRO4
        MOV P0,#0FFH
PRO4OR1:JB P1.2,PRO4OR1
PRO4OR2:JB P1.4,PRO4OR2
PRO4OR3:JB P1.6,PRO4OR3
PRO4S:  JB P1.0,PRO4S
        ACALL DEL10
        JB P1.0,PRO4S
        CLR P0.2        ;启动推入气缸
PRO4TR: JB P1.3,PRO4TR
        ACALL DELAY
        ACALL DELAY
        CLR P0.1        ;启动压气缸
        ACALL DELAY
        CLR P0.0        ;启动扫料支撑气缸
        ACALL DELAY
        ACALL DELAY
        ACALL DELAY
        MOV R0,#00H
PRO4A:  CPL P0.3        ;启动扫料气缸
        JB P0.3,PRO4B
PRO4C:  jb p1.5,PRO4C
PRO4CC: jb p1.7,PRO4CC
        ajmp PRO4D
PRO4B:  jb p1.4,PRO4B
PRO4BB: jb p1.6,PRO4BB
        inc R0
PRO4D:  cjne R0,#7,PRO4A;检测扫料次数如果不够则继续扫料
        SETB P0.3       ;复位扫料气缸
        ACALL DELAY
        SETB P0.1       ;复位压气缸  
        ACALL DELAY
        SETB P0.0       ;复位支撑气缸
        ACALL DELAY
        ACALL DELAY
        SETB P0.2       ;复位压气缸
        AJMP PRO4         ;返回

;(程序5执行 [杨道军之BTP-02SC连线机程序])

pro5:    jnb p1.0,pro5
pro5s:   jb p1.0,pro5s     ;检测启动按钮是否按下如不是则反复侦测状态
         lcall del10
         jb p1.0,pro5s

         clr p0.0        ;1  启动推料气缸
         acall delay
         acall delay

         clr p0.1        ;2  启动压合气缸
         acall delay
        
         clr p0.3        ;3  启动舌片气缸/复位推料.压合气缸
         setb p0.0
         setb p0.1
         acall delay

         clr p0.2        ;4  启动探针气缸
         acall delay
         acall delay
         acall delay
         jb p1.2,pro5q1
         ajmp pro5ng
pro5q1:  acall delay
         setb p0.3       ;5  复位舌片气缸
         acall delay
         jnb p1.2,pro5q2
         ajmp pro5ng
pro5q2:  setb p0.2       ;6  复位探针气缸
         acall delay
         ajmp pro5ok
pro5ng:  setb p0.2
         setb p0.3
         acall delay
         clr p0.4        ;7  NG 排除气缸  
         inc r4
         ajmp pro5rs
pro5ok:  mov r4,#00h
pro5rs:  acall delay
         acall delay
         acall delay
         setb p0.4
         cjne r4,#3,pro5fu
pro5uf:  jb p1.1,pro5uf
         mov r4,#00h
pro5fu:  ajmp main         ;返回

;(程序6执行 [XX之      连线机程序])
PRO6:   ACALL UP
        LJMP MAIN         ;返回

;(程序7执行 [XX之      连线机程序])
PRO7:   ACALL UP
        LJMP MAIN         ;返回

;(程序8执行 [XX之      连线机程序])
PRO8:   ACALL UP
        LJMP MAIN         ;返回

;(程序9执行 [XX之      连线机程序])
PRO9:   ACALL UP
        LJMP MAIN         ;返回



;(中断0程序)
INTER0: JNB INT0,INTER0
        ACALL DEL10
        JNB INT0,INTER0
TEST0:  JB RESET,TEST0
        RETI


;(中断1程序)
INTER1: JNB INT1,INTER0
        ACALL DEL10
        JNB INT1,INTER0
TEST1:  JB RESET,TEST1
        RETI



;(启动开关程序)
UP:     JNB START,UP
TEST:   JB START,TEST
        ACALL DEL10
        JB START,TEST
        RET


;(0.1S延时程序)
DELAY:  MOV R5,#200
DELT1:  MOV R6,#250
        DJNZ R6,$
        DJNZ R5,DELT1
        RET

;(0.01S延时程序)
DEL10:  MOV R5,#20
DELT2:  MOV R6,#250
        DJNZ R6,$
        DJNZ R5,DELT2
        RET

;(S1信号延迟输入)
S1DEL:  JB S1,S1DEL
        ACALL DELAY
        JB S1,S1DEL
        RET

;(S2信号延迟输入)
S2DEL:  JB S2,S2DEL
        ACALL DELAY
        JB S2,S2DEL
        RET

;(S3信号延迟输入)
S3DEL:  JB S3,S3DEL
        ACALL DELAY
        JB S3,S3DEL
        RET

;(S4信号延迟输入)
S4DEL:  JB S4,S4DEL
        ACALL DELAY
        JB S4,S4DEL
        RET

;(S5信号延迟输入)
S5DEL:  JB S5,S5DEL
        ACALL DELAY
        JB S5,S5DEL
        RET


;(S6信号延迟输入)
S6DEL:  JB S6,S6DEL
        ACALL DELAY
        JB S6,S6DEL
        RET



;(S7信号延迟输入)
S7DEL:  JB S7,S7DEL
        ACALL DELAY
        JB S7,S7DEL
        RET



;(S8信号延迟输入)
S8DEL:  JB S8,S8DEL
        ACALL DELAY
        JB S8,S8DEL
        RET
;(S9信号延迟输入)
S9DEL:  JB S9,S9DEL
        ACALL DELAY
        JB S9,S9DEL
        RET



;(S10信号延迟输入)
S10DEL: JB S4,S4DEL
        ACALL DELAY
        JB S4,S4DEL
        RET



;(S11信号延迟输入)
S11DEL: JB S11,S11DEL
        ACALL DELAY
        JB S11,S11DEL
        RET



;(S12信号延迟输入)
S12DEL: JB S12,S12DEL
        ACALL DELAY
        JB S12,S12DEL
        RET




      END
[ 此帖被阿少杰在2009-04-20 20:03重新编辑 ]
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
1楼  发表于: 2009-04-20 19:54
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
2楼  发表于: 2009-04-20 19:55
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
3楼  发表于: 2009-04-20 19:55
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
4楼  发表于: 2009-04-20 19:57
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
5楼  发表于: 2009-04-20 19:58
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
6楼  发表于: 2009-04-20 19:58
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
7楼  发表于: 2009-04-20 19:59
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
8楼  发表于: 2009-04-20 20:00
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
9楼  发表于: 2009-04-20 20:00
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
10楼  发表于: 2009-04-20 20:01
图片:
接着上图
阿少杰
石头
级别: 家园常客
精华主题: 0
发帖数量: 263 个
工控威望: 557 点
下载积分: 474 分
在线时间: 106(小时)
注册时间: 2006-10-05
最后登录: 2018-06-14
查看阿少杰的 主题 / 回贴
11楼  发表于: 2009-04-20 20:02
图片:
接着上图
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go