Crear tablas en ensamblador

Solo disponible en BuenasTareas
  • Páginas : 6 (1389 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de noviembre de 2010
Leer documento completo
Vista previa del texto
2009
GRUPO ESTUDIANTIL INVENTRONICA Joel Oswaldo Campos Pérez

[CURSO BÁSICO DE PIC TABLAS]
En esta sección explicaremos que son las tablas, para que se usan y como se hacen. Se describe un ejercicio completo en el que se utiliza una tabla con el fin de comprender su funcionamiento y utilidad de manera práctica.

Curso básico de PIC

TABLAS

Contenido:
1) El contador de programa…………………………………………………………….3

2) Ejemplo con tabla (contador 7 segmentos) ………………………………….4 a. Display 7 segmentos ………………………………………………………….4 b. Tabla de códigos 7 segmentos …………………………………………..4 c. Elaboración de tabla ………………………………………………………….6 d. Esquema del programa principal ……………………………………….7 e. Traducción a ensamblador ………………………………………………..8

3) Ubicación de las tablas ………………………………………………………………10

4) Directiva DT(Definir Tabla) ……………………………………………………….12

Curso básico de microcontroladores PIC – robo-sapiens@hotmail.com

Página 2

Curso básico de PIC
1.- El Contador de Programa:

TABLAS

Como sabemos un programa en ensamblador está constituido por una serie de instrucciones que se ejecutan secuencialmente. Cada instrucción ocupa una posición de la memoria de programa, esta posición esta“apuntada” por un registro especial llamado Contador de Programa, este registro tiene una longitud de 13 bits y está conformado por dos registros: PCL y PCLATH. PCL contiene los 8 bits menos significativos y PCLATH los 5 bits más significativos del Contador de programa, PCL es el registro más utilizado. Poniendo un ejemplo, cuando en nuestro programa colocamos el ORG 0 (vector de reset) nos estamosposicionando en la posición 0 de la memoria de programa, es decir, PCL = 0. Veamos: ORG 0 GOTO inicio ORG 5 Inicio BCF STATUS,RP0 BSF STATUS,RP1 MOVLW .7 MOVWF ADCON1 BCF STATUS,RP0 PCL=5 PCL=6 PCL=7 PCL=8 PCL=9 PCL=0

Como podemos ver, el PCL “lleva la cuenta” del número de instrucciones que ponemos en nuestro programa, si nosotros modificamos el valor del PCL durante la ejecución de nuestro programa NOmodificamos la dirección de la instrucción donde estemos, sino que nos posicionamos hacia la dirección apuntada por PCL. Por ejemplo, la instrucción GOTO significa SALTO INCONDICIONAL hacia donde se le indique, realmente lo que la instrucción GOTO hace es modificar el valor de PCL con el valor indicado delante de la instrucción GOTO:

nop decfsz CONTA_1,F goto $-.2

PCL PCL + 1 (PCL + 2) - 2 =PCL

El renglón que dice “goto $-.2” lo que hace en realidad es restarle al valor que tenga PCL el numero 2 (PCL PCL-2) con lo cual el PCL apunta ahora 2 lugares atrás. Como se puede ver, PCL es quien nos ubica dentro del programa, si modificamos su valor entonces saltamos hacia el lugar apuntado por PCL.

Curso básico de microcontroladores PIC – robo-sapiens@hotmail.com

Página 3

Cursobásico de PIC
2.- Ejemplo con tabla (contador 7 segmentos)

TABLAS

Una tabla es como su nombre lo indica una subrutina que contiene una tabla de valores de retorno, es decir, le damos un valor a la tabla y nos regresa con otro valor, esa es una razón por las que se usan, entre otras cosas, para decodificadores. Las tablas se hacen con ayuda del registro PCL como veremos más adelante. Eneste ejemplo haremos un contador binario con una tabla que traduzca un número binario a código 7 segmentos para visualizarse en un Display 7 segmentos.

2.1 Display de 7 segmentos
El display 7 segmentos es un dispositivo que consta de un arreglo de leds dispuestos en un solo encapsulado de forma tal que podemos formar números del 0 al 9. Cada led es llamado “segmento” y se enlistan del “a” hastael “g”, algunos display contienen un octavo segmento correspondiente al punto. Vea la siguiente figura.

La siguiente figura muestra el diagrama de un display 7 segmentos de ánodo común, que es el que utilizaremos para este ejemplo:

2.2 Tabla de códigos 7 segmentos
Como se puede notar, para formar los números debemos encender los segmentos correspondientes a ese número, por...
tracking img