Upload
benjamin-gmez
View
7
Download
0
Embed Size (px)
Citation preview
Universidad Michoacana de San Nicols de Hidalgo
Facultad de Ingeniera Elctrica
Ing. Jorge Alberto Bonales Valencia
Mayo 2013
Efecto Rebote y Lectura de Tablas
Laboratorio de Electrnica Ing. Luis Garca Reyes
1
Al presionar un botn pulsador o cualquier conmutador electromecnico es inevitable que se produzca un pequeo arco elctrico durante el breve instante en que las placas de contacto se aproximan o se alejan de sus puntos de conexin, ya que las distancias son microscpicas entre los puntos a diferente potencial son suficientes para romper por un instante la resistividad del aire. Este fenomeno se le conoce como rebote (bounce).
2
3
La duracin del rebote de forma emprica depende de dos factores:
Calidad del Switch
Rapidez de su accionamiento
Lo mas que puede durar este efecto es aproximadamente 20ms.
4
Para limpiar el rebote se utiliza una rutina de retardo la cual espera 20 ms, asegurando que el botn realmente se halla accionado.
Para crear una rutina de retardo se debe considerar la frecuencia del oscilador utilizado para as obtener el tiempo que tarda
un ciclo maquina maquina.
=4
5
Rutina de retardo
N equ 0xFF ; Valor deseado
cotn equ 0x0 ; Direccin de guardado
d20ms
movlw N ;(1)
movwf cont ;(1)
repi
decfsz cont,1 ;(1 si no escapa, 2 si escapa)
goto repi ;(2)
return ;(2)
Donde el tiempo de retardo lo podemos obtener por medio de la siguiente formula:
= 3 + 5
Donde Tcy es la duracin de segundos de un ciclo de instruccin
El mximo retardo que se puede generar con esta rutina es de 154s.
6
Si se quiere generar un retardo mayor se pueden usar ciclos anidados. A continuacin se muestra un dos ciclos anidados:
Donde se propone R1 y R2 para generar el retardo. El mximo retardo que puede generar esta rutina es de 39.2712 ms, por lo tanto podemos generar un retardo de 20 ms con los siguientes valores R1 = 0x82 y R2 = 0xFF
7
Para la deteccin de un push button primero se debe configurar el pin del puerto como entrada y utilizar un ciclo que este revisando peridicamente el estado de ese pin. Por ejemplo
Donde la instruccin BTFSC revisa el Pin 4 del Puerto A;
Si es 0: Brinca la siguiente instruccin, ejecuta GOTO ESPERA.
Si es 1: Ejecuta la siguiente instruccin, ejecuta GOTO REV1 (REV1 continua con el resto del programa).
Deteccin de un Pushbutton
8
En muchas ocasiones es necesario para un programador efectuar una coincidencia entre alguna cantidad o valores conocidos y un nmero desconocido que se tiene como ndice.
Para la lectura de la tabla se utiliza la instruccin TBLRD y sus variantes.
Lectura de Tablas en la Memoria del Programa
9
FUNCIONAMIENTO
1. Se asigna la direccin de la memoria del programa al apuntador TBLPTR.
2. Se lee el dato de la memoria del programa al que se esta apuntando con la instruccin TBLRD *
10
11
Ejemplo