Có thể là do phần cứng chăng,
đây là code matrix tĩnh em vừa sửa lại

tình trạng tương tự Row 5>8 do hc138 đảm nhận không sáng, phần còn lại thì hiển thị lung tung
Code:
;********************************************************
;
; THE LED FLASH 595
;
; AUTHOR : HTALUVBEBEO
;********************************************************
LIST P=PIC16F84A
INCLUDE P16F84A.INC
__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
;**************** LABEL DEFINITION ********************
RA0 EQU 00 ;RA0 BIT
RA1 EQU 01 ;RA1 BIT
RA2 EQU 02 ;RA2 BIT
RA3 EQU 03 ;RA3 BIT
RA4 EQU 04 ;RA4 BIT
CNT500U EQU 0x0C ;500USEC COUNTER ADDRESS
CNT1M EQU 0x0D ;1MSEC COUNTER ADDRESS
SHIFT EQU 0x11 ;CHUA BIT CAN DICH
COUNTS EQU 0x12 ;KIEM TRA SO LUONG BIT DICH
ROW1 EQU 0x13
ROW2 EQU 0x14
ROW3 EQU 0x15
ROW4 EQU 0x16
ROW5 EQU 0x17
ROW6 EQU 0x18
ROW7 EQU 0x19
ROW8 EQU 0x1A
CNTTAB EQU 0x1B ;COUNT CHO TABLE
CNTSC1 EQU 0x1C ;COUNT NUMBER OF SCAN1
;**************** KHAI BAO PHANCUNG VOI 595 *************
#DEFINE DATA PORTB,0
#DEFINE CLOCK PORTB,1
#DEFINE CLEAR PORTB,2
#DEFINE LATCH PORTB,3
;**************** PROGRAM START ***********************
ORG 0 ;RESET VECTOR
GOTO INIT
ORG 4 ;INTERRUPT VECTOR
GOTO INIT
;**************** INITIAL PROCESS *********************
ORG 5
INIT BCF STATUS,RP1
BSF STATUS,RP0 ;CHANGE TO BANK1
MOVLW B'00011' ;SET INPUT MODE DATA
MOVWF TRISA ;SET PORTA TO INPUT MODE
MOVLW B'11110000'
MOVWF TRISB
BCF STATUS,RP0 ;CHANGE TO BANK0
;***************** NHET CHU VAO DAY ***********
MOVLW B'01110000'
MOVWF ROW1
MOVLW B'01000100'
MOVWF ROW2
MOVLW B'01000100'
MOVWF ROW3
MOVLW B'01001000'
MOVWF ROW4
MOVLW B'01110000'
MOVWF ROW5
MOVLW B'01001000'
MOVWF ROW6
MOVLW B'01001000'
MOVWF ROW7
MOVLW B'01110000'
MOVWF ROW8
;************************** SCAN**************************
SCAN CALL CLR ;XOA 595
MOVF ROW8,0 ;DUA DU LIEU ROW1 VAO W
CALL SHIFTOUT ;GOI CT DICH BIT
CALL CHOT ;CHOT DU LIEU RA O 595
CALL SCR8 ;GOI CT SCAN ROW, TURN ROW ON
CALL T1M ;DELAY 1MS
CALL CLR ;XOA 595
MOVF ROW7,0 ;DUA DU LIEU ROW1 VAO W
CALL SHIFTOUT ;GOI CT DICH BIT
CALL CHOT ;CHOT DU LIEU RA O 595
CALL SCR7 ;GOI CT SCAN ROW, TURN ROW ON
CALL T1M ;DELAY 1MS
CALL CLR ;XOA 595
MOVF ROW6,0 ;DUA DU LIEU ROW1 VAO W
CALL SHIFTOUT ;GOI CT DICH BIT
CALL CHOT ;CHOT DU LIEU RA O 595
CALL SCR6 ;GOI CT SCAN ROW, TURN ROW ON
CALL T1M ;DELAY 1MS
CALL CLR ;XOA 595
MOVF ROW5,0 ;DUA DU LIEU ROW1 VAO W
CALL SHIFTOUT ;GOI CT DICH BIT
CALL CHOT ;CHOT DU LIEU RA O 595
CALL SCR5 ;GOI CT SCAN ROW, TURN ROW ON
CALL T1M ;DELAY 1MS
CALL CLR ;XOA 595
MOVF ROW4,0 ;DUA DU LIEU ROW1 VAO W
CALL SHIFTOUT ;GOI CT DICH BIT
CALL CHOT ;CHOT DU LIEU RA O 595
CALL SCR4 ;GOI CT SCAN ROW, TURN ROW ON
CALL T1M ;DELAY 1MS
CALL CLR ;XOA 595
MOVF ROW3,0 ;DUA DU LIEU ROW1 VAO W
CALL SHIFTOUT ;GOI CT DICH BIT
CALL CHOT ;CHOT DU LIEU RA O 595
CALL SCR3 ;GOI CT SCAN ROW, TURN ROW ON
CALL T1M ;DELAY 1MS
CALL CLR ;XOA 595
MOVF ROW2,0 ;DUA DU LIEU ROW1 VAO W
CALL SHIFTOUT ;GOI CT DICH BIT
CALL CHOT ;CHOT DU LIEU RA O 595
CALL SCR2 ;GOI CT SCAN ROW, TURN ROW ON
CALL T1M ;DELAY 1MS
CALL CLR ;XOA 595
MOVF ROW1,0 ;DUA DU LIEU ROW1 VAO W
CALL SHIFTOUT ;GOI CT DICH BIT
CALL CHOT ;CHOT DU LIEU RA O 595
CALL SCR1 ;GOI CT SCAN ROW, TURN ROW ON
CALL T1M ;DELAY 1MS
GOTO SCAN
;********************************************************
; TIMER SUBROUTINE FOR 10MHZ CLOCK
;********************************************************
;************* 1MSEC TIMER SUBROUTINE *****************
T1M MOVLW D'2' ;(1) SET LOOP CNT1
MOVWF CNT1M ;(1) SAVE LOOP CNT1
TM1LP1 MOVLW D'249' ;(1)*2 SET LOOP CNT2
MOVWF CNT500U ;(1)*2 SAVE LOOP CNT2
TM1LP2 NOP ;(1)*249*2 TIME ADJUST
NOP ;(1)*249*2 TIME ADJUST
DECFSZ CNT500U,F ;(1)*249*2 CNT500U-1=0 ?
GOTO TM1LP2 ;(2)*248*2 NO, CONTINUE
DECFSZ CNT1M,F ;(1)*2 CNT1M-1=0 ?
GOTO TM1LP1 ;(2) NO. CONTINUE
RETURN ;(2) YES. CNT END
;TOTAL 2501*0.4USEC=1MSEC
;*********** CHUONG TRINH CON DICH BIT **********
SHIFTOUT
MOVWF SHIFT ;DUA DU LIEU VAO THANH GHI SHIFT
MOVLW D'8' ;DEM 8BIT DU LIEU
MOVWF COUNTS
TESTBIT
BCF DATA ;DU LIEC BAN DAU LA 0
BTFSC SHIFT,7 ;SHIFT CO BIT7 BANG 0 KKO??
BSF DATA ;NEU KO SET DU LIEU TU O THANH 1
BSF CLOCK ;DUA DU LIEU VAO
NOP
BCF CLOCK ;DUA CHAN CLOCK VE MUC THAP
RLF SHIFT,0 ;DICH TRAI THANH GHI DU LIEU
MOVWF SHIFT ;TRA GIA TRI LAI THANH GHI SHIFT
DECFSZ COUNTS,1 ; XEM BIEN COUNT KHI GIAM BANG 0???
GOTO TESTBIT ;NEU CHUA THI DICH TIEP
RETURN
;**************** KHOI TAO 595 *********************
CLR BCF CLEAR ;RESET DU LIEU TRONG 595
NOP ; CLEAR TAC DONG CANH XUONG
BSF CLEAR ; DUA CHAN RESET VE MUC LOGIC CAO
RETURN
;*********** CHUONG TRINH CHOT **********
CHOT
BSF LATCH ;LEN MUC CAO DE DUA BYTE VAO
NOP
BCF LATCH ;XUONG THAP KET THUC
RETURN
;*********** SCAN ROW *************
SCR1 MOVLW B'00011'
MOVWF PORTA
RETURN
SCR2 MOVLW B'00111'
MOVWF PORTA
RETURN
SCR3 MOVLW B'01011'
MOVWF PORTA
RETURN
SCR4 MOVLW B'01111'
MOVWF PORTA
RETURN
SCR5 MOVLW B'10011'
MOVWF PORTA
RETURN
SCR6 MOVLW B'10111'
MOVWF PORTA
RETURN
SCR7 MOVLW B'11011'
MOVWF PORTA
RETURN
SCR8 MOVLW B'11111'
MOVWF PORTA
RETURN
;************************************************************
END