hola como estan bueno soy nuevo en el foro en el tema de el posteo siempre leo no mas pero en esta ocasion tengo una duda con respecto a el compilador de ccs c. les cuento estoy asiendo un contador de 0 a 99999 ,con una entrada para el contador que la denomine con el pin C0 ( esta entrada al contador resive una señal X pero de tecnologuia TTL) del pic y un reset general C1, esto es visualisado mediante 5 display de 7 segmento. bueno mi duda es la siguiente cuando corri el programa por primera ves y lo pase a proteurs iva todo bien, asta que me di cuenta que la multiplexacion de los display de 7 seg estaba mas omenos mala y la quise cambiar, y a la hora de compilar de nuevo este no me deja y me lansa el siguiente error; i/o error 103, pero lo raro que volvi a dejar el programa como antes y = me lansa el error ya no se me ocurre que mas hacer para poder compilar si alguien me pudiera alludar por favor seria de gran utilidad, no esta de+ desir que e revisado el programa demasiadas vese pero en fin cuando uno programa derrepente no se da cuenta de sus propios errores por eso les dejo el programilla para que lo comentemos:
#include <16f876a.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP //ordenes para el programador
#use delay (clock=4000000) //cristal=4Mhz
#use standard_io(B)// entrada y salida del puerto b estandar
#use fixed_io(A_outputs=PIN_A0,PIN_A1,PIN_A2,PIN_A3,PIN_A4)
#use fixed_io(C_intputs=PIN_C0,PIN_C1)
#use standard_io(C)// entrada y salida del puerto a estandar
void main() {
int b, a;
int i = 0, j = 0, w = 0, z = 0, g = 0, h = 0;
while(TRUE){
int salida7seg[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x67}; //7seg hex 0-9
do {
if(h< 11) { //¿se ha mostrado por 1º 7seg digito 9?
output_high(PIN_A0);
output_high(PIN_A1);
output_high(PIN_A2);
output_high(PIN_A3);
output_low(PIN_A4); //activado...
output_B(salida7seg[h]);//...1º 7seg
delay_ms(10);
output_high(PIN_A0);
output_high(PIN_A1);
output_high(PIN_A2);
output_low(PIN_A3);
output_high(PIN_A4);
output_B(salida7seg[j]); //...2º 7seg");
delay_ms(10);
output_high(PIN_A0);
output_high(PIN_A1);
output_low(PIN_A2);
output_high(PIN_A3);
output_high(PIN_A4);
output_B(salida7seg[w]); //...3º 7seg
delay_ms(10);
output_high(PIN_A0);
output_low(PIN_A1);
output_high(PIN_A2);
output_high(PIN_A3);
output_high(PIN_A4);
output_B(salida7seg[z]); //...4º 7seg
delay_ms(10);
output_low(PIN_A0);
output_high(PIN_A1);
output_high(PIN_A2);
output_high(PIN_A3);
output_high(PIN_A4);
output_B(salida7seg[g]); //...5º 7seg
delay_ms(10);
if (h >
{
h =- 1;
j++;
}
if(j > 9){ //¿se ha mostrado por 2º 7seg digito 9?
j = 0; //SI -> j=0 (muestra digito 0)
w++; //incremento indice w
if(w > 9) { //¿se ha mostrado por 3º 7seg digito 9?
w = 0; //SI -> w=0 (muestra digito 0)
z++; //incremento indice z
if(z > 9){ //¿se ha mostrado por 4º 7seg digito 9?
z = 0;
g++; //SI -> z=0 (muestra digito 0)
if(g > 9){ //¿se ha mostrado por 3º 7seg digito 9?
g = 0; //SI -> g=0 (muestra digito 0)
}
}
}
} else {
a = 0;
if(input(PIN_C0)) {
b=1;
}
if(input(PIN_C1)) {
i=0;j=0;w=0;z=0;g=0; h=0;
}
if (a == 0) {
break;
}
h = h + b;
}
}
} while(TRUE);
}
}/* indica el termino del programa*/
a y lo otro si se les pudiese hacer un par de mejoras me las comentan = plissss nunca esta demas un buen consejo XD
saludos nos vemos.