📄 chip cam open&short test3_b(20pin).asm
字号:
MOV 27H, A
MOV A, 28H
CPL A
MOV 28H, A
MOV A, 29H
CPL A
MOV 29H, A
MOV A, 2AH
CPL A
MOV 2AH, A
MOV A, 2BH
CPL A
MOV 2BH, A
MOV A, 30H
CPL A
MOV 30H, A
MOV A, 31H
CPL A
MOV 31H, A
MOV A, 32H
CPL A
MOV 32H, A
MOV A, 33H
CPL A
MOV 33H, A
MOV A, 34H
CPL A
MOV 34H, A
MOV A, 35H
CPL A
MOV 35H, A
MOV A, 36H
CPL A
MOV 36H, A
MOV A, 37H
CPL A
MOV 37H, A
MOV A, 38H
CPL A
MOV 38H, A
MOV A, 39H
CPL A
MOV 39H, A
MOV A, 3AH
CPL A
MOV 3AH, A
MOV A, 3BH
CPL A
MOV 3BH, A
OPEN_TEST: JB SYNC_SIGNAL, OPEN_TEST ;侦测同步信号
NOP
NOP
JB SYNC_SIGNAL, OPEN_TEST
MOV P1, #0FFH
MOV P2, #0FFH
MOV P3, #0FH
NOP
NOP
MOV P1_BUFFER, P1
MOV P2_BUFFER, P2
MOV P3_BUFFER, P3
MOV OPEN_BUFFER, P1_BUFFER ;测试地线有没断路(先将发送位去掉)看是否每个口都没信号
ANL OPEN_BUFFER, #0BFH
MOV A, OPEN_BUFFER
JNZ OPEN_TEST2
MOV A, P2_BUFFER
JNZ OPEN_TEST2
MOV A, P3_BUFFER
JNZ OPEN_TEST2
MOV P1_BUFFER, #0BFH ;地线有断路则直接显示
MOV P2_BUFFER, #0FFH
MOV P3_BUFFER, #0FFH
AJMP OPEN
OPEN_TEST2: MOV A, P1_BUFFER ;测试其它PIN有无断路
CPL A
JNZ OPEN ;有则跳到断路显示
MOV A, P2_BUFFER
CPL A
JNZ OPEN
MOV A, P3_BUFFER
CPL A
JNZ OPEN
SHORT_DETEC: MOV A, SHORT_MARK ;叛读标志位,看有无短路
JNZ SHORT
AJMP PASS
OPEN: CLR BUZZER ;断路,蜂鸣器BB鸣两声 (先检测开路)
LCALL D02S
SETB BUZZER
LCALL D02S
CLR BUZZER
LCALL D02S
SETB BUZZER
OUT_OPEN: CLR LED_OPEN ;打开断路批示LED并显示断路点
SETB LED_SHORT
CLR LED_CONTROL
MOV P1, P1_BUFFER
MOV P2, P2_BUFFER
MOV P3, P3_BUFFER
LCALL SWITCH
AJMP OUT_SHORT1
SHORT: CLR BUZZER ;短路,蜂鸣器BB鸣两声
LCALL D02S
SETB BUZZER
LCALL D02S
CLR BUZZER
LCALL D02S
SETB BUZZER
OUT_SHORT1: CLR LED_SHORT ;显示第一组短路点,并打开短路指示LED
SETB LED_OPEN
CLR LED_CONTROL ;以下轮流显示12组短路点
MOV P1, 10H
MOV P2, 20H
MOV P3, 30H
LCALL SWITCH
OUT_SHORT2: MOV P1, 11H
MOV P2, 21H
MOV P3, 31H
LCALL SWITCH
OUT_SHORT3: MOV P1, 12H
MOV P2, 22H
MOV P3, 32H
LCALL SWITCH
OUT_SHORT4: MOV P1, 13H
MOV P2, 23H
MOV P3, 33H
LCALL SWITCH
OUT_SHORT5: MOV P1, 14H
MOV P2, 24H
MOV P3, 34H
LCALL SWITCH
OUT_SHORT6: MOV P1, 15H
MOV P2, 25H
MOV P3, 35H
LCALL SWITCH
OUT_SHORT7: MOV P1, 16H
MOV P2, 26H
MOV P3, 36H
LCALL SWITCH
OUT_SHORT8: MOV P1, 17H
MOV P2, 27H
MOV P3, 37H
LCALL SWITCH
OUT_SHORT9: MOV P1, 18H
MOV P2, 28H
MOV P3, 38H
LCALL SWITCH
OUT_SHORT10: MOV P1, 19H
MOV P2, 29H
MOV P3, 39H
LCALL SWITCH
OUT_SHORT11: MOV P1, 1AH
MOV P2, 2AH
MOV P3, 3AH
LCALL SWITCH
OUT_SHORT12: MOV P1, 1BH
MOV P2, 2BH
MOV P3, 3BH
LCALL SWITCH
AJMP OUT_OPEN ;返回开路显示
SWITCH: JB KEYSTROKE, SWITCH ;按键检测程序
LCALL D10MS
JB KEYSTROKE, SWITCH
CPL BUZZER
LCALL D02S
CPL BUZZER
LCALL D02S
RET
D10MS: MOV R2, #10 ;延时程序
D3: MOV R3, #250
D4: DJNZ R3, D4
DJNZ R2, D3
RET
D02S: MOV R2, #100
D1: MOV R3, #250
D2: DJNZ R3, D2
DJNZ R2, D1
RET
PASS: CLR BUZZER ;跳到此处表示测试已通过(良品)
LCALL D02S
LCALL D02S
LCALL D02S
LCALL D02S
LCALL D02S
SETB BUZZER
AJMP $
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -