2. Tipos de botones
Tipo cero lógico
Tipo uno lógico
Sentencia if then
Compuertas logicas
Antirrebote
Introduccion a los sensores
Sensores magneticos
Ejercicios para clase
3. Los botones sirven para hacer que el humano
interactué con el micro controlador
hay de dos tipos
Los que se conectan a cero lógico
Los que se conectan a uno lógico
4.
5. Sirve para preguntar y ejecutar una línea de
comandos si resulta verdadero o falso este
comando le da la capacidad al pic de
elección.
La sintaxis es la siguiente
inicio
if (pregunta logica) then
(has esto)
else
(has lo otro)
endif
6. hacer que si apretó el botón que se dirige a
cero lógico hacer que el led parpadee con un
intervalo de 1 segundo si apretó el botón a
uno lógico hacer que el led parpadee medio
segundo y si no apretó ninguno, parpadee a
un decimo de segundo.
(en este ejercicio se usa lo que se conoce en
programación como if anidado
ojo se conectara a ra1(uno lógico) y ra2(cero
lógico) y porta.0 el led
7. Device 18F2550
Declare PROTON_START_ADDRESS = $1000
Xtal 20
symbol led = portb.0
trisa=1
trisb=0
inicio:
if porta.2=0 then
high led
delayms 1000
low led
delayms 1000
else
if porta.1=1 then
high led
delayms 500
low led
delayms 500
else
high led
delayms 100
low led
delayms 100
endif
endif
goto inicio
end
8.
9. Hasla compuerta “and” con dos botones y un
led cuando se active la compuerta dejar el
led encendido durante 10 s
10. Device 18F2550
Declare PROTON_START_ADDRESS = $1000
Xtal 20
All_Digital= true
TRISA=%1
TRISC=0
PORTC=0
Symbol bot1=PORTA.1
Symbol bot2=PORTA.2
Symbol led=PORTC.0
inicio:
If bot1=1 And bot2=1 Then
High led
DelayMS 10000
Else
Low led
EndIf
GoTo inicio
12. Device 18F2550
Declare PROTON_START_ADDRESS = $1000
Xtal 20
Trisb=0 ; hace todos los pines del puerto B como salidas
Symbol boton = portA.1 ;asigna el nombre de botón al puerto A.1
Dim num as BYTE ;crea la variable num con un tamaño de 255
num= 0 ;carga el valor inicial de 0 a la variable num
pulsar:
portb=num ;indica sacar el valor de num a través del puerto B
IF boton=0 THEN contar ;pregunta si el botón ha sido presionado
GOTO pulsar ;ir a pulsar, mantiene encerrado en este loop
contar:
num=num + 1 ;suma 1 a la variable num y el nuevo valor le guarda en
num
GOTO pulsar ; volver al principio del programa
END ; fin de la programación
13. Este error fue apropósito lo que pasa es lo siguiente
cada que pulsa el
botón el contador aumenta demasiado, esto es como se
dijo antes porque el PIC trabaja a 1uS.
cada instrucción y cuando una persona presiona el
botón, por lo menos necesita de 100 mS de
tiempo para soltarlo, en ese tiempo el PIC ya sumó
alrededor de 25.000 veces. Para solucionar
este problema proponemos hacer un programa de
antirrebote de tecla, en el cual si presionamos el
botón, este le envía a un programa que lo mantiene
encerrado, y únicamente sale de esta subrutina en el
momento que el pulsador deja de ser presionado, a
continuación incluimos un PAUSE 200,
que es necesario para que en el momento de soltar la
tecla se estabilice la señal
14. Device 18F2550
Declare PROTON_START_ADDRESS = $1000
Xtal 20
Trisb=0 ; hace todos los pines del puerto B como salidas
symbol boton = PORTA.1 ;asigna el nombre de botón al puerto A.1
Dim num as BYTE ;crea la variable num con un tamaño de 255
num= 0 ;carga el valor inicial de 0 a la variable num
pulsar:
portb=num ;indica sacar el valor de num a través del puerto B
IF boton=0 THEN contar ;pregunta si el botón ha sido presionado
GOTO pulsar ;ir a pulsar, mantiene encerrado
contar:
IF boton=0 THEN contar ;espera a que suelte el botón para continuar
delayms 200 ; espera de 200 mls para estabilizar el botón
num=num + 1 ;suma 1 a la variable num y el nuevo valor le guarda en
num
GOTO pulsar ; volver al principio del programa
END ;
15. Un sensor es simplemente un botón como lo
que hemos visto pero este botón se activa en
un entorno especifico
Sensores mas usados
Magneticos
infrarojos
17. Hacer que se prenda un led cuando se pase un imán por el
sensor. si no hacer que parpadee el led en modo de espera
hacer que un led varíe su velocidad de parpadeo suba y
baje.
En el ejercicio de el contador binario hacer modificaciones
para que suba y baje.
Hacer la compurta or con dos botones y un led de salida.
Hacer la compuerta not
Hacer la compuerta nand
Juntar todas la compuertas en un programa .para poder
cambiar de compuerta ojo solo debe tener dos botones de
entrada y salida. 3 botones para elegir y otro botón para
quitarnos del ciclo de cada compuerta en total son 6
botones y un led (como gusten ya sea a cero lógico o uno
lógico)hacer la simulación en proteus y si quieren hacerla
en la proto o hacerla en la casa