Autor Tema: Contador de 0 a 99 con 4 display 7 segmentos  (Leído 6176 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Contador de 0 a 99 con 4 display 7 segmentos
« Respuesta #15 en: 20 de Febrero de 2016, 02:08:31 »
No entendi cual es tu pregunta futurama

                if(DecenasDisp2>9) { DecenasDisp2=0; UnidadesDisp2=0;}

Yo no puse el de Unidades = 0 en la pregunta de decenas por que como preugntaba primero por las unidades, se iba a resetear. Es como si estuvieras asignando 2 veces el 0 a UnidadesDispx cuando pasas de 99 a 00, el primero ocurriria cuando preguntes por las unidades y luego cuando preguntes por las decenas ( pero ya es 0 )

Citar
//// lo que hago yo siempre es :
input_b(0b00000011);
outpu_a(0b00000000);

input_x() no toma ningun parametro segun el manual de CCS, por lo que si haces eso es lo mismo que poner input_b() solo
output_x() Si toma el parametro como el valor a asignar al puerto.

Pero no se si esa es originalmente tu pregunta.

Desconectado ciberik

  • PIC10
  • *
  • Mensajes: 33
Re:Contador de 0 a 99 con 4 display 7 segmentos
« Respuesta #16 en: 20 de Febrero de 2016, 20:02:23 »
hola KILLER, soy ex futurama,

lo que te quise preguntar fue, como es la mejor forma para declarar los pines del pic, después del "void main"
tu me indicas "Aca el setup poner todos los pines como digitales"

ahora te desgloso realmente las funciones de cada pin:

Puerto A:
RA0,RA1,RA2,RA3 : output
RA4 : no lo ocupo
RA5 : MCLR
RA6,RA7 : no lo ocupo, por que ocupo el cristal interno // si en este caso ocupo el cristal interno,
                ¿ como los puedo configurar RA6-RA7 ,para ocuparlos como (I/O), al igual que RA5 ????

Puerto B:
RB0,RB1 : input
RB2,RB3 : NO LO OCUPO
RB4,RB5,RB6,RB7 : OUTPUT

mi forma para declarar los pines del pic es la siguiente,

input_b(0b00000011);
outpu_a(0b00000000);

esta es mi forma , no se si es la mejor , como se podria mejorar ?

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Contador de 0 a 99 con 4 display 7 segmentos
« Respuesta #17 en: 20 de Febrero de 2016, 20:19:30 »
No uso CCS, pero se que estan las funciones:

  setup_comparator(NC_NC_NC_NC);

Configura los comparadores para en caso de tenerlos los PIC, en este caso desactiva los comparadores

  SETUP_ADC_PORTS(NO_ANALOGS);

Configura los pines analogos en caso que tenga ADC el PIC (pines ANx).

Te recomiendo que veas el .h del PIC que tenes, ahi estan detallado todos las opciones.

Respecto a configurarlos como entradas o salidas CCS oculta esto a los usuarios. Si uno usa un pin como salida termina solo el compilador agregando instrucciones para pasarlo a salida.
Si uno realmente quisiera que no agregue estas instrucciones extras usa:

#use fast_io(b)   //Ejemlpo para el portb

Entonces luego configuras las entradas y salidas en el main con:

set_tris_b(0b00001011);   // Donde 0 es salida y 1 es entrada
set_tris_a(0b00001011); 

Sino CCS se encarga solo como dije de transformarlo en entrada y salida. Lo cual no es de mi agrado ya que no quisiera poner un 5V en lo que deberia ser una entrada.
Obviamente si no pones el fast_io el poner el set_tris no sirve de nada. ( Por default esta en standart_io)

Para mas detalles recurri a:

- el .h del PIC que estas programando
- el manual de CCS y busca esas funciones.

Desconectado ciberik

  • PIC10
  • *
  • Mensajes: 33
Re:Contador de 0 a 99 con 4 display 7 segmentos
« Respuesta #18 en: 20 de Febrero de 2016, 20:42:38 »
ok, lo investigare a ver  como me va