Autor Tema: Necesito ayuda con unos temporizadores con el 16f84  (Leído 2652 veces)

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

Desconectado bizkerre

  • PIC10
  • *
  • Mensajes: 2
Necesito ayuda con unos temporizadores con el 16f84
« en: 11 de Junio de 2003, 05:14:00 »
Hola!!! Como decía en el mensaje necesito ayuda con unos temporizadores que no se como meterlos en mi programa. El programa ya lo tengo desarrollado a falta de los temporizadores. Si algun@ me puede ayudar, me puede escribir a potxolon@hotmail.com, y le enviaré el programa que tengo hecho y las especificaciones que necesito para acabarlo, así como el enunciado del mismo.

Saludos y gracias por anticipado.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #1 en: 11 de Junio de 2003, 10:48:00 »
Déjalo aquí, a todos nos gustaría verlo y poder ayudarte.

Un saludo

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #2 en: 11 de Junio de 2003, 16:55:00 »
Creo que sería bueno una pequeña descripción de lo que deseas hacer y si quieres el fuente también, Sino, nos das una descripción de lo que tiene que hacer el programa y del temporizador que quieres hacer. a partir de ahí obtendrás algunas ideas por parte de la gente de la lista.

Esta lista no cobra por sus servicios. es lo bueno que tiene, compartimos recursos, ideas, etc de forma barata.

Saludos
Ricky

Desconectado bizkerre

  • PIC10
  • *
  • Mensajes: 2
RE: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #3 en: 12 de Junio de 2003, 14:48:00 »
Espero que el fichero con el programa se adjunte, así que ahí va:

Mi proyecto consiste en un control de cargas mediante movil, los circuitos que
ajustan las señales para el pic ya están implementados, así que el programa hará
lo siguiente:

Es un programa que nos cuenta un número de pulsos introducidos, 3 en mi caso,
después de la cual descuelga el telefono
Con el teléfono descolgado hay que introducir la clave 1111 y sino colgará.
Después activamos y desactivamos las cargas pulsando uno de los siguientes números.
Nº1---->conecta carga1   Nº6---->desconecta carga1    
Nº2---->conecta carga2   Nº7---->desconecta carga2    
Nº3---->conecta carga3   Nº8---->desconecta carga3    
Nº4---->conecta carga4   Nº9---->desconecta carga4    
Nº5---->conecta carga5   Nº0---->desconecta carga5    
Nº*---->desactiva la salida RB6(cuelga el teléfono)

Una vez hecho esto quiero introducir unas mejoras:

Al descolgar quiero meter un temporizador de dos minutos. Lo que hace es que mientras el
usuario gestiona las cargas va contando, pero en el caso de que al usuario se le olvide
colgar mediante * o que exista un error en la linea al de dos minutos del descuelgue el
telefonos se colgara activando RB6 y el programa volvera al inicio.

Otro temporizador sera de unos 5 segundos y es para los tonos, para el caso en q al recibir
un tono y el siguiente falle, el programa no se quede en una espera eterna y al de 5 segundos
vuelva a la espera del primer tono.

Las temporizaciones no tienen porque ser exactas, son valores aproximados.

Espero haberme explicado bien, si hay alguna duda o crees que el programa se puede mejorar
de alguna forma por favor escribeme.

Gracias de antemano

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #4 en: 13 de Junio de 2003, 17:43:00 »
Una idea del temporizador puede ser la siguiente:

Utiliza el timer 1 (que es un registro de 16 bit) para contar los 2 minutos.  Para hacer esto tienes que hacer unos pequeños cálculos  con la frecuencia del reloj y activar el timer 1. Despues vas chequeando el flag de paso por cero del registro y vas incrementando una variable dentro del bucle. Cuuando la variable llegue a x cuentas serán 2 minutos, ahí tendrás que hacer lo que debas hacer Si entre medias ocurre algún evento entonces puedes inicializar la variable de la cuenta  y el proceso de cuenta vuelve a comenzar. También puedes hacer este proceso con una interrupción en vez de con polling.

No se si me he exlicado o no pero te pongo un ejemplo que yo he utilizado para un timer de 1 minuto con un 16F628 a 20 MHz y que funciona bien.


APO     VAR   PORTB.5   " Pin del AUTO POWER OFF, a cero equipo encendido (SALIDA)

"DEFINICION DEL TIMER 1

T1CON=%00110001  "TIMER 1 CONTROL REGISTER
"Ajusto el Timer1 para que cuente con el oscilador interno y utilice
"el prescaler por 8
"Prescaler a 8 bit<5-4> --> 11
"T1OSCEN Timer 1 osc enable control bit, bit <3> --> 0 (disable)
"T1SYNC no importa, bit<2> --> 0
"TMR1CS clock source, bit<1> --> 0 (internal clock, Fosc/4)
"TMR1ON timer1 On, bit<0> --> 1 (enable)

"Fosc=20000000, entrada prescaler=Fosc/4=5000000
"Salida prescaler=5000000/8=625KHz
"periodo=1/625KHz=1.6 microsegundos
"En un contador por 16 contara 65536 cuentas.
"En un segundo la señal cambia 625000 veces con lo que
"el contador se desbordara en un segundo 9.5 veces. Si deseo
"contar un minuto, 9.5*60= 570 veces que debe desbordarse el TMR1.
"Este valor puedo guardarlo en una variable WORD (16 bit).
"Podria ajustar el valor del tiempo a un maximo de 65536/570=114 minutos

"DEFINICION DE CONSTANTES
limitetiempo con 570 "Limite de cuentas de la variable tiempo para
"contar 1 minuto. Si se desea contar mas tiempo incremenar este valor

bucle:
.
.
."programa
.

                if PIR1.0=1 THEN GOSUB temporizar "Si se desborda el timer controlo el evento

goto bucle

"*********************************************************************
"** SUBRUTINA: temporizar
"** Una vez que se desborda el TMR1, se viene a esta rutina
"** para controlar las veces que se ha desbordado y comprobar
"** si ha transcurrido un minuto (570 veces)(o el valor que haya ajustado
"*********************************************************************

temporizar:      
              
    tiempo=tiempo+1 "aumento en uno las veces que se ha desbordado
    If tiempo>limitetiempo then
     gosub apagar "Si ha trancurrido el tiempo apago
    else
     PIR1.0=0 "reseteo el flag para seguir contando
    endif
   
   Return
     
"** FIN RUTINA: temporizar

"*********************************************************************
"** SUBRUTINA: apagar
"** Pita y apaga el terminal
"*********************************************************************

apagar:      
              
    veces=2 "Pito 2 veces
    j=1    "Durante 0.2 segundos
    color_led=2 "Led rojo        
   GoSub pitar
   APO=0
    pause 5000 "espera para que se apague el termina mientras tanto.
   Return
     
"** FIN RUTINA: apagar

Bueno espero que te sirva como idea.

Saludos
Ricky

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #5 en: 13 de Junio de 2003, 23:08:00 »
Ayer no pude descargar el archivo telefonia.txt (pantalla en blanco)

Hoy me aparece al descargar una especie de "robotito"

Con unos archivos de Marmatar también sucedía algo parecido (caras de personajes de la bola de drack)

¿Qué está pasando?

Desconectado fanpics

  • PIC10
  • *
  • Mensajes: 18
Re: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #6 en: 12 de Junio de 2008, 14:21:42 »
tufichero y tu programa no s eadjuntaron.... me gstaria analizarlos
MIGUEL ANGEL SANJINEZ GUEVARA.....CHICLAYO - PERU

                           msanjinez@hotmail.com

Desconectado fanpics

  • PIC10
  • *
  • Mensajes: 18
Re: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #7 en: 12 de Junio de 2008, 14:43:55 »
necesito ayuda con un proyecto espero su ayuda... PERO MI PROYECTO ES PARA ENCENDER Y APAGAAR UN ACCES POINT DE UNA ANTENA OMNIDIRECCIONAL.... NECESITO Q SE APAGUE ALAS 2 AM Y ENCIENDA A LAS 6 AM Q TODO EL DIA ESTE ENCENDIDO PERO EN LA MADRUGADA PARA Q EL EKIPO NO RECALIENTE NECESITO APAGARLO.... ME PUDEN AYUDAR OCN ESE TEMA POR FAVOR, Y CON PANTALLA LCD PARA VER LA HORA.... O CON DISPLAY NO IMPORTA  PERO Q SE VISUALICE UN RELOJ COMO INDICADOR.... MUCHAS GRACIAS, si puedes poner tu  temporizador como ejemplo nos serviria de mucho y tb tu programacion... por favor ayudame..
MIGUEL ANGEL SANJINEZ GUEVARA.....CHICLAYO - PERU

                           msanjinez@hotmail.com

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #8 en: 12 de Junio de 2008, 15:59:25 »
Por favor, Miguel Angel Sanjinez Guevara, de Chiclayo, Perú, deja de utilizar el Copy/Paste de una vez por todas. Con una sola ya nos hemos enterado todos de lo que quieres. El bombardeo sistemático no solo no te va a ayudar sino que será contraproducente para tí.



Nota: El post al que te refieres en este hilo tiene casi cinco años.
« Última modificación: 12 de Junio de 2008, 16:20:26 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Necesito ayuda con unos temporizadores con el 16f84
« Respuesta #9 en: 12 de Junio de 2008, 18:55:58 »
ya pase la escoba Diego  :mrgreen:

Miguel, pensaste el caos que seria el foro, si cada uno postea lo mismo 4 o 5 veces?, como se podria seguir el desarrollo del mismo?

Primero, comienza con el manejo de un ldc
Luego, tendras ue hacer un reloj, que hay muchos en el foro

Suerte!

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...


 

anything