Autor Tema: Ayuda conprograma PARA encender LEDS PICBASIC  (Leído 2343 veces)

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

Desconectado beatAurex1

  • PIC12
  • **
  • Mensajes: 78
    • Proyectos de Ingeniera -Control-Electrónica y desarrollo embebido.
Ayuda conprograma PARA encender LEDS PICBASIC
« en: 25 de Julio de 2006, 21:12:34 »
Hola foreros este es mi segundo post,,bueno soy nuevo en el mundo de los pics, y espero me regalen unos  minutos,bueno quiero encender 3 leds al mismo tiempo al oprimir un boton, y que cada uno dure cierto tiempo encendido, pero  no entiendo  que esta mal al  oprimirlo  solo se enciende uno y despues los demas y no todos al mismo tiempo, tambien si  alguien me puede orientar con alguna instruccion que pueda utilizar para saber si se presiono dos  veces el boton.


device 16F877A
TRISD=%11111111
   TRISB=%00000000

principal:                        'Programa Principal
            if portd.0=1 then
            GOSUB led1
            GOSUB led2
                                                                gosub   led3
            endif
            
            goto principal
            
            
            
   led1:      PORTB.1=1
            delayms 360000
            PORTB.1=0
            return
            
   led2:      PORTB.2=1
            DELAYMS 1500
            PORTB.2=0
            RETURN
            
   led3:                          PORTB.3=1
            DELAYMS 11000
            PORTB.3=0
            RETURN

Gracias

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Ayuda conprograma PARA encender LEDS PICBASIC
« Respuesta #1 en: 25 de Julio de 2006, 22:17:03 »
Hola beatAurex1:

No se encienden todos juntos porque, precisamente los envías a encender de a uno con los gosub.

Prueba con esto en el bucle principal:

PRINCIPAL:
                 IF PORTD.0 = 0 THEN  PRINCIPAL          'Si lo mantengo en 0 al PORTD.0 se vuelve manteniendose en espera
                                                                            'Si lo pongo a uno hace la rutina que sigue
                 PORTB.1 = 1                                        'Enciendo los tres leds conectados a
                 PORTB.2 = 1                                        'los pines 1, 2 y 3 del puerto B
                 PORTB.3 = 1
                 DELAYMS 2000                                     'Después de dos segundos que se encendieron los tres
                 PORTB.1 = 0                                        'Apago el del pin 1
                 DELAYMS 2000                                     'Espero dos segundos más
                 PORTB.2 = 0                                        'Apago el del pin 2
                 DELAYMS 2000                                     'Espero dos segundos más
                 PORTB.3 = 0                                        'Apago el del pin 3
                 GOTO PRINCIPAL                                 'Reinicio la secuencia

Otra cosa, DELAYMS acepta como máximo 65535 milisegundos y en un lugar te mandaste 360000 ....

Respecto a lo de presionar dos veces el mismo botón, creo que puedes probar con las instrucciones COUNTER, o PULSIN

Espero haberte ayudado.

Saludos

Mario         
« Última modificación: 26 de Julio de 2006, 00:10:53 por Marioguillote »

Desconectado beatAurex1

  • PIC12
  • **
  • Mensajes: 78
    • Proyectos de Ingeniera -Control-Electrónica y desarrollo embebido.
Re: Ayuda conprograma PARA encender LEDS PICBASIC
« Respuesta #2 en: 28 de Julio de 2006, 03:55:41 »
GRACIAS POR LA RESPUESTA MARIOQUILLOTE,, ME HAS DADO UN POCO DE LUZ PARA EMPEZAR EL PROGRAMA


 

anything