Hola compañeos
Antes que nada un saludo a todos y miles de gracias por asu ayuda, mi problema es el siguiente, adquiri el programa MikroC para Pics, yo la vdd no se mucho de pics, de hecho ando en pañales en ese tema, pero me lo piden en la escuela y ni modo.
Resulta que pues me mate las neuronas armando mi programa, he aqui el susodicho
void main() {
// Declaramos una variable para ciclar la lectura de la direccion de memoria y
// una para almacenar el dato que leeremos de la eeprom
char dirmemo='0';
char dato;
unsigned char j;
// puerto A y B como salida
TRISB=0;
TRISA=0;
// Valores para representar las letras en la matriz de leds, leidos de arriba
// hacia abajo en formato hexagesimal.
//
// letra C
eeprom_write(0,0x7c);
eeprom_write(1,0x44);
eeprom_write(2,0x44);
eeprom_write(3,0x00);
// Letra I
eeprom_write(4,0x44);
eeprom_write(5,0x7c);
eeprom_write(6,0x44);
eeprom_write(7,0x00);
// Letra N
eeprom_write(8,0x7c);
eeprom_write(9,0x20);
eeprom_write(10,0x10);
eeprom_write(11,0x7c);
// letra V
eeprom_write(12,0x00);
eeprom_write(13,0x40);
eeprom_write(14,0x38);
eeprom_write(15,0x04);
eeprom_write(16,0x38);
eeprom_write(17,0x40);
eeprom_write(18,0x00);
// Letra E
eeprom_write(19,0x7c);
eeprom_write(20,0x54);
eeprom_write(21,0x54);
eeprom_write(22,0x44);
eeprom_write(23,0x00);
// Letra S
eeprom_write(24,0x00);
eeprom_write(25,0x74);
eeprom_write(26,0x54);
eeprom_write(27,0x54);
eeprom_write(28,0x5c);
eeprom_write(29,0x00);
// Letra T
eeprom_write(30,0x40);
eeprom_write(31,0x40);
eeprom_write(32,0x7c);
eeprom_write(33,0x40);
eeprom_write(34,0x40);
eeprom_write(35,0x00);
// letra A
eeprom_write(36,0x00);
eeprom_write(37,0x7c);
eeprom_write(38,0x50);
eeprom_write(39,0x50);
eeprom_write(40,0x7c);
eeprom_write(41,0x00);
// Letra V
eeprom_write(42,0x40);
eeprom_write(43,0x38);
eeprom_write(44,0x04);
eeprom_write(45,0x38);
eeprom_write(46,0x40);
eeprom_write(47,0x00);
// rutina de espera a que se escriban los valores en la eeprom
Delay_Ms (10000);
// Inicio de ciclo para mostrar los leds en la matriz
for(j=0; j<8; j++){
PORTA.RA1_bit=1;
PORTA.RA0_bit=1;
Delay_Us(1);
PORTA.RA0_bit=0;
Delay_Us(1);
}
for(;;){
// mostramos las letras "CIN" en pantalla por 50 segundos aprox"
for(j=0; j<2000000; j++){
//saltamos a ler la eeprom
leer_eeprom();
// mostramos la primera columna
mostrar();
// habilitamos el encendido de los leds recorriendo un cero por los
//registros de desplazamiento
cero registro();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
dirmemo=0;
}
dirmemo=12;
// Mostramos las letras "VE" por 50 seg aprox
for(j=0; j<2000000; j++){
//saltamos a ler la eeprom
leer_eeprom();
// mostramos la primera columna
mostrar();
// habilitamos el encendido de los leds recorriendo un cero por los
//registros de desplazamiento
cero registro();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
dirmemo=12;
}
dirmemo=24;
for(j=0; j<2000000; j++){
//saltamos a ler la eeprom
leer_eeprom();
// mostramos la primera columna
mostrar();
// habilitamos el encendido de los leds recorriendo un cero por los
//registros de desplazamiento
cero registro();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
dirmemo=24;
}
dirmemo=36;
for(j=0; j<2000000; j++){
//saltamos a ler la eeprom
leer_eeprom();
// mostramos la primera columna
mostrar();
// habilitamos el encendido de los leds recorriendo un cero por los
//registros de desplazamiento
cero registro();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
Proceso();
dirmemo=47;
}
}
siguiente_dirmemo(){
dirmemo++;
}
leer_eeprom(){
// leemos la eeprom
dato = eeprom_read(dirmemo);
// Retardo para la lectura de la eeprom
Delay_Us(1);
}
Cero_registro(){
PORTA.RA1_bit=0;
PORTA.RA0_bit=1;
Delay_Us(1);
PORTA.RA0_bit=0;
}
Proceso(){
siguiente_dirmemo();
leer_eeprom();
desplaza_registro();
mostrar();
}
mostrar(){
PORTB=dato;
}
Desplaza_registro(){
PORTA.RA1_bit=1;
PORTA.RA0_bit=1;
Delay_Us(1);
PORTA.RA0_bit=0;
}
}
aparentemente esta bien, pero al compilarlo con el mikroc, me sale "compilation started..." y la siguiente linea dice "finished (with errors)" y pues si me genera el archivo hex, pero no se si funciona correctamente por que intente simularlo en proteus y no hace lo que deberia, de igual manera intente correrlo desde el mikroc, pero cuenco le doy inciciar debugger...me dice que no haya un .dbg y no hace naa, mientras no se si sirve mi programa o donde tiene los errores por que el mikroc no me los dice.
les agradeceria mucho qu me ayuden con estos problemas.
Un Saludo