'PIC 16F628A, with 16Mhz crystal and pull ups (10k) at SDI and CLK
'This program has to energize led 0,1 and 7 of row 2 at a 8x8 ledmatrix (rownumbers numbered 1..8)
Define CONF_WORD = 0x3f42
AllDigital
Define CLOCK_FREQUENCY = 16
Define SPI_CS_REG = PORTB
Define SPI_CS_BIT = 1
Define SPI_SCK_REG = PORTB 'with pull up (10k)
Define SPI_SCK_BIT = 2
Define SPI_SDI_REG = PORTB 'with pull up (10k)
Define SPI_SDI_BIT = 0
Define SPI_SDO_REG = PORTB
Define SPI_SDO_BIT = 3
SPIPrepare
'****************************************
'Init MAX7219
SPICSOn
SPISend 12 'Registeradress shutdown
SPISend 1 'value written To registry
SPICSOff
WaitMs 10
SPICSOn
SPISend 9 'Registeradress decode mode
SPISend 0 'value written to registry
SPICSOff
WaitMs 10
SPICSOn
SPISend 11 'Registeradress scanlimit
SPISend 7 'value written to registry
SPICSOff
WaitMs 10
SPICSOn
SPISend 10 'Registeradress intensity
SPISend 1 'value written to registry
SPICSOff
WaitMs 10
SPICSOn
SPISend 15 'Registeradress testmode/ normal mode
SPISend 0 'value written to registry
SPICSOff
WaitMs 10
'End of init
'****************************************
main:
SPICSOn
SPISend 0x02 'Registeradress (digit 1)
SPISend 131 'bit 0, 1 and 7 for test
SPICSOff
WaitMs 10
Goto main
'End of mainprogram
'****************************************