UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO MICROPROCESADORES GUIA DE LABORATORIO ECP 1 de 6 I. TEMA : PROCEDIMI
Views 68 Downloads 2 File size 226KB
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO MICROPROCESADORES GUIA DE LABORATORIO ECP 1 de 6
I. TEMA : PROCEDIMIENTOS EN EL PIC 16F84A
II. OBJETIVOS El estudiante al finalizar la práctica será capaz de: 1. Explicar el mecanismo de funcionamiento de los procedimientos en el lenguaje ensamblador del PIC 16F84A. 2. Escribir programas utilizando procedimientos en el lenguaje ensamblador del PIC 16F84A.
III. MATERIALES NECESARIOS Para el desarrollo de la presente práctica, es necesario: 1. IDE MPLAB versión 8.x o superior.
IV. TRABAJO PREPARATORIO El estudiante deberá: 1. Tener conocimiento de la arquitectura del microcontrolador 16F84A 2. Conocer el uso del IDE MPLAB para el desarrollo de aplicaciones en el lenguaje ensamblador del microcontrolador 16F84A.
V. MARCO TEORICO En la presente práctica, estudiaremos la forma en que el PIC 16F84A da soporte a los procedimientos.
PROCEDIMIENTOS Un procedimiento es un modulo de software que puede ser referenciado desde otro programa. La ventaja de que un procesador soporte procedimientos, es que este permitirá la programación modular y la reutilización de código. Para que un procesador permita el uso de procedimientos, este debe implementar una memoria pila, pues esta es la base para implementar las instrucciones de llamada a procedimientos y el retorno de los procedimientos al programa principal. La memoria pila se utiliza para almacenar la dirección de retorno del programa principal, antes de iniciar la ejecución del modulo invocado y se utiliza para volver al programa principal y continuar la ejecución de la instrucción que sigue a la llamada al procedimiento antes indicado.
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO MICROPROCESADORES GUIA DE LABORATORIO ECP 2 de 6
El PIC 16F84A cuenta con una memoria pila de 8 palabras de 13 bits, la cual se encuentra fuera del espacio de memoria para los programas o los datos como puede verse en el siguiente gráfico que muestra la arquitectura de mencionado micro controlador
Las instrucciones que pone a nuestra disposición el PIC 16F84A, para el manejo de procedimientos se documentan a continuación:
INSTRUCCIÓN DE LLAMADA A PROCEDIMIENTOS CALL Sintaxis
call k
Call Subroutine Operandos
Operación
Indicadores
0 ≤ k ≤ 2047
PC + 1 => TOS k => PC[10:0] PCLATH[4:3] => PC[12:11]
Ninguno
Apila en la cima de la pila 'PC+1', salta incondicionalmente hacia la etiqueta 'k'.
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO MICROPROCESADORES GUIA DE LABORATORIO ECP 3 de 6
INSTRUCCIONES DE RETORNO DE PROCEDIMIENTO
RETURN Sintaxis return
Return from Subroutine Operandos
Operación
Indicadores
ninguno
TOS => PC
Ninguno
Operandos
Operación
Indicadores
0 ≤ k ≤ 255
k => W TOS => PC
Ninguno
Carga la cima de la pila en el contador de programa.
RETLW Sintaxis retlw k
Return with Literal in W
Mueve los 8 bits del literal 'k' al registro de trabajo 'W' y retorna de subprograma.
VI. DESARROLLO DE LA PRACTICA
1. Escriba un programa modular que calcule el cubo de un numero entero menor a 6 Solución ;****************************************************** ;* Nombre : apCalcularCubo.asm ;* Proposito : Calcula el cubo de un numero ;* Autor : Edwin Carrasco ;* FCreacion : 08/09/2009 ;* FModificacion : ------;****************************************************** LIST P=16f84a INCLUDE CBLOCK 0x0c primerNro segundoNro producto contador ENDC ORG 0
* * * * * * *
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO MICROPROCESADORES GUIA DE LABORATORIO ECP 4 de 6
;Programa principal inicio movlw movwf movwf call movf movwf call goto
.5 primerNro segundoNro procAxB producto, W segundoNro procAxB $
; ; ; ; ; ; ;
W