Autor Tema: Como configuar el PIC  (Leído 1763 veces)

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

Desconectado estratus123

  • PIC10
  • *
  • Mensajes: 25
Como configuar el PIC
« en: 09 de Mayo de 2005, 23:21:00 »
Hola a todos los del foro.... antes que nada muchas gracias a todos lo que me han ayudado... me han ayudado a salir de muchos apuros....
Bueno ahora tengo un nuevo problema... he visto que en muchos de sus programas al inicio configuran el Watchdog, eso como se hace.... no se como hacerlo. otro problema que tengo que es, necesito hacer un programa, que muestre HOLA en 4 diaplays, y que se vaya recorriendo en forma circular, ya hice el programa, pero el problema es que es muy rapido y no se como hacer que sea de una forma lenta, si alguien me puede asesorar sobre como usar el temporizador... de antemano gracias a quien me ayude con este problemilla.

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
RE: Como configuar el PIC
« Respuesta #1 en: 09 de Mayo de 2005, 23:31:00 »
Ok lo del watchdog lo tienes de 2 formas: en el programa mediante __config y por medio del programador q generalmente tiene una opcion por alli para habilitar el WDT antes de programar el PIC seria bueno q dijeras q programador usas (en software de tu pc) para decirt dond esta esa opcion.

Acerca del programa, bueno es muy dificil decirte cuales serian las opciones lo ideal seria q publicaras el programa para ver como haces los retardos...

Desconectado estratus123

  • PIC10
  • *
  • Mensajes: 25
RE: Como configuar el PIC
« Respuesta #2 en: 09 de Mayo de 2005, 23:40:00 »
Hola deneuvo... si que son rapidos en este foro.... bueno mira, el programa te lo paso mañana por que lo tengo en la escuela.... en lo que se refiere al programa uso el MPLAB IDE v7.00.00.0 de michochip... este es el que uso en mi casa... en la escuela usamos un programa que tambien es de microchip, pero es muy viejo no me se la version lo unico que se que es que se llama MPS16C.
Un ultimo comentario, el programa que hice para mostrar HOLA, basicamente, use la cuenta de registros.... tome varios registos, por ejemplo. el 4a lo voy incrementando de uno en uno y cuando se llena manda un uno al 4b y cuando el 4b se llena lo manda al 4c y asi sucesivamente, pero, el maestro me dijo que era incorrecto que debia de usar el temporizador, pero yo no se que es eso... y al maestro no le entiendo mucho... ojala me puedan ayudar.

Desconectado antoniof

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 729
RE: Como configuar el PIC
« Respuesta #3 en: 10 de Mayo de 2005, 06:09:00 »
Buenas.

El temporizador de un PIC es un regitro que cuenta ciclos de instrucción independientemente de las instrucciones que este ejecutando la CPU. Eso de ciclo de instrucción significa que si tu reloj es de 4MHz, las instrucciones se ejecutan cada 1us y el timer se incrementa cada este tiempo. Este "timer" se puede configurar para que cuente los ciclos de instrucción de uno en uno o bien que utilice un "preescaler" y así que la cuenta se incremente cada 2, 4, 8 etc, ciclos de instrucción. La configuración del "timer" se relaiza mediante un registro específico del PIC. En este escribes el preescaler que quieres utilizar, etc. Depende del PIC que este utilizando tendrás uno o varios timers de 8 o 16 bits con preescalers de diferentes tamaños. La "gracia" del timer es que lo puedes cargar con un número y cuando la cuenta llege al final se desborda y proboca una interrupción. Así el micro puede estar haciendo otra cosa y cuando pasa ese tiempo atienda a la interrupción, que en tu caso, será rotar el mensaje.

El perro guardián también se puede usar para temporizar pero no te lo recomiendo porque el perro guardián cuando se desborda proboca un reset no una interrupción y no podrás reanudar la ejecución de tu programa por donde se estaba ejecutando con un simple "retfie".

Si quieres aclarar algo más dinos que PIC estás utilizando y cada cuanto vas a rotar el mensaje y te echamos un cable más concreto para ese PIC.

Desconectado estratus123

  • PIC10
  • *
  • Mensajes: 25
RE: Como configuar el PIC
« Respuesta #4 en: 10 de Mayo de 2005, 15:43:00 »
Muchas gracias por contestar...
Bueno el pic que estoy usando es el 16C74, la idea es que la palabra "HOLA" este rotando por media de cuatro displays, no tengo un tiempo especifico, pero creo que seria bueno que rotara cada segundo o cada 2 segundos, lo unico que se hasta ahorita, es que vamos a usar un reloj de 4 MHZ.
Bueno se les agradece la ayuda... si me pudieran explicar con manzanitas, como funciona lo del temporizador y como configurarlo se los agradeceria mucho.

Desconectado pachopic

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 207
RE: Como configuar el PIC
« Respuesta #5 en: 10 de Mayo de 2005, 17:12:00 »
HOLA:Sonrisa GiganteSonrisa GiganteSonrisa GiganteSonrisa GiganteSonrisa Gigante
puedes usar el registro tmro,que creo es comun para todos los pic.  para un cristal de 4MHZ se incrementara cada 1us,y al desbordarse el TMR0, es decir cuando llega a su maximo conteo pone a uno el bit 2 del registro INTCON,(NO ES UNA INTERRUPCION SIMPLEMENTE MUESTRA SI SE DESBORDA EL TMR0 )simplemente calculas el retardo necesario, en segundos con la siguiente ecuacion, en funcion de un contador  auxiliar "CONTA",que al cargarlo con el valor adecuado, permite tener temporizaciones grandes, en segundos:

ejemplo:

quiero una temporizacion de 3 segundos:

 valor conta= (tiempo en seg *E 6)/ (VALOR PREESCALA TMR0*(255- VALOR  TMR0))

*VALOR PREESCALA TMR0: SE CONFIGURA  CON EL REGISTRO OPTION EN ESTE CASO  SERA LA MAXIMA 1:256. con los bits PS0 PS1 PS2  A 1

*VALOR TMRO: SE LE CARGA CON  VALOR TMR0=0 EN ESTE CASO.

LUEGO EL VALOR CON QUE SE CARGARA EL CONTADOR SERA:

valor conta= (3segE6)/(256*(255-0))= 45.9

COMO LOS REGISTROS DEL PIC SOLO TRABAJAN CON ENTEROS APROXIMO A 46

PREVIAMENTE ANTES DE EL PGMA PPAL  DEBO CARGAR CONTA CON 46.
                     

valor a cargar en CONTA : 46

A MODO DE SUBRUTINA:

Codigo:
   TIEMPO  MOVLW .0       ;cargo tmr0 con cero
              MOVWF  TMR0              ;
              BTFSS   INTCON,2        ;verifico la bandera  de desbordamiento del TMR0
              GOTO    $-1                  ;si no se ha desbordado espere a que se desborde
              BCF       INTCON,2        ;se desbordo, ponga bandera a cero
              DECFSZ  CONTA,1        ; decremento conta en 1
              GOTO    TIEMPO           ; si conta no es cero repita
              MOVLW  .46                 ; conta vale cero, recargue conta con 46
              MOVWF  CONTA           ;
              RETURN                        ;retorne de subrutina tiempo



HASTA PRONTO