Autor Tema: Alarma con pic16f84  (Leído 1560 veces)

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

Desconectado morfeus

  • PIC12
  • **
  • Mensajes: 78
Alarma con pic16f84
« en: 20 de Agosto de 2005, 08:52:00 »
Hola amigos,

Es la primera vez que participo en este foro y necesito de sus experiencias
en PICBASIC PRO ya que hasta ahora comienzo y me ha parecido fabuloso este
programa. Bueno estoy intentando hacer una pequeña alarma con un pic16f84
y les describo lo que hasta el momento hace.

Tengo tres leds PORTB.0, PORTB.1, PORTB.2 y cada uno tiene asignado un tiempo
de temporización para PORTB.0 (3 SEGUNDOS), PORTB.1 (6 SEGUNDOS), PORTB.2 (6 SEGUNDOS).

La temporizacion de cada uno depende de si los SW estan en 1, cuando el circuito se
energiza pasa directamente a LOOP, pero si detecta que alguno de los puertos anteriores
se encuentra en 1 lo indica y el led parpadea cada 200 ms, aca esta el primer problema ya que
si SW1 esta en 1 comienza a parpadear LED1  pero si SW1 y SW2 estan en 1 el segundo ni
el tercer LED se encienden y la idea es que cada uno funcione por separado.

Bueno esto es lo que he hecho hasta el momento, pero quiero lo siguiente:

Un led en PORTB.7 que se encienda cuando termine la temporizacion de cualquier led, si al
encender el circuito estan todos los SW a l a medida que se pongan en cero cada uno se vaya
apagando.

Lo que pretendo es que los leds muestren el estado abierto o cerrado de forma independiente
al energizar el circuito.

Si alguien puede darme una guia de como hacerlo se lo agradecería.


Saludos

Morfeus


Este es el código



"****************************************************************
"*  Name    : ALARMA.BAS                                        *
"*  Author  : [select VIEW...EDITOR OPTIONS]                    *
"*  Notice  : Copyright (c) 2005 [select VIEW...EDITOR OPTIONS] *
"*          : All Rights Reserved                               *
"*  Date    : 16/08/05                                          *
"*  Version : 1.0                                               *
"*  Notes   : UTILIZA EL PIC16F84                               *
"*          :                                                   *
"****************************************************************



LED1 var PortB.0   "PIN 6
LED2 var PortB.1   "PIN 7
LED3 var PortB.2   "PIN 8


SW1  var PortA.0   "PIN 17
SW2  var PortA.1   "PIN 18
SW3  var PortA.2   "PIN 1

low LED1
LOW LED2
LOW LED3

LOW SW1
LOW SW2
LOW SW3


TRISA = %11111111  "PUERTO A COMO ENTRADAS
TRISB = %00000000  "PUERTO B COMO SALIDAS
PORTB = 0

LOOP0:
     IF SW1 = 0 AND SW2 = 0 AND SW3 = 0 THEN LOOP
     IF SW1 = 1 AND SW2 = 0 AND SW3 = 0 THEN LOOP1
     IF SW1 = 1 AND SW2 = 1 AND SW3 = 0 THEN LOOP2
     IF SW1 = 1 AND SW2 = 1 AND SW3 = 1 THEN LOOP3



   
LOOP:
   IF SW1 = 1 THEN
   PAUSE 3000    
    high   led1       "PERIMETRO 1
   ENDif
   
   IF SW2 = 1 THEN
   PAUSE 6000   
   high led2            "PERIMETRO 2
   ENDIF
   
    IF SW3 = 1 THEN
   PAUSE 8000
   high led3            "PERIMETRO 3
   ENDIF
   
   
   GOTO LOOP
   
LOOP1:
   
    high led1
    PAUSE 200
    LOW led1            "PARPADEA LED1
    pause 200   
    GOTO LOOP0
   
LOOP2:

    high led2
    pause 200
    low led2
    pause 200            "PARPADEA LED2
    goto LOOP0
   
LOOP3:
    high led3
    pause 200
    low led3
    pause 200             "PARPADEA LED3
    GOTO LOOP0
   
   
     
   
   
   
 
       
   
   


   
   

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 931
RE: Alarma con pic16f84
« Respuesta #1 en: 20 de Agosto de 2005, 21:18:00 »
Hola:

Tu problema está básicamente aquí:

LOOP1:

high led1
PAUSE 200
LOW led1 "PARPADEA LED1
pause 200
GOTO LOOP0

Al final del parpadeo del LED1 lo mandas de nuevo a LOOP0, antes deberías ver si hay algún otro led que necesites apagar. (Lo mismo te pasará si no arreglas el loop2).

Suerte...
No hay preguntas tontas...
Solo hay tontos que no preguntan.

Desconectado morfeus

  • PIC12
  • **
  • Mensajes: 78
RE: Alarma con pic16f84
« Respuesta #2 en: 21 de Agosto de 2005, 11:37:00 »
Hola,

Gracias por tu observacion lo intentare de nuevo.

Morfeus

Desconectado morfeus

  • PIC12
  • **
  • Mensajes: 78
RE: Alarma con pic16f84
« Respuesta #3 en: 21 de Agosto de 2005, 17:06:00 »
Hola SavageChicken,

Pues te comento que hice lo que dijiste pero nada, se que me hace falta algo pero no se que es. Quiero que cuando prenda el circuito me muestre en los led cuantos suiches estan en 1 de manera secuencial.

En este momento si por ejemplo sw1 esta en 1 lo muestra correctamente, pero si sw1 y sw2 estan en 1 no me muestra nada ni mucho menos si los tres sw estan en 1.Dame una ayudita por favor.

Morfeus


http://www.electronicabin.com
« Última modificación: 27 de Septiembre de 2008, 20:40:47 por morfeus »


 

anything