escuela politécnica javeriana del ecuador *espoj

Anuncio
ESCUELA POLITÉCNICA JAVERIANA DEL ECUADOR “ESPOJ”
FACULTAD DE ELECTRÓNICA Y CIENCIAS INDUSTRIALES
ESCUELA DE CONTROL Y AUTOMATIZACION
LABORATORIO DE MICROPROCESADORES I
PRACTICA No. 02: INTERFASE DE INTERRUPTORES Y PULSADORES
OBJETIVOS
 Configurar las líneas de los puertos como entradas y salidas.
 Conocer la forma de interfazar correctamente interruptores y pulsadores.
 Utilizar las instrucciones: Select …. Case, If …. Then, Lookup, Declare Sub, Data.
FUNDAMENTO TEORICO
Para la configuración de puertos como salidas debemos escribir en los bits del registro
DDRx 1 y 0 para entradas. En caso de ser salida un 1 en los bits de PORTx significa pullup interna habilitada. La lectura de un dato de una entrada se lee en el registro PINx.
Los interruptores son elementos electromcánicos que generalmente se encuentran en
los contactos de los sensores digitales (capacitivos, inductivos, infrarrojos, etc), mientras
que los pulsadores se emplean para el mando de motores (encendido y apagado).
Para conectar un pulsador o interruptor a un puerto se puede realizar a través de
resistencias pull-up o pull-down, conforme la figura 1. Recuerde que el microcontrolador
AVR posee resistencias pull-up internas que pueden ser habilitadas.
En caso de conectarse con resistencias pull-up el microcontrolador recibe 1L con el
pulsador abierto, lo contrario sucede con resistencia pull-down (0L con pulsador
abierto).
En caso de conectarse a voltajes de 12V o 24V se deberán poner resistencias que limiten
el voltaje a 5V y no dañen el pin como se muestra en la figura 2. Para el cálculo de las
resistencias se emplea un divisor de tensión, conforme el siguiente ejemplo a 12V.
𝑉1 = 𝑅
𝑅1
1 +𝑅3
𝑉𝐶𝐶 , donde 𝑉1 = 𝑉𝐶𝐶 − 𝑉𝑝𝑖𝑛 (𝑉𝑝𝑖𝑛 = 5𝑉)
Entonces 𝑅3 = 7142 Ω
Por tanto su valor estandar es de 6,8 kΩ
Con este valor, recalculando el voltaje se tiene que Vpin = 4,86V y la corriente (cuando
se accione el pulsador) en el pin será de 0,71mA.
MICROPROCESADORES I
1
ESCUELA POLITÉCNICA JAVERIANA DEL ECUADOR “ESPOJ”
Figura 1.- Interface de pulsadores a 5V.
Figura 2.- Interface de pulsadores a 12 V y 24V.
Cuando se trabaja con interruptores y pulsadores aparece el fenómeno de los rebotes
que pueden dar en ocasiones señales falsas de accionamientos y que duran alrededor
de 5 ms dependiendo del tamaño del pulsador. Para evitarlos se pueden emplear
MICROPROCESADORES I
2
ESCUELA POLITÉCNICA JAVERIANA DEL ECUADOR “ESPOJ”
métodos de eliminación de los rebotes por software o hardware. Se va a emplear el
primer método, introduciendo retardos de hasta 10ms.
Las instrucciones que se va a utilizar son las siguientes:





Declare Sub <nombre>
Sirve para declarar subrutinas que en el programa principal se las llamará con la
instrucción Call <nombre>.
Select …Case
Nos sirve para realizar diferentes acciones en función del valor de una variable, en
nuestro caso, el valor leído por el puerto de entrada.
Var
Select Case Var
Case 1: Instrucciones1
Case 2: Instrucciones2
…….
Case Else: Instrucciones otros casos
End Select
If…then
Mediante esta instrucción podemos preguntar por el estado de una variable y poder
tomar una decisión. Por lo tanto, con la instrucción if ….then se realizan
ramificaciones en el programa.
If <condición> then
Instrucciones si condición es verdadera
End if
Lookup(i,tabla)
Saca los valores de una tabla en función del valor de la variable i.
Data
Define los valores de una tabla. Ejemplo: Data 4, 5, 1, 2
ENUNCIADO DEL EJERCICIO
Se conectan dos interruptores al PORTC<1:0> con pull-up internas y según el valor leído
realice una acción determinada conforme la siguiente tabla de verdad:
PC1
0
0
1
1
PC0
0
1
0
1
PORTD
LEDs apagador
Auto fantástico
LEDs intermitentes
Juego de LEDs
El esquema para la realización de la práctica y simulación en proteus se puede observar
en la figura 3.
MICROPROCESADORES I
3
ESCUELA POLITÉCNICA JAVERIANA DEL ECUADOR “ESPOJ”
Figura 3.- Circuito de prueba.
MATERIALES








Microcontrolador Atmega8 (1)
Diodo Led de alto brillo 3mm (8)
Resistencia de 330 Ω (8)
Dipswitch (1 dip de 4x2)
Protoboard (1)
Cables No. 22AWG
Grabador AVR tipo USB2.0
Fuente de Voltaje 5V/1ª.
DESARROLLO DEL PROGRAMA
De acuerdo al circuito de la figura 3 y a los requerimientos del enunciado, el programa
es el siguiente:
Nombre del archivo: Juego_Luces.bas:
‘Programa que realiza juegos de LEDs conectados a PORTB en función de las diferentes ‘posiciones de dos
interruptores conectados a PC0 y PC1.
$regfile = “m8def.dat”
$crystal = 8000000
‘Tipo de procesador
‘ Cristal interno 8 Mhz
Dim Puerto As Byte
Leds Alias PORTD
‘Variable del dato de entrada
Config PORTD = Output
Leds = 0
‘Puerto D salida
‘Leds apagados
DDRC = &B11111100
PORTC = &B00000011
‘PC0 y PC1 entradas las demás salidas
‘Pull-up activas y salidas a 0L
MICROPROCESADORES I
4
ESCUELA POLITÉCNICA JAVERIANA DEL ECUADOR “ESPOJ”
Declare Sub Auto()
Declare Sub Intermitente()
Declase SUB Juego_Leds()
Do
Puerto = PINC
Select Case Puerto
Case 0 PORTD = 0
Case 1 Call Auto()
Case 2 Call Intermitente()
Case Else Call Juego_Leds ()
End Select
Loop
End
‘Declaración de subrutinas
‘Lee estado de interruptores
‘Caso 00
‘Caso 01
‘Caso 10
‘Caso 11
DESAFIOS
 Coloque dos Leds en B0 y B1. Haga que se enciendan y apaguen de manera
alternada cada 250ms.
CONCLUSIONES Y RECOMENDACIONES
MICROPROCESADORES I
5
Descargar