2009 Grupo Estudiantil INVENTRONICA Joel Oswaldo Campos Pérez
[CURSO BÁSICO DE PIC LIBRERIAS] LIBRERIAS] En esta sección se aprenderá a crear librerías, incluirlas y utilizarlas apropiadamente obteniendo una nueva herramienta que facilite la programación.
Curso básico de PIC
LIBRERIAS
Contenido: 1) 2) 3) 4)
¿Qué es y para que sirve una librería? …………………3 Librería p16f877a.inc …………………………………………..3 Como crear una librería ………………………………………5 Como incluir y usar una librería …………………………..7
Curso básico de microcontroladores microcontroladores -
[email protected] [email protected]
Página 2
Curso básico de PIC
LIBRERIAS
¿Qué es y para qué sirve una librería? En todos los lenguajes de programación existen fragmentos de código o rutinas que se aplican una y otra vez en la elaboración de infinidad de programas o que se utilizan reiteradamente para aplicaciones especiales. Esto haría relativamente molesto tener que elaborar dichas rutinas (que ya sabemos hacer) una y otra vez cada vez que las necesitemos para cada programa nuevo que hagamos. Para esto contamos con una herramienta muy útil: las librerías. Las librerías son archivos con extensión INC en donde el usuario puede guardar rutinas (o código) que utilizará reiteradamente en distintos programas. Así, el programador puede incluir la librería que necesite para la aplicación que esté realizando, y solo mandar a llamar las rutinas que necesite contenidas en la librería.
Librería p16f877a.inc Un
ejemplo
de
librería
es
programa\Microchip\MPASM
la
p16f877a.inc
Suite\P16F877A.
ubicada Si
en
abrimos
C:\Archivos de este
archivo
encontraremos algo como esto:
Curso básico de microcontroladores microcontroladores -
[email protected] [email protected]
Página 3
Curso básico de PIC
LIBRERIAS
Esta librería contiene los nombres de los registros especiales del PIC, por ejemplo, veamos la línea: PORTB
EQU
H’0006’
Indica que la posición número 6 de la memoria de datos será llamada PORTB. De no incluir esta librería en nuestros programas tendríamos que referirnos a los registros y bits por sus posiciones de memoria en vez de sus “nombres”. Por ejemplo:
bsf
PORTB,0
se escribiría así
bsf
0x06,0x00
Está claro que sería un lio programar usando la segunda opción, y de igual manera seria un lio renombrar todos los registros especiales del PIC cada vez que empezáramos a editar un programa nuevo. De ahí la utilidad de las librerías.
Curso básico de microcontroladores microcontroladores -
[email protected] [email protected]
Página 4
Curso básico de PIC
LIBRERIAS
Como crear una librería Anteriormente hemos visto como hacer retardos por software, y sabemos que son rutinas que serán utilizadas reiteradamente en siguientes prácticas. Entonces, realizaremos una librería que contenga los retardos más comúnmente utilizados para poder usarlos posteriormente.
1.- Abrimos un documento de texto y lo guardamos como retardos_4Mhz.INC. Es conveniente tener una carpeta llamada “librerías ASM” donde guardaremos las librerías que se realicen.
2.- Abrimos dicho archivo y comenzamos a editar nuestras subrutinas de retardos. 2.1.-Para guardar cierto orden primero debemos poner un encabezado al archivo:
2.2.-Declaramos los registros que serán usados en la librería, estos registros se enlistan entre las directivas CBLOCK y ENDC. Delante de CBLOCK no se asigna un número pues comienza a “enumerar” los registros a partir de la última posición del último registro definido.
Curso básico de microcontroladores microcontroladores -
[email protected] [email protected]
Página 5
Curso básico de PIC
LIBRERIAS
2.3.- Escribimos las rutinas de retardo. Debemos adquirir el hábito de poner comentarios a las rutinas para poder revisarlas posteriormente, por si deseamos hacerles algún cambio.
Curso básico de microcontroladores microcontroladores -
[email protected] [email protected]
Página 6
Curso básico de PIC
LIBRERIAS
Como se puede apreciar es sumamente simple hacer librerías de esta manera. Las librerías no llevan END hasta al final.
Como incluir y usar una librería Para incluir una librería en nuestro programa se usa la directiva include de la siguiente manera:
Como puede verse en la figura de arriba, el programa invoca la rutina “Retardo_200ms” que está contenido en la librería “retardos_4Mhz.INC” declarada en la parte de abajo. Habitualmente las librerías como ésta se incluyen hasta el final del programa.
Es sumamente importante copiar y pegar la librería (Archivo INC) en la misma carpeta donde hemos creado nuestro proyecto, donde esta nuestro archivo ASM y se generarán los archivos ERR, COF, LST y HEX. De no hacerlo así el compilador NO encontrará las librerías y marcará ERROR indicando que las etiquetas llamadas en el programa NO están definidas previamente .
Curso básico de microcontroladores microcontroladores -
[email protected] [email protected]
Página 7
Curso básico de PIC
LIBRERIAS
GRUPO ESTUDIANTIL INVENTRONICA
Aclaración de dudas respecto al tema tratado en este trabajo al correo:
[email protected]
Curso básico de microcontroladores microcontroladores -
[email protected] [email protected]
Página 8