📄 chip cam open&short test3_a(20pin).asm
字号:
OUT_3V3 BIT P0.0
SYNC_SIGNAL BIT P0.6
DGND BIT P1.6
ORG 0000H
AJMP PROG_MAIN
ORG 0030H
PROG_MAIN:
CLR EA
MOV SP, #70H
MOV A, #00H
MOV P1, A ;打开所有的输出MOSFET(使测试LED不受此端影响)
MOV P2, A
MOV P3, A
CLR OUT_3V3 ;将3.3V输出开启(断路测试时开)
SETB SYNC_SIGNAL ;将同步信号关断(高有效)
LCALL D250MS
LCALL D250MS ;等待接收端LED测试完成
LCALL D250MS
MOV A, #0FFH
MOV P1, A ;关掉所有的输出MOSFET,进入短路测试模式
MOV P2, A
MOV P3, A
SETB OUT_3V3 ;将3.3V输出关断 ,进入短路测试模式
LCALL D250MS
MOV R0, #7FH ;R0=SCAN WORD
OUTP1: MOV A, R0
RL A
MOV R0, A
MOV P1, A
LCALL D1MS
CLR SYNC_SIGNAL
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
SETB SYNC_SIGNAL
LCALL D1MS
CJNE R0, #7FH, OUTP1
MOV P1, #0FFH
OUTP2: MOV A, R0
RL A
MOV R0, A
MOV P2, A
LCALL D1MS
CLR SYNC_SIGNAL
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
SETB SYNC_SIGNAL
LCALL D1MS
CJNE R0, #7FH, OUTP2
MOV P2, #0FFH
OUTP3: MOV A, R0
RL A
MOV R0, A
MOV P3, A
LCALL D1MS
CLR SYNC_SIGNAL
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
SETB SYNC_SIGNAL
LCALL D1MS
CJNE R0, #0F7H, OUTP3
MOV P3, #0FFH
OPEN: CLR OUT_3V3
CLR DGND
LCALL D250MS
CLR SYNC_SIGNAL
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
SETB SYNC_SIGNAL
LCALL D1MS
LCALL D1MS
MOV P1, #00H
MOV P2, #00H
MOV P3, #00H
AJMP $
D1MS: MOV R1, #10
D6: MOV R2, #250
D3: DJNZ R2, D3
DJNZ R1, D6
RET
D50MS: MOV R1, #50
D1: MOV R2, #250
D2: DJNZ R2, D2
DJNZ R1, D1
RET
D250MS: MOV R1, #250
D5: MOV R2, #250
D4: DJNZ R2, D4
DJNZ R1, D5
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -