Hi Mark. I use a 4x4 matrix to address an ISD chip to record & play messages. This is a piece of the routine I use to test the matrix. All of portb is held high with a resistor network. Maybe it will help with your problem.
TESTCELLS:
Low PORTC.1 'COLUMN 1
Pause 1
IF PORTB.4 = 0 THEN MESSAGE 1 'ROW 1
IF PORTB.5 = 0 THEN MESSAGE 2 'ROW 2
IF PORTB.6 = 0 THEN MESSAGE 3 'ROW 3
IF PORTB.7 = 0 THEN MESSAGE 4 'ROW 4
High PORTC.1
Low PORTC.2 'COLUMN 2
Pause 1
IF PORTB.4 = 0 THEN MESSAGE 5 'ROW 1
IF PORTB.5 = 0 THEN MESSAGE 6 'ROW 2
IF PORTB.6 = 0 THEN MESSAGE 7 'ROW 3
IF PORTB.7 = 0 THEN MESSAGE 8 'ROW 4
High PORTC.2
Low PORTC.6 'COLUMN3
Pause 1
IF PORTB.4 = 0 THEN MESSAGE 9 'ROW 1
IF PORTB.5 = 0 THEN MESSAGE 10 'ROW 2
IF PORTB.6 = 0 THEN MESSAGE 11 'ROW 3
IF PORTB.7 = 0 THEN MESSAGE 12 'ROW 4
High PORTC.6
Low PORTC.7 'COLUMN 4
Pause 1
IF PORTB.4 = 0 THEN MESSAGE 13 'ROW 1
IF PORTB.5 = 0 THEN MESSAGE 14 'ROW 2
IF PORTB.6 = 0 THEN MESSAGE 15 'ROW 3
IF PORTB.7 = 0 THEN MESSAGE 16 'ROW 4
High PORTC.7
GoTo TESTCELLS
Bookmarks