Autor Tema: Ejemplo con comando Button  (Leído 2326 veces)

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

Desconectado carlos6904817

  • PIC10
  • *
  • Mensajes: 18
Ejemplo con comando Button
« en: 08 de Julio de 2005, 15:34:00 »
Saludos a todos.
si me pudieran ayudar con un ejemplo con el comando button
La pregunta mia es:
necesito un ejemplo en pbp o proton para encender uno a uno 3 o 5 leds con un solo boton y al llegar al final del ultimo led pasar al primero.
Agradeceria la ayuda de uds ya que estoy aprendiendo.
Gracias.

Desconectado Alfabit

  • PIC10
  • *
  • Mensajes: 13
RE: Ejemplo con comando Button
« Respuesta #1 en: 09 de Julio de 2005, 09:47:00 »
Te refieres a q se encienda cada led uno a uno, osea se enciende el uno luego el dos luego el tres, luego se apagan todos y vuele a hacer lo mismo?.

Desconectado electronando

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 427
RE: Ejemplo con comando Button
« Respuesta #2 en: 09 de Julio de 2005, 20:20:00 »
MIRA EL COMANDO BUTTON SE CREO BASICAMENTE PARA LA ELIMINACION DE REBOTES PERO PARA QUE HACERSE PROBLEMAS SI RECIEN ESTAS APRENDIENDO USA TU INTUICION CON LAS COSAS BASICAS , MATA UNA MOSCA CON UN MATAMOSCA NO CON UNA GRANADA TE DARE UN EJEMPLO DE ELIMINADOR DE REBOTES DE REPENTE CON TU INGENIO LO USAS PAR TU COMETIDO
SUPON Q QUIERES PASAR A ALGUN PUNTO (ETIQUETA ) CUANDO SE ACTIVE UN PULSADOR PERO SOLO CUANDO PASE ESO
ASI ESE PEQUEñO BUCLE TE AYUDARA A PEDIR UNA BUENA SEñAL TE OBLIGARA A QUE EL UNO QUE ENTRE EN PULSADOR SEA UN UNO PERO BIEN DEFINIDO
COSA QUE NO OCURRE CON LOS REBOTES Y HAY CEROS QUE SE DISFRAZAN DE UNO Y PASAN ASI TODO CAMPANTES EVITA ESO Y SIGUE PRACTICANDO


COMIENZO:
 IF PULSADOR =1 THEN ETIQUETA
 
PAUSE 20
GOTO  COMIENZO

ETIQUETA:
.....
.....
....
....
IF PULSADOR ........ASI SUCESIVAMENTE

SE ACOSTUMBRA PONER RETARDOS DE 20MS PARA ELIMINAR REBOTES POR SOFTWARE VAMOS NO TE HAGAS BOLAS ...

Desconectado carlos6904817

  • PIC10
  • *
  • Mensajes: 18
RE: Ejemplo con comando Button
« Respuesta #3 en: 12 de Julio de 2005, 09:58:00 »
me disculpan por no haber respondido antes...estaba un poco enfermo.

con respecto a mi pregunta es que con un solo pulsador poder activar cada leds ejemp:

pulsar activa led1
pulsar desactiva led1 y activa led2
pulsar desactiva led2 y activa led3
pulsar desactiva led3 y activa led4
pulsar desactiva led4 y activa led5

pero el problema que tengo con mi programa es que para que pueda activar los otros leds hay que dejar activado el pulsador , porque al soltarlo solo activa el primer led...dejo el programa que hice para que lo analizen y me digan cual es el error:

device = 16f84a

dim i as byte
dim TECLA as PORTb.0
dim VARIABLE1 as BYTE
dim led1 as portb.1
dim led2 as portb.2
dim led3 as portb.3
dim led4 as portb.4
dim led5 as portb.5

portb = %00000001
trisb = %00000001

Main:
clear
for i = 0 to 5
input tecla                        
If tecla=1 then
variable1=variable1+1  
if variable1=1 then leds1
if variable1=2 then leds2
if variable1=3 then leds3
if variable1=4 then leds4
if variable1=5 then leds5

leds1:
led1=1
delayms 100
goto fin

leds2:
led2=1
delayms 100
goto fin

leds3:
led3=1
delayms 100
goto fin

leds4:
led4=1
delayms 100
goto fin

leds5:
led5=1
delayms 100
goto fin  
 
fin:
endif
next i
goto main
end

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Ejemplo con comando Button
« Respuesta #4 en: 12 de Julio de 2005, 11:06:00 »
carlos6904817 pruba con esto:

TRISB=0                    
TRISA.0=1

i       var byte
cont    var word

cont=1
PORTB=0
loop:
    if PORTA.0=0 then
        PORTB=cont
        cont=cont*2
        pause 200
    endif    
    if cont=256 then
       cont=1
    endif
    goto loop  
end

Esto es lo que tu necesitas, lo acabo de simular en proteus y funciona ok...

El pulsante tienes que conectarlo al RA0 cuando lo pulsas te da una señal logica=0,
cada ves que pulses se ira encendiendo un led que estan conectados al puerto B...

Suerte...

Un Abrazo... Sonrisa Gigante

Desconectado carlos6904817

  • PIC10
  • *
  • Mensajes: 18
RE: Ejemplo con comando Button
« Respuesta #5 en: 12 de Julio de 2005, 13:11:00 »
Gracias LordLafebre  ....lo probe y funciona OK... es exactamente lo que estaba buscando.....ahora como buen principiante voy a estudiarlo.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: Ejemplo con comando Button
« Respuesta #6 en: 13 de Julio de 2005, 00:20:00 »
Que bien me alegra que te haya funcionado, y no me des las gracias porque para eso estamos aqui para ayudarnos entre todos...

Un Abrazo... Sonrisa Gigante

Desconectado ricbevi

  • PIC10
  • *
  • Mensajes: 11
RE: Ejemplo con comando Button
« Respuesta #7 en: 13 de Julio de 2005, 16:03:00 »
Hola ......
   Me parece que el unico problema de tu programa es que no tomaste ningun recaudo para que cuando tecla=0...entonces por eso te salta a el primer led ya que no se cumle con ninguna condcion del IF.....tendrias que agregarle una etiqueta de salto a input tecla y un if tecla=0 then etiqueta.
Saludos.

Ric.