Hej, tak jak w temacie , chcę zatrzymać wyświetlanie cyfr na wyświetlaczu, ktoś może coś doradzić? :)
start:
MOV R0, #0
; scan row0
SETB P0.3
CLR P0.0
CALL colScan
JB F0, finish
; scan row1
SETB P0.0
CLR P0.1
CALL colScan
JB F0, finish
; scan row2
SETB P0.1
CLR P0.2
CALL colScan
JB F0, finish
; scan row3
SETB P0.2
CLR P0.3
CALL colScan
JB F0, finish
JMP start
finish:
JMP $
colScan:
JNB P0.4, gotKey
INC R0
JNB P0.5, gotKey
INC R0
JNB P0.6, gotKey
INC R0
RET
gotKey:
JMP start2
start2:
SETB P3.3
SETB P3.4
MOV P1, #10010000B ;9
CALL delay
MOV P1, #10000000B ; 8
CALL delay
MOV P1, #11111000B ; 7
CALL delay
MOV P1, #10000010B ; 6
CALL delay
MOV P1, #10010010B ; 5
CALL delay
MOV P1, #10011001B ; 4
CALL delay
MOV P1, #10110000B ; 3
CALL delay
MOV P1, #10100100B ; 2
CALL delay
MOV P1, #11111001B ; 1
CALL delay
MOV P1, #01000000B ; 0
CALL delay
RET
delay:
MOV R0, #200
DJNZ R0, $
RET