'**************************************************************** '* Name : rowColumn.BAS * '* Author : Rob Seward * '* Notice : Copyright (c) 2005 freely distributable * '* : All Rights Reserved * '* Date : 4/9/2005 * '* Version : 1.0 * '* Notes : This program is for controlling a * '* : bi-color 5x7 LED matrix. Red anodes should be * '* : connected to portd, green anodes to portc, and * '* : cathodes to portb. * '* : * '**************************************************************** TRISD = %00000000 ' Set PORTD to all output TRISB = %00000000 ' Set PORTB to all output TRISC = %00000000 ' Set PORTC to all output 'aliases tx var portc.6 rx var portc.7 green var portc red var portd groundReg var portb 'constants NUM_ROWS CON 7 NUM_COLS CON 5 'row column arrays col var byte[8] row var BYTE[8] 'variables i var byte : j var byte initByte var byte : initByte = %00000001 'initialize row and column arrays for i = 0 to 7 col[i] = initByte << i row[i] = col[i] ^ %11111111 'invert byte next i gosub testScrn 'main program loop main: 'do something goto main 'light up all the lights! (Sequentially) testScrn: for i = 0 to 4 for J = 0 to 6 green = 0 red = col[i] PORTB = ROW[J] pause 20 next next for i = 0 to 4 for J = 0 to 6 RED = 0 GREEN = col[i] PORTB = ROW[J] pause 20 next next red = 0 green = 0 groundReg = 0 pause 500 GOTO main