Hola a todos.. Quiero manejar 8 diplay con un max7219 pero no logro hacer que los display prendan!!
Aca dejo el codigo, la verdad no encuentro el problema. No se si es problema de Sofware, de conexionado, o simplemente que el proteus no lo simula.
#include <18F2550.h>
#use delay(clock=4000000) //Configuracion Ocilador
#fuses HS,NOWDT,NOPROTECT,NOLVP,NODEBUG //Configuracion Fusibles
#use spi(DO=pin_b7,CLK=pin_b5,LOAD=pin_b6,LOAD_ACTIVE=1,BITS=16,IDLE=1)
//Constantes
#define LIMIMTE_UP 100
#define LIMIMTE_DOWN 0
//Varible Globales
int16 packetmax;
void send_MAX(int digito, int dato){
packetmax=make16(digito,dato);
spi_xfer(packetmax);
}
void setupMAX7219(){
send_MAX(0x0F,0x00);
send_MAX(0x09,0xff); // Registro "DecodeMode" dígitos de 0 a 3
send_MAX(0x0A,0x0D);
send_MAX(0x0C,0x01); // Registro "ShutDown" 1 - Enciendo los display 0 - Apaga los Display
send_MAX(0x0B,0x03); // Registro "ScanLimit" Digitos 0, 1, 2 y 3
}
/****************************************************************************/
/* Main */
/****************************************************************************/
void main()
{
delay_ms(10);
setupMAX7219();
while(TRUE)//Bucle Infinito
{
send_MAX(0x01,0x05);
}
}
Saludos