En el mundo de la programación, se
manejan estructuras de control estas nos facilitan el proceso lógico al realizar
un programa.
En basic la estructura IF-ELSE
suele utilizarse como IF-THEN y ENDIF, esta estructura funciona asi:
SI (se cumple esto) ENTONCES (Ocurre esto) FIN
IF en BASIC para PBP:
IF
ocurre esto THEN
Sucede
esto
ENDIF
Muy fácil! Es asi! se darán cuenta
que todas las estructuras solo siguen una secuencia lógica, no se requiere ser
un genio o tener elevados conocimientos
de matemáticas… si tienes un cerebro con 2 neuronas y un ordenador listo!,
La estructura SELECT CASE para PBP,
es una variante del IF THEN para varias condiciones
SELECT CASE (variable)
Case
(dato 1)
Conclusión
1
Case
(dato 2)
Conclusión
2
Case
(dato 3)
Conclusión
3
Case
Else
Conclusión
4
END SELECT
Mejor aprender de un ejemplo:
‘*********************PROGRAMA***********************************’
'Juego de luces con IF-THEN SELECT-CASE
pjt002'
'Juego de luces con IF-THEN
SELECT-CASE pjt002'
'Se pretende iniciar el parpadeo de
led 1 con bt1 y led 2 con bt2'
'un poco de seudocodigo'
'1. Iniciar Progrmama luces'
'2. Definir que puertos del pic y
pines de entrada y salida'
'3. si el pin 0 del pueto A esta en
alto i= 1'
'4. si el pin 4 del puerto A esta
en alto i= 2'
'5. caso si i=1 parpadeo x pin 1
del puerto A
' si
el pin 4 del puerto A esta en alto ir a led2'
'6. caso si i=2 parpadeo x pin 2
del puerto A
' si
el pin 0 del puerto A esta en alto ir a led1''
i var byte 'Declaramos un variable tipo byte'
TRISB = 010001 'Define los pines del puerto B entradas o
salidas'
luces: 'inicia el programa'
IF
PORTA.0 = 1 THEN 'si el pin 0 del puerto
A esta en alto'
i
= 1 'asignar 1 a la variable i '
ENDIF
'terminar IF'
IF
PORTA.4 = 1 THEN
i
= 2
ENDIF
SELECT
CASE i 'elejir
la variable i'
CASE
1 '
si el valor de i = 1'
led1:
'
Realizar'
IF
PORTA.4 = 1 THEN 'durarante el bucle si el pin 4 del puerto A esta en alto'
i
= 2 'asignar
el valor de i = 2 '
GOTO
luces 'volvemos a
luces'
ENDIF
high
PORTA.1 'Iniciamos el tren de pulso,
parpadeo de leds'
Pause
200
low
PORTA.1
pause
200
goto
led1
CASE
2 'si el valor de i = 2 ejecutar'
led2:
IF
PORTA.0 = 1 THEN
i
= 1
GOTO
luces
ENDIF
high
PORTA.2
Pause
200
low
PORTA.2
pause
200
goto
led2
END
SELECT
goto luces 'volver a repetir el programa
indefinidamente'
'**********************FIN**************************'
Lo nuevo en este programa es la instruccion TRIS:
TRIS: Este comando define un puerto como entrada o salida, depende del valor asignado (1 para salida y 0 para entrada digital) el comando se utiliza asi
TRISpuerto = valor Asignado
TRISA = %11111111 significa que los 8 pines son de salida
NOTA: se nota que se añadio en el MCLR un button este funciona para resetear al pic.
Descargar el proyecto: Juego de luces con el PIC16F84A IF-ELSE SELECT-CASE con PBP
se equivoca en ej 1 es puerto B no A, la asignacion tris 1 es entrada y 0 salida.
ResponderEliminar