Autor Tema: ayuda con codigo  (Leído 3751 veces)

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

Desconectado locotusprime

  • PIC10
  • *
  • Mensajes: 4
ayuda con codigo
« en: 19 de Julio de 2018, 15:17:26 »
buenas tarde a todos, soy nuevo con el uso de los pic y estoy algo desesperado.
la cuestión es la siguiente necesito realizar un programa usando un 16f877a en pic c compiler que me permita ingresar mediante un dip switch 8 pines un numero en binario y  visualizar  en una pantalla lcd 16x2 el valor en decimal, hexadecimal y binario. pude realizar un contador solo usando 2 pulsadores uno de start y otro de reset, e intente implementar la misma programación pero no consigo terminarla. Si alguno de uds me pudiera ayudar estaría muy agradecido.

les adjunto el código q pude realizar.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:ayuda con codigo
« Respuesta #1 en: 19 de Julio de 2018, 16:36:35 »
Lo mas complejo es la parte del binario, supongamos que tenes el DIP switch en el puerto B

Código: C
  1. valor = input_b();
  2. //decimal
  3. printf(lcd_putc,"D:%u H:0x%x ", valor);
  4. // hexadecimal
  5. printf(lcd_putc,"H:0x%x ", valor);
  6. //binario
  7.  
  8. char txt[9], i;
  9.  
  10. // Conversion Binario a String
  11. for(i = 0; i < 8; i++)
  12. {
  13.      if(valor & 0x80)
  14.      {
  15.         txt[i]='1';
  16.      }
  17.      else
  18.      {
  19.         txt[i]='0';
  20.      }
  21.      valor <<= 1;
  22. }
  23.  
  24. txt[8] = '\0';
  25. printf(lcd_putc,"B:%s ", txt);

Podria haberse resumido bastante mas, pero si tu idea es aprender no le veo sentido hacerlo. Entonces los desglose para que pudieras ver la conversión.

Desconectado locotusprime

  • PIC10
  • *
  • Mensajes: 4
Re:ayuda con codigo
« Respuesta #2 en: 19 de Julio de 2018, 20:05:09 »
ya pude poner a correr el programa, pero no se como ingresar el dip switch, solo lo tengo con 2 pulsadores y necesito implementar el switch para poder ingresar los valores.
Al no saber programacion se me complica entender como se debe programar el dipswitch.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:ayuda con codigo
« Respuesta #3 en: 19 de Julio de 2018, 20:29:20 »
Un dipswitch es esto:



Para conectarlo no necesitas saber "programacion". Cada llave de esas tiene 2 pines 1 de cada lado, al ponerlo en la posicion ON, se conectan esos 2 pines.

Activa el Pull-up del PORTB, conecta el puerto B  al dip switch. ¿No sabes como se activa el pull-up o que es?, es hora de empezar a buscar en google y responderte esas preguntas. Terminarias con algo asi como esta conectado en este circuito:


Donde dice SW_DIP_8

Citar
Al no saber programacion se me complica entender como se debe programar el dipswitch.
Esto quiere decir que ni siquiera sabes que es un pulsador o una llave, ni tampoco lo basico de tu microcontrolador, que es leer una entrada. En ves de leer una necesitas leer 8. Vos lees un 0 o un 1, dependiendo si esta a 0V o 5V ese pin, nada mas. Pueder ser cualqueir cosa que este conectado a tu microcontrolador, que si tenes 5V en el pin vas a tener un 1 en tu programa. No importa que sea un pulsador, un dipswitch, un rele, lo que sea.

Esto parece una tarea del colegio.
Mas información no te voy a dar, solo queda en vos que aprendas con ejemplos sencillos, y si tenes alguna duda concreta, podes preguntar estoy abierto a preguntas, pero me niego a hacerte todo, minimo necesitas saber conectar las cosas y leer entradas del micro.
Ejemplos como conectar un pulsador, entender que es un pulsador, porque esta conectado asi, que pasa al presionarlo. Sobre las salida: encender un led, que funcione el led segun el pulsador. etc.
Si ya estas en el LCD y vos no sabes todavia esto, entonces quiere decir que necesitas sentar cabeza y empezar a ENTENDER lo que estas haciendo.

Desconectado locotusprime

  • PIC10
  • *
  • Mensajes: 4
Re:ayuda con codigo
« Respuesta #4 en: 19 de Julio de 2018, 22:01:08 »
muchas gracias por la ayuda, solo no habia entendido como funcionaba... no tenia claro las cosas.. pero ya comprendi.
ya termine el programa.
la cuestion es que llevo recien 2 semanas con microcontroladores y soy un poco lento para entender.  Pero como dijiste ya me puse a investigar un poco mas y lo pude realizar.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:ayuda con codigo
« Respuesta #5 en: 19 de Julio de 2018, 22:58:56 »
muchas gracias por la ayuda, solo no habia entendido como funcionaba... no tenia claro las cosas.. pero ya comprendi.
ya termine el programa.
la cuestion es que llevo recien 2 semanas con microcontroladores y soy un poco lento para entender.  Pero como dijiste ya me puse a investigar un poco mas y lo pude realizar.

2 semanas y pidiendole que conecten y muestren en un LCD, si no fuera con Arduino yo diria que el que esta enseñandoles esta loco.
Si sos autodidacta vas demasiado rapido creo. Primero trata de entender bien por que ocurren las cosas. Y ahi vas a dejar de escribir codigo por escribir.

Desconectado locotusprime

  • PIC10
  • *
  • Mensajes: 4
Re:ayuda con codigo
« Respuesta #6 en: 20 de Julio de 2018, 00:45:09 »
muchas gracias por la ayuda, solo no habia entendido como funcionaba... no tenia claro las cosas.. pero ya comprendi.
ya termine el programa.
la cuestion es que llevo recien 2 semanas con microcontroladores y soy un poco lento para entender.  Pero como dijiste ya me puse a investigar un poco mas y lo pude realizar.

2 semanas y pidiendole que conecten y muestren en un LCD, si no fuera con Arduino yo diria que el que esta enseñandoles esta loco.
Si sos autodidacta vas demasiado rapido creo. Primero trata de entender bien por que ocurren las cosas. Y ahi vas a dejar de escribir codigo por escribir.

Pues si me están enseñando rápido, ahora tengo q implementar un teclado matricial a un sensor de temperatura(el sensor lo tengo programado, solo me falta el teclado), por lo que me cuesta un poco entender todos los conceptos. pero de a poco voy entendiendo todo.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:ayuda con codigo
« Respuesta #7 en: 20 de Julio de 2018, 12:29:31 »
Cualquier duda que tengas, primero busca y si luego de probar varias cosas no sale, pregunta que te sera respondido.


 

anything