multip 16f84

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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