📄 asm
字号:
$NOMOD51
$DEBUG
$INCLUDE (D:\ASM\REG52.INC)
STP equ R7
Inp1_Sta DATA 20H
Str BIT 20H.0
Rst BIT 20H.1
s1 BIT 20H.2
R_Rej BIT 20H.3
Hp_Rej BIT 20H.4
HP_Pass BIT 20H.5
; BIT 20H.6
;IN7 BIT 20H.7
Inp3_Sta DATA 21H
IN8 BIT 21H.0
IN9 BIT 21H.1
IN10 BIT 21H.2
IN11 BIT 21H.3
IN12 BIT 21H.4
IN13 BIT 21H.5 ;spare
IN14 BIT 21H.6
IN15 BIT 21H.7
SYS_OTH data 25h
CnterW0Str BIT 25H.0
CnterW0Out BIT 25H.1
CnterW1Str BIT 25H.2
CnterW1Out BIT 25H.3
LTB bit 25h.4
SFT_D bit 25h.5
SFT_Rst bit 25h.6
SFT_BitOV bit 25h.7
DifWHOut1 DATA 2CH
FUwh8 BIT 2cH.0
FUwh9 BIT 2cH.1
FUwh10 BIT 2cH.2
FUwh11 BIT 2cH.3
Fdwh12 BIT 2cH.4
FUCntW1 BIT 2cH.5
FUCntW0 BIT 2cH.6
FU_SftClk BIT 2cH.7
DifWHOut0 data 23h
FUWH0 bit 23h.0
FUWH1 bit 23h.1
FUWH2 bit 23h.2
FUWH3 bit 23h.3
FUWH4 bit 23h.4
FUWH5 bit 23h.5
FUWH6 bit 23h.6
FUWH7 bit 23h.7
DifWHIn0 data 24h
difuwh0 bit 24h.0
difuwh1 bit 24h.1
difuwh2 bit 24h.2
difuwh3 bit 24h.3
difuwh4 bit 24h.4
difuwh5 bit 24h.5
difuwh6 bit 24h.6
difuwh7 bit 24h.7
DifWHIn1 data 22h
difuwh8 bit 22h.0
difuwh9 bit 22h.1
difuwh10 bit 22h.2
difuwh11 bit 22h.3
difdwh12 bit 22h.4
difuCntW1 bit 22h.5
difuCntW0 bit 22h.6
difu_SftClk bit 22h.7
DifPrgOut1 data 26h
Fd8 bit 26h.0
Fd9 bit 26h.1
Fd10 bit 26h.2
fd11 bit 26h.3
FUCnt0 bit 26h.4
FUCnt1 bit 26h.5
FuCnt2 bit 26h.6
FdCnt3 bit 26h.7
DifPrgOut0 data 27h
FU0 bit 27h.0
FU1 bit 27h.1
FU2 bit 27h.2
FU3 bit 27h.3
FU4 bit 27h.4
FU5 bit 27h.5
FU6 bit 27h.6
FU7 bit 27h.7
DifPrgIn1 data 28h
difd8 bit 28h.0
difd9 bit 28h.1
difd10 bit 28h.2
difd11 bit 28h.3
difuCnt0 bit 28h.4
difuCnt1 bit 28h.5
difuCnt2 bit 28h.6
difdCnt3 bit 28h.7
DifPrgIn0 data 29h
difu0 bit 29h.0
difu1 bit 29h.1
difu2 bit 29h.2
difu3 bit 29h.3
difu4 bit 29h.4
difu5 bit 29h.5
difu6 bit 29h.6
difu7 bit 29h.7
AxFG0 data 2AH
a000 bit 2ah.0
a001 bit 2ah.1
a002 bit 2ah.2
a003 bit 2ah.3
a004 bit 2ah.4
a005 bit 2ah.5
a006 bit 2ah.6
a007 bit 2ah.7
Whfg0 data 2Fh
wh00 bit 2Fh.0
wh01 bit 2Fh.1
wh02 bit 2Fh.2
wh03 bit 2Fh.3
wh04 bit 2Fh.4
wh05 bit 2Fh.5
wh06 bit 2Fh.6
wh07 bit 2Fh.7
Cnter DATA 2BH
Cnter0Str BIT 2BH.0
Cnter0Out BIT 2BH.1
Cnter1Str BIT 2BH.2
Cnter1Out BIT 2BH.3
Cnter2Str BIT 2BH.4
Cnter2Out BIT 2BH.5
Cnter3Str BIT 2BH.6
Cnter3Out BIT 2BH.7
TimeB DATA 2DH
Time5Str BIT 2dH.0
Time5Out BIT 2dH.1
Time6Str BIT 2dH.2
Time6Out BIT 2dH.3
Time7Str BIT 2dH.4
Time7Out BIT 2dH.5
Time8Str BIT 2dH.6
Time8Out BIT 2dH.7
TimeA DATA 2EH
Time1Str BIT 2eH.0
Time1Out BIT 2eH.1
Time2Str BIT 2eH.2
Time2Out BIT 2eH.3
Time3Str BIT 2eH.4
Time3Out BIT 2eH.5
Time4Str BIT 2eH.6
Time4Out BIT 2eH.7
S008 bit psw.1
S003 bit psw.5
SftCdPt data 3eh
SFT_Reg1 Data 3fh
SFT_Reg0 Data 40h
DifwhTmp1 data 41h
DifwhTmp0 data 42h
DifPrgTmp1 DATA 43H
DifPrgTmp0 DATA 44H
IT_SV DATA 45H
Inp1_Old DATA 46H
Inp3_Old DATA 47H
Time1ctrL DATA 48H
Time1ctrH DATA 49H
Time2ctrL DATA 4AH
Time2ctrH DATA 4BH
Time3ctrL DATA 4CH
Time3ctrH DATA 4DH
Time4ctrL DATA 4EH
Time4ctrH DATA 4FH
Time5ctrL DATA 50H
Time5ctrH DATA 51H
Time6ctrL DATA 52H
Time6ctrH DATA 53H
Time7ctrL DATA 54H
Time7ctrH DATA 55H
Time8ctrL DATA 56H
Time8ctrH DATA 57H
CnterW0ctrL DATA 58H
CnterW0ctrH DATA 59H
CnterW1ctrL DATA 5AH
CnterW1ctrH DATA 5BH
Cnter0ctrL DATA 60H
Cnter0ctrH DATA 61H
Cnter1ctrL DATA 62H
Cnter1ctrH DATA 63H
Cnter2ctrL DATA 64H
Cnter2ctrH DATA 65H
Cnter3ctrL DATA 66H
Cnter3ctrH DATA 67H
RsBank3 equ 00011000b
L100ms equ 10
H100ms equ 1
L200ms equ 20
H200ms equ 1
L300ms equ 30
H300ms equ 1
l500ms equ 50
H500ms equ 1
l1s equ 100
H1s equ 1
l2s equ 200
H2s equ 1
;******INPUT P1,P3**************************************************************
;*****OUTPUT P0,P2***************************************************************
Sol1 BIT P0.0
R_Rst BIT P0.1
R_Str BIT P0.2
Hp_Rst BIT P0.3
HP_Str BIT P0.4
;HP_Rst BIT P0.5
Rej BIT P0.6
Pass BIT P0.7
Buz BIT P2.7
Rly_HP BIT P2.5
Rly_R BIT P2.6
ORG 0000H
AJMP INIT
ORG 000BH
AJMP INTIO
;-----------------------------------------------------------------------------
;init t0 ,init I/O
;-----------------------------------------------------------------------------
org 00030H
init: mov sp,#0e0H
mov ie, #10000010B ;ea ,et0
mov tmod ,#00000001B ;t0:mod1
mov th0,#0F1H ;2.5ms
mov tl0,#0
setb tr0
mov it_sv,#4
mov stp,#0ffh
setb s008
clr s003
mov Inp1_Sta,#0
mov Inp3_Sta,#0
mov Inp1_old,#0
mov Inp3_old,#0
mov SYS_OTH,#0
mov DifWHIn0,#0
mov DifWHIn1,#0
mov DifPrgIn0,#0
mov DifPrgIn1,#0
mov DifWHout0,#0
mov DifWHOut1,#0
mov DifPrgOut0,#0
mov DifPrgOut1,#0
mov Axfg0,#0
mov Whfg0,#0
mov TimeA,#0
mov TimeB,#0
mov Cnter,#0
mov SFT_Reg1,#0
mov SFT_Reg0,#0
mov DifWHTmp0,#0
mov DifWHTmp1,#0
mov DifPrgTmp0,#0
mov DifPrgTmp1,#0
;-----------------------------------------------------------------------------
;Mainscan Program
;-----------------------------------------------------------------------------
l256: cjne stp,#0ffh,l0
call PwrON
l0: cjne stp,#0,l1
call Maininit
l1: cjne stp,#1,l2
call Strup
L2: cjne stp,#2,l3
call RTest
L3: cjne stp,#3,l4
call HiPottest
L4: cjne stp,#4,l256
call SolExt
sjmp l256
;-----------------------------------------------------------------------------
Sysinit:
;-----------------------------------------------------------------------------
mov Sys_OTH,#0
mov DifWHIn0,#0
mov DifWHIn1,#0
mov DifPrgIn0,#0
mov DifPrgIn1,#0
mov DifwhTmp0,#0
mov DifWHTmp1,#0
mov DifPrgTmp0,#0
mov DifPrgTmp1,#0
mov DifWHout0,#0
mov DifWHOut1,#0
mov DifPrgOut0,#0
mov DifPrgOut1,#0
mov Axfg0,#0
mov Whfg0,#0
mov TimeA,#0
mov TimeB,#0
mov Cnter,#0
ret
;-----------------------------------------------------------------------------
DifTimRef:
;-----------------------------------------------------------------------------
mov Axfg0,#0
mov DifPrgIn0,#0
mov DifPrgIn1,#0
mov DifPrgOut0,#0
mov DifPrgOut1,#0
mov DifPrgTmp0,#0
mov DifPrgTmp1,#0
mov TimeA,#0
mov TimeB,#0
mov Cnter,#0
ret
;-----------------------------------------------------------------------------
PwrON: ;256
;-----------------------------------------------------------------------------
PwrOnTim: jb time1str,PwrOn1
mov Time1ctrL,#l100ms
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -