;2013 5:12 四个行程 模退合模时间共用 寄存器优化
;新板改时间控制 成进 成退 模进 鼓涨开模(行程开关) 2010 12 26
;压力端口P0.6改为模退端口 开模 鼓松 合模 模退(时间控制)
S1 BIT P2.0 ;模进
S2 BIT P2.1 ;成进
S3 BIT P2.2 ;成退
S4 BIT P2.3 ;鼓涨
S5 BIT P2.4 ;开模
S6 BIT P2.5
S7 BIT P2.6
S8 BIT P2.7
SDG EQU 7FH ;设定个位
SDS EQU 7EH ;设定十位
SDB EQU 7DH ;设定百位
SJG EQU 7CH ;实际个位
SJS EQU 7BH ;实际十位
SJB EQU 7AH ;实际百位
DSS EQU 79H ;定时十位
DSG EQU 78H ;定时个位
GDM EQU 77H ;显示个位
SDM EQU 76H ;显示十位
BDM EQU 75H ;显示百位
DJBZ EQU 74H ;紧急停机标志。
ZDBZ EQU 73H ;半自动自动
JSBZ EQU 72H ;计数标志
KZBZ EQU 71H ;控制标志
HMG EQU 70H ;合模个位
HMS EQU 6FH ;合模十位
GSG EQU 6EH ;鼓松个位
GSS EQU 6DH ;鼓松十位
KMG EQU 6CH ;开模个位
KMS EQU 6BH ;开模十位
MTG EQU 6AH ;模退个位
MTS EQU 69H ;模退十位
GWHC EQU 68H ;合模 鼓松 开模 模退 定时个位显示转换代码缓冲
SWHC EQU 67H ;合模 鼓松 开模 模退 定时十位显示转换代码缓冲
PBA BIT P1.7
PBB BIT P1.6
PBC BIT P1.5
G1 BIT P3.5
G2 BIT P3.4
SCL BIT P3.1
SDA BIT P3.0
RS BIT P0.1
RW BIT P0.5
E BIT P0.4
GN BIT P1.3
SR45 BIT P0.3
XS45 BIT P0.2;
MT BIT P3.6
DJ BIT P3.7
YL BIT P0.7
COM EQU 20H
DAT EQU 21H
ORG 0000H
AJMP MAIN
ORG 0100H
;======================================
MAIN: MOV SP,#60H
CLR DJ ;标志位2014 6 12
CLR MT
; 标志位2014 6 12
CLR YL
;标志位2014 6 12
SOT: JB P3.3,SOT
LCALL DD1 ;延时50毫秒子程序
LCALL DD1
JB P3.3,SOT
SETB DJ
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
//MOV P4,#0FFH
// MOV P5,#0FFH
SADF: SETB P0.6 ;()
MOV DJBZ,#0FH ;紧急停机标志关
SETB MT
XSA:
NOP ;SETB P0.7; ()
// SETB EA
LCALL OUTX ;74HC137Y0 输出一次
LCALL DD1 ;延时
SETB YL
LCALL GOUT ;关 74HC137 Y0
KPK: JB P3.3,KPP ;3333333
LCALL DD1 ;延时50毫秒子程序
LCALL DD1
JB P3.3,KPP ;检测电机
AJMP UU
KPP: AJMP LOPA1
UU: NOP
CLR DJ ;电机开*/
MOV R5,#18H
MMM: LCALL DD1 ;延时50毫秒子程序
DJNZ R5,MMM
SETB EX1
LOPA1: CLR MT
CLR P1.0
JB GN,LOPC1 ;检测功能跳转333333333
LCALL DD1 ;检测手动半自动自动电机
JB GN,LOPC1 ;延时50毫秒子程序
AJMP MM
LOPC1: SETB P1.0 ;检测功能
AJMP KH1
MM: LCALL CLRYJ
MOV R1,#0E8H
MOV COM,#90H
LCALL WRI
MOV DAT,#0C9H
LCALL WRD
MOV DAT,R1
LCALL WRD ;She设
MOV R1,#0A8H
MOV COM,#91H
LCALL WRI
MOV DAT,#0B6H
LCALL WRD
MOV DAT,R1
LCALL WRD ;din定
MOV R1,#0A8H
MOV COM,#92H
LCALL WRI
MOV DAT,#0B2H
LCALL WRD
MOV DAT,R1
LCALL WRD ;bo波
MOV R1,#0B5H
MOV COM,#93H
LCALL WRI
MOV DAT,#0D6H
LCALL WRD
MOV DAT,R1
LCALL WRD ;zhi值
LCALL CSXS ;显示参数设定
LCALL XSCL ;>>>>>>>>>>>>>>>>>>>>>
LCALL SDZXS ;设定值显示
KBH: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.0,LOPC
LCALL DD1
LCALL DK ;延时10毫秒子程序
JB P1.0,LOPC
MOV R0,SDG
MOV R1,SDS
MOV R2,SDB
LCALL JJS1 ;设定加子程序
MOV SDG,R0
MOV SDS,R1
MOV SDB,R2
LCALL WTSDZ ;写存储设定值
LCALL XSCL ;调用设定显示代码处理子程序
LCALL SDZXS ;设定值显示
LOPC: SETB P1.2
SETB P1.0
CLR P1.1
LCALL DD1
JB P1.0,LOPCC
LCALL DD1
LCALL DK ;延时10毫秒子程序
JB P1.0,LOPCC
MOV R0,SDG
MOV R1,SDS
MOV R2,SDB
LCALL JIJS ;设定减子程序
MOV SDG,R0
MOV SDS,R1
MOV SDB,R2
LCALL WTSDZ ;写存储设定值
LCALL XSCL ;调用设定显示代码处理子程序
LCALL SDZXS ;设定值显示
LOPCC: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,KBH1
LCALL DD1 ;延时50毫秒子程序
JB GN,KBH1 ;检测功能 跳转检测加程序
AJMP YU
KBH1: SETB P1.6
AJMP KBH
YU: LCALL CLRYJ
LCALL XSSJSD
LCALL DSCLC ;调用定时代码处理子程序<<<<增加指令
LCALL DSXS ;调用显示定时子程序
LOPD: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.0,LOPE
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LOPE ;检测加定时
MOV R0,DSG
MOV R1,DSS
LCALL DSJA ;定时加子程序
MOV DSG,R0
MOV DSS,R1
LCALL WTDS ;写存储定时值
LCALL DSCLC ;调用定时代码处理子程序
LCALL DSXS ;调用定时显示子程序
LOPE: SETB P1.2
SETB P1.0
CLR P1.1
LCALL DD1
JB P1.0,LOPTA
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LOPTA ;检测减定时
MOV R0,DSG
MOV R1,DSS
LCALL DSJI ;定时减子程序
MOV DSG,R0
MOV DSS,R1
LCALL WTDS ;写存储定时值
LCALL DSCLC ;调用定时代码处理子程序
LCALL DSXS ;调用定时显示子程序
;=============增加程序A===以下插入==============
LOPTA: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,LTA1
LCALL DD1
LCALL DD1
JB GN,LTA1
AJMP RYT1
LTA1: NOP
LJMP LOPD ;检测功能键,无输入检测跳上段时间加减
;-----------------------------------------------
RYT1: LCALL CLRYJ ;
LCALL XSSJSD ;显示数据设定
LCALL XSKM ;显示开模------------------------------
MOV A,KMG
ANL A,#0FH
MOV KMG,A
MOV A,KMS
ANL A,#0FH
MOV KMS,A
MOV SWHC,KMS
MOV GWHC,KMG
LCALL DSCLTM
LCALL DSXSTM ;调用定时显示子程序
TPA: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.0,LPA
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LPA ;检测加定时
MOV R0,KMG
MOV R1,KMS
LCALL DSJA ;定时加子程序
MOV KMG,R0
MOV KMS,R1
LCALL WTDST1 ;写存储定时值
MOV SWHC,KMS
MOV GWHC,KMG
LCALL DSCLTM ;调用定时代码处理子程序
LCALL DSXSTM ;调用定时显示子程序
LPA: SETB P1.2
SETB P1.0
CLR P1.1
LCALL DD1
JB P1.0,LPAA
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LPAA ;检测减定时
MOV R0,KMG
MOV R1,KMS
LCALL DSJI ;定时减子程序
MOV KMG,R0
MOV KMS,R1
LCALL WTDST1 ;写存储定时值
MOV SWHC,KMS
MOV GWHC,KMG
LCALL DSCLTM ;调用定时代码处理子程序
LCALL DSXSTM ;调用定时显示子程序
;=============以上程序设定开模时间==============
LPAA: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,LTB1
LCALL DD1
JB GN,LTB1
AJMP RYT2
LTB1: NOP
LJMP TPA ;检测功能键,无输入检测跳上段时间加减
;-----------------------------------------------
RYT2: LCALL CLRYJ ;
LCALL XSSJSD ;显示数据设定
LCALL XSGS ;显示鼓松
MOV A,GSG
ANL A,#0FH
MOV GSG,A
MOV A,GSS
ANL A,#0FH
MOV GSS,A
MOV SWHC,GSS
MOV GWHC,GSG
LCALL DSCLTM
LCALL DSXSTM ;调用定时显示子程序
TPB: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.0,LPB
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LPB ;检测加定时
MOV R0,GSG
MOV R1,GSS
LCALL DSJA ;定时加子程序
MOV GSG,R0
MOV GSS,R1
LCALL WTDST2 ;写存储定时值
MOV SWHC,GSS
MOV GWHC,GSG
LCALL DSCLTM ;调用定时代码处理子程序
LCALL DSXSTM ;调用定时显示子程序
LPB: SETB P1.2
SETB P1.0
CLR P1.1
LCALL DD1
JB P1.0,LPBB
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LPBB ;检测减定时
MOV R0,GSG
MOV R1,GSS
LCALL DSJI ;定时减子程序
MOV GSG,R0
MOV GSS,R1
LCALL WTDST2 ;写存储定时值
MOV SWHC,GSS
MOV GWHC,GSG
LCALL DSCLTM ;调用定时代码处理子程序
LCALL DSXSTM ;调用定时显示子程序
;=============以上程序设定鼓松时间==============
LPBB: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,LTC1
LCALL DD1
JB GN,LTC1
AJMP RYT3
LTC1: NOP
LJMP TPB ;检测功能键,无输入检测跳上段时间加减
;-----------------------------------------------
RYT3: LCALL CLRYJ ;
LCALL XSSJSD ;显示数据设定
LCALL XSHM ;显示合模
MOV A,HMG
ANL A,#0FH
MOV HMG,A
MOV A,HMS
ANL A,#0FH
MOV HMS,A
MOV SWHC,HMS
MOV GWHC,HMG
LCALL DSCLTM
LCALL DSXSTM ;调用定时显示子程序
TPC: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.0,LPC
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LPC ;检测加定时
MOV R0,HMG
MOV R1,HMS
LCALL DSJA ;定时加子程序
MOV HMG,R0
MOV HMS,R1
LCALL WTDST3 ;写存储定时值
MOV SWHC,HMS
MOV GWHC,HMG
LCALL DSCLTM ;调用定时代码处理子程序
LCALL DSXSTM ;调用定时显示子程序
LPC: SETB P1.2
SETB P1.0
CLR P1.1
LCALL DD1
JB P1.0,LPCC
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LPCC ;检测减定时
MOV R0,HMG
MOV R1,HMS
LCALL DSJI ;定时减子程序
MOV HMG,R0
MOV HMS,R1
LCALL WTDST3 ;写存储定时值
MOV SWHC,HMS
MOV GWHC,HMG
LCALL DSCLTM ;调用定时代码处理子程序
LCALL DSXSTM ;调用定时显示子程序
;=============以上程序设定合模时间==============
LPCC: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,LTD1
LCALL DD1
JB GN,LTD1
AJMP RYT4
LTD1: NOP
LJMP TPC ;检测功能键,无输入检测跳上段时间加减
;-----------------------------------------------
RYT4: LCALL CLRYJ ;
LCALL XSSJSD ;显示数据设定
LCALL XSMT ;显示模退
MOV A,MTG
ANL A,#0FH
MOV MTG,A
MOV A,MTS
ANL A,#0FH
MOV MTS,A
MOV SWHC,MTS
MOV GWHC,MTG
LCALL DSCLTM
LCALL DSXSTM ;调用定时显示子程序
TPD: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.0,LPD
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LPD ;检测加定时
MOV R0,MTG
MOV R1,MTS
LCALL DSJA ;定时加子程序
MOV MTG,R0
MOV MTS,R1
LCALL WTDST4 ;写存储定时值
MOV SWHC,MTS
MOV GWHC,MTG
LCALL DSCLTM ;调用定时代码处理子程序
LCALL DSXSTM ;调用定时显示子程序
LPD: SETB P1.2
SETB P1.0
CLR P1.1
LCALL DD1
JB P1.0,LPMM
LCALL DD1
LCALL DK ;延时50毫秒子程序
JB P1.0,LPMM ;检测减定时
MOV R0,MTG
MOV R1,MTS
LCALL DSJI ;定时减子程序
MOV MTG,R0
MOV MTS,R1
LCALL WTDST4 ;写存储定时值
MOV SWHC,MTS
MOV GWHC,MTG
LCALL DSCLTM ;调用定时代码处理子程序
LCALL DSXSTM ;调用定时显示子程序
;=============以上程序设定模退时间==============
LPMM: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,LOPM1
LCALL DD1
JB GN,LOPM1
AJMP RDY
LOPM1: AJMP TPD
RDY: LCALL CLRYJ ;
LCALL XSCSGL ;显示参数归零?
MMPD: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.0,LPME ;检测时间
LCALL DD1 ;延时50毫秒子程序
JB P1.0,LPME
MOV A,#00H
MOV SDG,A
MOV SDS,A
MOV SDB,A
LCALL WTSDZ
MOV A,#00H
MOV DSG,A
MOV DSS,A
LCALL WTDS
MOV A,#00H
MOV KMG,A
MOV KMS,A
LCALL WTDST1
MOV A,#00H
MOV GSG,A
MOV GSS,A
LCALL WTDST2
MOV A,#00H
MOV HMG,A
MOV HMS,A
LCALL WTDST3
MOV A,#00H
MOV MTG,A
MOV MTS,A
LCALL WTDST4
LCALL CLRYJ ;
LCALL CSGL ;显示参数已归零
LCALL DD1
LCALL DD1
LJMP LPEE
MPD: AJMP MMPD
LPME: SETB P1.2
;=============增加程序A===以上插入==============
LPEE: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,LOPD1
LCALL DD1 ;延时50毫秒子程序
JB GN,LOPD1 ;检测功能跳转时间加程序
AJMP RY
LOPD1: NOP
AJMP MPD ;;;;;;;;;需重新选择跳转 点09 1117
RY: LCALL CLRYJ ;
MOV R1,#0D8H
MOV COM,#80H
LCALL WRI
MOV DAT,#0BFH
LCALL WRD
MOV DAT,R1
LCALL WRD ;控制方式
MOV R1,#0C6H
MOV COM,#81H
LCALL WRI
MOV DAT,#0D6H
LCALL WRD
MOV DAT,R1
LCALL WRD ;制
MOV R1,#0BDH
MOV COM,#82H
LCALL WRI
MOV DAT,#0B7H
LCALL WRD
MOV DAT,R1
LCALL WRD ;方
MOV R1,#0BDH
MOV COM,#83H
LCALL WRI
MOV DAT,#0CAH
LCALL WRD
MOV DAT,R1
LCALL WRD ;式
MOV A,KZBZ
CJNE A,#0FH,XSXC ;显示行程
MOV R1,#0B1H
MOV COM,#85H
LCALL WRI
MOV DAT,#0CAH
LCALL WRD
MOV DAT,R1
LCALL WRD ;时
MOV R1,#0E4H
MOV COM,#86H
LCALL WRI
MOV DAT,#0BCH
LCALL WRD
MOV DAT,R1
LCALL WRD ;间
AJMP LOPF1
XSXC: MOV R1,#0D0H
MOV COM,#85H
LCALL WRI
MOV DAT,#0D0H
LCALL WRD
MOV DAT,R1
LCALL WRD ;行
MOV R1,#0CCH
MOV COM,#86H
LCALL WRI
MOV DAT,#0B3H
LCALL WRD
MOV DAT,R1
LCALL WRD ;程
LOPF1: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.0,LOPG ;检测时间
LCALL DD1 ;延时50毫秒子程序
JB P1.0,LOPG
MOV KZBZ,#0F0H
MOV A,#06H
MOV R0,KZBZ
LCALL WT24
MOV R1,#0D0H
MOV COM,#85H
LCALL WRI
MOV DAT,#0D0H
LCALL WRD
MOV DAT,R1
LCALL WRD ;xing行
MOV R1,#0CCH
MOV COM,#86H
LCALL WRI
MOV DAT,#0B3H
LCALL WRD
MOV DAT,R1
LCALL WRD ;cheng程
LOPG: SETB P1.2
SETB P1.0
CLR P1.1
LCALL DD1
JB P1.0,LPFF
LCALL DD1
JB P1.0,LPFF ;行程
AJMP OO
LPFF: NOP
LJMP PFF
OO: MOV KZBZ,#0FH
MOV A,#06H
MOV R0,KZBZ
LCALL WT24
MOV R1,#0B1H
MOV COM,#85H
LCALL WRI
MOV DAT,#0CAH
LCALL WRD
MOV DAT,R1
LCALL WRD ;时
MOV R1,#0E4H
MOV COM,#86H
LCALL WRI
MOV DAT,#0BCH
LCALL WRD
MOV DAT,R1
LCALL WRD ;间
PFF: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,LPF1 ;检测功能
LCALL DD1 ;跳转检测控制方式
JB GN,LPF1
AJMP CZ
LPF1: NOP
AJMP LOPF1
CZ: LCALL CLRYJ
MOV R1,#0C6H
MOV COM,#80H
LCALL WRI
MOV DAT,#0BCH
LCALL WRD
MOV DAT,R1
LCALL WRD ;计数使用
MOV R1,#0FDH
MOV COM,#81H
LCALL WRI
MOV DAT,#0CAH
LCALL WRD
MOV DAT,R1
LCALL WRD ;计数闭
MOV R1,#0B9H
MOV COM,#82H
LCALL WRI
MOV DAT,#0CAH
LCALL WRD
MOV DAT,R1
LCALL WRD ;使
MOV R1,#0C3H
MOV COM,#83H
LCALL WRI
MOV DAT,#0D3H
LCALL WRD
MOV DAT,R1
LCALL WRD ;用
MOV A,JSBZ
CJNE A,#0FH,QW
MOV R1,#0AAH
MOV COM,#85H
LCALL WRI
MOV DAT,#0BFH
LCALL WRD
MOV DAT,R1
LCALL WRD ;开
AJMP LOPH
QW: MOV R1,#0D8H
MOV COM,#85H
LCALL WRI
MOV DAT,#0B9H
LCALL WRD
MOV DAT,R1
LCALL WRD ;关
LOPH: CLR P1.2
SETB P1.0
LCALL DD1
JB P1.0,LOPI
LCALL DD1 ;延时50毫秒子程序
JB P1.0,LOPI ;检测计数开关
MOV JSBZ,#0FH
MOV A,#07H
MOV R0,JSBZ
LCALL WT24
MOV R1,#0AAH
MOV COM,#85H
LCALL WRI
MOV DAT,#0BFH
LCALL WRD
MOV DAT,R1
LCALL WRD ;开
LOPI: SETB P1.2
SETB P1.0
CLR P1.1
JB P1.0,LOPGG
LCALL DD1 ;延时50毫秒子程序
JB P1.0,LOPGG ;检测计数开
MOV JSBZ,#0F0H
MOV A,#07H
MOV R0,JSBZ
LCALL WT24 ;
MOV R1,#0D8H
MOV COM,#85H
LCALL WRI
MOV DAT,#0B9H
LCALL WRD ;关
MOV DAT,R1
LCALL WRD
LOPGG: SETB P1.1
CLR P1.0
LCALL DD1
JB GN,LOPH
LCALL DD1 ;延时50毫秒子程序
JB GN,LOPH ;检测功能
LCALL CLRYJ ;
LCALL XS0 ;
LCALL XSCL ;2012 4 10<<<<<<<<
LCALL SDZXS ;跳转检测计数开关
KH1: SETB P1.0
CLR P1.4
LCALL DD1
JB P1.2,KQ ;检测半自动
LCALL DD1 ;延时50毫秒子程序
JB P1.2,KQ
MOV ZDBZ,#0FH;
LJMP BZDX ;跳转半自动<...>
KQ: LCALL DD1
JB P1.0,LOPM ;检测自动
LCALL DD1 ;延时50毫秒子程序
JB P1.0,LOPM
MOV ZDBZ,#0F0H
BZDX: MOV DJBZ,#0FH
MOV A,ZDBZ
CJNE A,#0FH,XSI
LCALL CLRYJ
LCALL XSBZD ;显示半自动
AJMP BZDX2
XSI: LCALL CLRYJ
LCALL XSZD ;显示自动
BZDX2: SETB EX0 ;自动
LCALL XSYX ;显示<请按运行>
CLR P1.1
LCALL DD1
BZDX1: MOV A,DJBZ
CJNE A,#0FH,FHSD
LCALL DD1
LCALL DD1
LCALL DD1
JB P1.0,BZDX1
LCALL DD1
JB P1.0,BZDX1
LCALL QCYX ;清除显示<请按运行>
SETB P1.1
LJMP BZD ;检测自动<...>
FHSD: SETB P1.1
LCALL QCYX ;清除显示<请按运行>
LJMP XSA
;=======================================
LOPM: SETB P1.4
SDKS: CLR P1.3
LCALL DD1
JB P1.2,LOP2 ;检测手动
LCALL DD1 ;延时50毫秒子程序
JB P1.2,LOP2
LCALL OUT1 ;HM合模 1
LCALL K137
LCALL XS1
AA: JNB P1.2,AA
LCALL GOUT1
LCALL OUTX
LCALL XS9
LOP2: SETB P1.3
CLR P1.0
LCALL DD1
JB P1.2,LOP3
LCALL D1
JB P1.2,LOP3
LCALL OUT2 ;MJ模进2
LCALL K137
LCALL XS2
BB: JNB P1.2,BB
LCALL GOUT2
LCALL OUTX
LCALL XS9
LOP3: SETB P1.0
CLR P1.2
LCALL DD1
JB P1.1,LOP4
LCALL DD1 ;延时50毫秒子程序
&nbs