Microcontroladores

Páginas: 7 (1715 palabras) Publicado: 4 de junio de 2012
11. Tablas con la instrucción RETLWEs muy común utilizar la instrucción RETLW para la creación de tablas de valores. Esta instrucción devuelve un valor en el acumulador al retornar de una subrutina, la usaremos conjuntamente con el registro PCL (echale un vistazo si no lo recuerdas). La creación de la tabla se hará de la siguiente forma:TABLA            MOVWF       PCLVALORES       RETLW       VALOR0                       RETLW        VALOR1                       RETLW        VALOR2                       RETLW        VALOR3                       ....Donde VALOR0, VALOR1, VALOR2... etc. son los valores que queremos almacenar en la tabla.La estrategia a seguir para consultar algún valor de la tabla es cargar en el acumulador la dirección de memoria de programa donde se encunetra el valorque quieres leer y después llamar a la subrutina TABLA (con un CALL). Y te estarás preguntando como se en que dirección esta cada valor, pues bien, el VALOR0 está en la dirección VALORES (es la etiqueta que hemos puesto a esa dirección), el VALOR1 está en la dirección VALORES+1, VALOR2 está en la dirección VALORES+2... etc.Y como no hay como un ejemplo para ver las cosas mas claras ahí va uno:El siguiente ejemplo cuenta las veces que se acciona un pulsador conectado en RA0 y muestra el valor del conteo en un display de 7 segmentos de ánodocomún conectado al puerto B. La tabla contiene los valores necesarios para iluminar el display con cada número del 0 al 9. A continuación se muestran el esquema y el programa: |
;****************************
;* El siguiente programa cuenta las  *;* veces que se acciona un pulsador *
;* conectado a RA0 y muestra el     *
;* resultado de la cuenta en un         *
;* display de 7 segmentos de ánodo *
;* común conectado en el puerto B *
;****************************

PCL               EQU                   02H
STATUS        EQU                   03H
TRISA           EQU                   05H
PORTA          EQU                   05HTRISB           EQU                    06H
PORTB         EQU                    06H

CUENTA EQU 0CH                         ;Registro donde contaremos
RETARDO EQU 0DH                       ;Registro para el retardo

F                    EQU                      1
w                   EQU                       0

#DEFINE     BANCO0  BCF  STATUS,5
#DEFINE     BANCO1  BSF  STATUS,5ORG              00H
GOTO          INICIO                          ;Dejamos sitio a continuación para escribir
                                                            ;nuestra tabla

TABLA       MOVWF    PCL              ;cargamos el valor del acumulador en el registro
                                                            ;PCL. Cuando se ejecute esta instrucción el pic                                                            ;saltará inmediatamente a la dirección de programa
                                                            ;que le hayamos metido.

                                                            ;en esta tabla almacenaremos los valores que hay
                                                            ;que sacar por el puerto para que se muestren en                                                            ;el display los números del 0 al 9:
DISP   RETLW    40H                         ;Para mostrar el 0
RETLW 79H                                       ;Para mostrar el 1
RETLW 24H                                       ;Para mostrar el 2
RETLW 30H                                       ;Para mostrar el 3
RETLW 19H                                       ;Para mostrar el 4
RETLW12H                                       ;Para mostrar el 5
RETLW 02H                                       ;Para mostrar el 6
RETLW 78H                                       ;Para mostrar el 7
RETLW 00H                                       ;Para mostrar el 8
RETLW 10H                                       ;Para mostrar el 9

INICIO  ...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Microcontroladores
  • Microcontroladores
  • Microcontroladores
  • microcontroladores
  • Microcontroladores
  • Microcontroladores
  • Microcontroladores
  • Microcontroladores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS