TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: marcelo2112 en 02 de Septiembre de 2010, 21:33:55

Título: un pulsdor, dos funciones.
Publicado por: marcelo2112 en 02 de Septiembre de 2010, 21:33:55
Hola, estoy tratando de que con un pulsador conectado el pin RA.6 del 16f628a pueda hacer "comenzar-parar", el pulsador no es de los que quedan oprimidos, eso seria muy facil, pero tiene la contra de que al encender la fuente el circuito saldria funcionando de una.
Osea: al encender la fuente quiero que no comience con el programa, al pulsar comienza, al volver a pulsar se para.
Uso el picbasic pro. No pude encontrar ningun ejemplo para usar de base, asi que estoy perdido. Gracias.
Título: Re: un pulsdor, dos funciones.
Publicado por: mariano_pic en 02 de Septiembre de 2010, 21:56:42

En c seria:
Código: [Seleccionar]
   while(1){//un bucle sin fin
   if(portb.f0==0){
                       while(portb.f0==0){delay_ms(100);}//espera a que suelte para evitar rebotes
                       while(1)
                       {
                        . // tu proseso
                        .
                        .
                        if(portb.f0==0){break;}
                       }
}

Ahora pasalo a basic que practicamente es lo mismo.   ;-)
Título: Re: un pulsdor, dos funciones.
Publicado por: marcelo2112 en 03 de Septiembre de 2010, 09:24:56
Gracias, pero no puedo pasarlo. No entiendo ni papa.
Título: Re: un pulsdor, dos funciones.
Publicado por: KALLITOS en 03 de Septiembre de 2010, 09:59:48
Hola marcelo, tu codigo deberia ser mas o menos asi:

variable = 1


inicio:
WHILE variable = 1

1.-el codigo que quieras en este estado

2.-si se presiona la tecla pones variable = 2
3.-no te olvides de usar antirebotes
WEND

WHILE variable = 2

1.-el codigo que quieras en este estado

2.-si se presiona la tecla pones variable = 1
3.-no te olvides de usar antirebotes
WEND
goto inicio


Saludos

Título: Re: un pulsdor, dos funciones.
Publicado por: marcelo2112 en 03 de Septiembre de 2010, 14:18:24
ERROR Line 11: Bad expression. (pulsador.pbp)
ERROR Line 11: WHILE without a matching WEND. (pulsador.pbp)


Esto es lo que me mata, cuando encuantro algo parecido o alguien que te ayuda, el microcodestudio no reconoce los comandos o lo que sea y se me termina el mundo.
Título: Re: un pulsdor, dos funciones.
Publicado por: KALLITOS en 03 de Septiembre de 2010, 14:35:16
Por lo que se nota no tienes bases de programacion, leete el help de tu compilador.

Saludos.
Título: Re: un pulsdor, dos funciones.
Publicado por: marcelo2112 en 03 de Septiembre de 2010, 20:25:46
practicamente nada...
Título: Re: un pulsdor, dos funciones.
Publicado por: KALLITOS en 03 de Septiembre de 2010, 20:40:26
Si gustas te hago el programa  ;-)
Título: Re: un pulsdor, dos funciones.
Publicado por: marcelo2112 en 04 de Septiembre de 2010, 10:25:20
Si, no me enojo, pero poneme la aclaracion de que hace en todos las instrucciones, mi intencion es aprender. Gracias
Título: Re: un pulsdor, dos funciones.
Publicado por: KALLITOS en 04 de Septiembre de 2010, 19:29:14
 :D.
Se aprende estudiando y practicando, cuando surgan dudas en el codigo que realices, vienes y te ayudo muy gustoso.
Hilos arriba de tu consulta hay ejemplos a montones, por lo menos coloca algo de codigo, parte con algo, haz un esfuerzo.
http://www.todopic.com.ar/foros/index.php?topic=3613.0
Saludos  :).
Título: Re: un pulsdor, dos funciones.
Publicado por: sejotre en 02 de Octubre de 2010, 19:12:12
hola a todos yo tambien soy nuevo en esto y estoy aprendiendo con el libro de Dogan ibrahim desafortunadamente no conozco a nadie que se dedique a esto
asique todopic es mi fuente de consulta permanente
bueno el punto que les queria contar es que tengo in  problema con el ejercicio con  lcd en el libro  es un sencillo segundero (que es de proyectos en pbp) señala por defecto el puerto a para el lcd y aunque revise la conecciones y estan en orden no lo logro hacer funcionar.el lcd es: ccm-1620csl-v2 en otro foro encontre una posible solucion que fue declarar todas las salidas del lcd pero aun asi no funca
esto es lo que hice :

 
 'definiciones
cnt var word
define osc 4
define lcd_dreg portb
define lcd_dbit 0
define lcd_rsreg portb
define lcd_rsbit 4
define lcd_ereg portb
define lcd_ebit 5
define lcd_bits 4
define lcd_lines 2
 
cmcon = 7
trisa= 0
trisb= 0
pause 500
cnt = 0
lcdout $fe,1
rpt:
lcdout $fe,2
lcdout "cnt=",dec cnt
pause 1000
cnt = cnt +1
goto rpt

agradezco cualquier ayuda
gracias