Autor Tema: Contador con Pic 16F877A usando Timer0  (Leído 3986 veces)

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

Desconectado stalin84

  • PIC10
  • *
  • Mensajes: 2
Contador con Pic 16F877A usando Timer0
« en: 21 de Febrero de 2015, 19:48:48 »
Buenas Tardes, quisiera que me ayuden a hacer un contador 0-99 con el PIC-16F877A usando Timer0 con un pulsador. En lenguaje Assembler.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Contador con Pic 16F877A usando Timer0
« Respuesta #1 en: 21 de Febrero de 2015, 20:32:18 »
Necesitas que vaya a programarlo a tu casa?

Perdon por el sarcasmo no podia dejarlo escapar...

Si quisieras hacer eso primero comenzaria con aprender a usar el TMR0,1,2,3 el que sea. entender como cuenta y cuando se preoduce una interrupcion  ( o un overflow del mismo) asi definis una base de tiempo.
Luego cuando tengas eso funcionando y puedas guardar el resultado en registros.. pasarias a mostrarlos en algo. Displays,lcd, etc, seguro vas a necesitar aprender que es BCD tambien.
Por lo demas no puedo decirte mas nada, practicamente que te "ayuden" como lo pediste es querer que te hagan el proyecto completo.

Si tenes una duda particular de por ejemplo por que no entra a la interrupcion, o por ejemplo quiero que cada 1 segundo sume mi contador pero el timer solo puedo hacer una interrupcion cada 10ms como le hago... ahi te van a presentar soluciones o ideas para que lo soluciones.

Desconectado stalin84

  • PIC10
  • *
  • Mensajes: 2
Re: Contador con Pic 16F877A usando Timer0
« Respuesta #2 en: 22 de Febrero de 2015, 00:16:42 »
Ha lcaro tienes razon, bueno el programa ya lo hice lo que no se es como hacer para conectar de frente al pic el display, o si a las salidas del pic colocar un deco y luego el display. No se como hacer elprograma para conetar directo el display.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Contador con Pic 16F877A usando Timer0
« Respuesta #3 en: 22 de Febrero de 2015, 02:11:53 »
Vas a necesitar 2 displays. Podes elegir entre usar un decodificador como el cd4511 ( 4 pines + 2 de los catodos ) o directamente prender y apagar cada segmento ( 7 pines + 2 de catodo ).

Esta imagen te va a ser de ayuda:


Basicamente podes prender 1 por ves. Asi que  para mostrar las decenas prendes los segmentos correspondientes a ese valor y activas el catodo de ese display. Luego esperas un tiempo, apagas el catodo de las decenas  ahora haces lo mismo para las unidades.
Para traducir el numero del 0 al 9 se suele utilizar tablas..

Este hilo te va a ser de mucha utilidad:

http://www.todopic.com.ar/foros/index.php?topic=24720.msg201401#msg201401

Desconectado Daikataro

  • PIC10
  • *
  • Mensajes: 22
Re: Contador con Pic 16F877A usando Timer0
« Respuesta #4 en: 23 de Febrero de 2015, 01:52:30 »
Otra sugerencia: el lenguaje assembler es bastante complicado, pues es literalmente el más bajo nivel de programación para pics, lo más parecido al lenguaje máquina disponible. Si no tienes experiencia vasta en el lenguaje, se te puede complicar mucho el programa. Te sugeriría que si lo de assembler es requisito arbitrario del profesor (supongo que es para eso) programes en algún compilador de alto nivel (Pic Simulator IDE, Proton, MikroC, etc.) y utilices la opción de generar código assembler para mostrar las instrucciones en .asm

Eso, y como ya te dijeron, bájate la hoja de datos del 877 y dale una buena leída, concretamente a los apartados referentes a Timer0, interrupciones y pre-escalador.