3.3 Efecto Rebote y Lectura de Tablas

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