Você está na página 1de 12

UNIVERSIDAD MILITAR NUEVA GRANADA

PRACTICA LABORATORIO ESTRUCTURA EN UN PROGRAMA EN ENSAMBLADOR

ANDRS CAMILO NASTAR MORA u1401010@unimilitar.edu.co JESUS BARRIGA VAQUERO 1401012@unimilitar.edu.co

PRESENTADO A: INGENIERO JUAN CARLOS MARTINES QUINTERO

UNIVERSIDAD MILITAR NUEVA GRANADA FACULTAD DE INGENIERA INGENIERA EN TELECOMUNICACIONES FEBRERO DE 2013 BOGOT D.C MICROPROCESADORES Pgina 1

UNIVERSIDAD MILITAR NUEVA GRANADA

RESUMEN
Esta prctica de laboratorio se enfoca en el manejo del software Maplab donde se trabajara el concepto de anlisis en las libreras y comandos de este software, se aprender a manipular el Pic16f877A donde implementaremos algunos cdigos en el software para ingresar (quemar) estos comandos en la Pic. Se implementa un circuito para dicha prctica donde realizaremos un comparador y un sumador de bits, pondremos en prctica todos los conocimientos adquiridos en clase, adems de los que se ha adquirido en la carrera.

4. COMPETENCIAS A DESARROLLAR 5. MARCO TEORICO 6. DESARROLLO DE CONTENIDOS 7. CONCLUSIONES 8. REFERENCIA 1. INTRODUCCIN


El programa que se aprender a manejar es llamado Maplab (caratula fig. 1) es un editor IDE (es un entorno de programacin que ha sido empaquetado como un programa de aplicacin), destinado a productos de la marca Microchip. Este editor es modular, que permite seleccionar los distintos micros controladores soportados, adems de que permitir la grabacin de estos circuitos integrados directamente al programador.

ABSTRACT
This lab focuses on software management Maplab where the concept of analysis work in bookstores and commands of this software, you will learn to manipulate the PIC16F877A which implement some codes to enter in the software (burn) these commands in the pic. It implements a circuit to the practice where we take a comparator and an adder bit, put into practice all the knowledge acquired in the classroom, as well as those acquired in the race.

PALABRAS CLAVES
Maplab, circuito, segmentos. resistencias, voltmetros, display 7

KEYWORDS
Matlab, display circuit, resistors, voltmeters, 7-segment

CONTENIDO 1. INTRODUCCIN 2. OBJETIVOS 3. COMPONENTES MICROPROCESADORES


Imagen 1

Pgina 2

UNIVERSIDAD MILITAR NUEVA GRANADA

Es un programa que corre bajo Windows y como tal, presenta las clsicas barras de programa, de men, de herramientas de estado, etc. El ambiente MPLAB posee editor de texto, compilador y simulacin (no en tiempo real). Para comenzar un programa desde cero para luego grabarlo al C en MPLAB v7.XX los pasos a seguir son: 1. Crear un nuevo archivo con extensin .ASM y nombre cualquiera 2. Crear un Proyecto nuevo eligiendo un nombre y ubicacin 3. Agregar el archivo .ASM como un SOURCE FILE 4. Elegir el micro controlador a utilizar desde SELECT DEVICE del men CONFIGURE Una vez realizado esto, se est en condiciones de empezar a escribir el programa respetando las directivas necesarias y la sintaxis para luego compilarlo y grabarlo en el PIC. MICROCONTROLADOR PIC

propio para usarlo en experimentacin. Su referencia completa es PIC16F877-04 para el dispositivo que utiliza cristal de hasta 4MHz.

Figura 2

Los pic son una familia de micro controladores tipo RISC fabricados por microchipTechny inc. y derivados del PIC1650, originalmente desarrollado por la divisin de micro electrnica de general instrument. El que utilizaremos en nuestras prcticas por el momento es el PIC16f877A (fig.2) este es un micro controlador con memoria de programa tipo flash, lo que se representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que no se permite brralo con luz ultravioleta como las versiones EPROM, si no que se permite reprogramar nuevamente sin ser borrado con anterioridad. El encapsulado ms comn para este micro controlador es el DIP (dual In-line pin) de 40 pines,

2. OBJETIVOS:
Implementar un programa con la estructura en general de un programa en lenguaje ensamblador. Establecer las directivas de procesamiento y la palabra de configuracin del micro controlador con el fin de configurar parmetros como la velocidad y tipo del reloj, entre otros. Realizar el proceso de compilacin y simulacin del programa realizado. Realizar el montaje que plantea la gua para verificar resultados tericos.

MICROPROCESADORES

Pgina 3

UNIVERSIDAD MILITAR NUEVA GRANADA

3. COMPONENTES RESISTENCIAS

PINZAS

FUENTE DE VOLTAJE

PIC 16877

PROTOBOARD

MULTIMETRO DIPSWITCH MICROPROCESADORES Pgina 4

UNIVERSIDAD MILITAR NUEVA GRANADA

5. MARCO TEORICO
Los micro controladores son dispositivos programables con una arquitectura particular que permite tener diferentes funcionalidades en un solo chip. Debido a esta naturaleza programable se hace necesario conocer las principales herramientas para compilacin, depuracin y puesta en marcha de las diversas aplicaciones que pueden elaborarse haciendo uso de ellos. El estudiante debe elaborar un marco terico basado en el datasheet y los textos gua con relacin a la arquitectura bsica del micro controlador, las instrucciones en lenguaje ensamblador, el manejo de memoria y el manejo de puertos. Para complementos consultar los apuntes tomados de las clases y los textos sugeridos en la bibliografa.

LEDS

DISPLAY 7 SEGMENTOS

4. COMPETENCIAS A DESARROLLAR

Capacidad de implementar y simular programas para micro controladores. Capacidad de montar aplicaciones bsicas con micro controlador. Capacidad para establecer la configuracin bsica de un micro controlador mediante la palabra de configuracin.

Figura3

Los pines del puerto A, B, C, D, E pueden trabajar como entradas y salidas, pero lo que son A y E son entradas para el convertido anlogo Digital interno, se

MICROPROCESADORES

Pgina 5

UNIVERSIDAD MILITAR NUEVA GRANADA

podra conectar una seal proveniente de un sensor de un circuito cualquiera para que el micro controlador lo convierta en su equivalente digital y pueda realizar algn proceso de control o de instrumentacin digital. El pin RA4/TOCKI del puerto A puede ser configurado como un pin de entrada/salida o como entrada del temporizador/contador. Cuando este pin se programa como entrada digital, funciona como un disparador de Schmitt (Schmitt trigger), puede reconocer seales un poco distorsionadas y llevarlas a niveles lgicos (cero y cinco voltios). Cuando se usa como salida digital se comporta como colector abierto (open collector), por lo tanto, se debe poner una resistencia de pull-up (resistencia externa conectada a un nivel de cinco voltios). Como salida, la lgica es inversa: un "0" escrito al pin del puerto entrega en el pin un "1" lgico. Adems, como salida no puede manejar cargas como fuente, slo en el modo sumidero. El puerto E puede controlar la conexin en modo microprocesador con otros dispositivos utilizando las lneas RD (read), WR (write) y CS (chip select). En este modo el puerto D funciona como un bus de datos de 8 bits (pines PSP). Para cada pin se tiene su descripcin, su funcionamiento aparte a que banco pertenece y como se puede utilizar esto esta descrito en la figura 4.

Figura4

Arquitectura interna del micro controlador

Este trmino se refiere a los bloques funcionales internos que conforman el micro controlador y la forma como estn conectados, por ejemplo la memoria FLASH (de programa), la memoria RAM (de datos), los puertos, la lgica de control que permite que todo el conjunto funciones, etc. Todo esto lo escrito anteriormente aparece a continuacin de la hoja en la figura numero 5.

MICROPROCESADORES

Pgina 6

UNIVERSIDAD MILITAR NUEVA GRANADA

Figura6

Figura 5

Luego se implement el cdigo; aunque el profesor Juan Carlos nos dio herramientas para un cdigo ms pequeo para nuestra facilidad, nosotros implementamos el nuestro pues ya que estamos en aprendizaje, ya en las prximas guas implementaremos los conocimientos adquiridos; y nuestro cdigo fue el siguiente: List p=16f877A ; list directive to define processor #include <p16f877A.inc> ;processor specific variable definitions __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF BSF STATUS,5 BCF STATUS,6 CLRF TRISB MOVLW TRISC BCF STATUS,5 INICIO MOVLW B'00000000' ; CARGA UN CERO EN EL LITERAL

6. DESARROLLO DE CONTENIDO
Se dise los programas y se monto los circuitos segn la gua dada por el profesor Ing. Juan Carlos Martnez Quintero con las respectivas resistencias, la PIC16877A, el display 7 segmentos, los dipswitch indicados donde se desarrollara un programa que visualice en un display 7 segmentos los nmeros del 0 al 9 dependiendo de una entrada de cuatro bits ubicada en un puerto determinado. Por ltimo se finaliza con el montaje requerido y el correcto funcionamiento del circuito. En la grfica 6 se simulo el circuito aunque en el momento no tenamos el cdigo decidimos hacer la simulacin primero para as tener en cuenta cuales pines de entrada y salida .

MICROPROCESADORES

Pgina 7

UNIVERSIDAD MILITAR NUEVA GRANADA

XORWF PORTC, ; HACE XSOR ENTRE EL LITERAL Y PUERTO C BTFSS STATUS, Z ; SI SON IGUALES SALTA A GOTO CERO Y SI SON DIFERENTES A GOTO F1 GOTO F1 GOTO CERO F1 MOVLW B'00000001' XORWF PORTC, 0 BTFSS STATUS, Z GOTO F2 GOTO UNO F2 MOVLW B'00000010' XORWF PORTC, 0 BTFSS STATUS, Z GOTO F3 GOTO DOS F3 MOVLW B'00000011' XORWF PORTC, 0 BTFSS STATUS, Z GOTO F4 GOTO TRES F4 MOVLW B'00000100' XORWF PORTC, 0 BTFSS STATUS, Z GOTO F5 GOTO CUATRO F5 MOVLW B'00000101' XORWF PORTC, 0 BTFSS STATUS, Z

GOTO F6 GOTO CINCO F6 MOVLW B'00000110' XORWF PORTC, 0 BTFSS STATUS, Z GOTO F7 GOTO SEIS F7 MOVLW B'00000111' XORWF PORTC, 0 BTFSS STATUS, Z GOTO F8 GOTO SIETE F8 MOVLW B'00001000' XORWF PORTC, 0 BTFSS STATUS, Z GOTO F9 GOTO OCHO F9 MOVLW B'00001001' XORWF PORTC, 0 BTFSS STATUS, Z

GOTO F10 GOTO NUEVE F10 MOVLW B'00001010' XORWF PORTC, 0 BTFSS STATUS, Z

MICROPROCESADORES

Pgina 8

UNIVERSIDAD MILITAR NUEVA GRANADA

GOTO ERRO CERO MOVLW 0X40 MOVWF PORTB GOTO INICIO UNO MOVLW 0X79 MOVWF PORTB GOTO INICIO DOS MOVLW 0X24 MOVWF PORTB GOTO INICIO TRES MOVLW 0X30 MOVWF PORTB GOTO INICIO CUATRO MOVLW 0X19 MOVWF PORTB GOTO INICIO CINCO MOVLW 0X12 MOVWF PORTB GOTO INICIO SEIS MOVLW 0X2 MOVWF PORTB GOTO INICIO SIETE MOVLW 0X78 MOVWF PORTB GOTO INICIO OCHO MOVLW 0X0 MOVWF PORTB GOTO INICIO NUEVE MOVLW 0X10 MOVWF PORTB GOTO INICIO ERRO MOVLW 0X6 MOVWF PORTB

GOTO INICIO END Luego de haber implementado nuestro cdigo se verifico con la simulacin en proteus y fue exitosa donde dejamos como entrada TRISC y como salida TRISB en este cdigo dejamos varios go to como si fuera un xor lgico cuando fueran iguales lo que hay en las direcciones con la entrada fuera a goto Cero si no saltara una casilla, luego evaluaba la siguiente instruccin y hacia un xor y llevaba a la siguiente funcin, son funciones peridicas y al final del cdigo si era mayor a 10 muestra un mensaje de error. Todo lo dicho anteriormente se demuestra en las figuras 7, 8,9:

Figura 7

Figura8

MICROPROCESADORES

Pgina 9

UNIVERSIDAD MILITAR NUEVA GRANADA

Luego de hacer la respectiva simulacin implementamos el cdigo en nuestro PIC. List p=16f877A ; list directive to define processor #include <p16f877A.inc> ;processor specific variable definitions __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
Figura 9

BSF STATUS,5 BANKSEL ADCON1 MOVLW 0X06 MOVWF ADCON1 MOVLW 0X00 MOVWF TRISB MOVWF TRISA MOVLW 0XFF MOVWF TRISC MOVWF TRISD BCF STATUS,5 CLRW MOVWF PORTB MOVWF PORTA INICIO CLRW ADDWF PORTC,0 ADDWF PORTD,0 MOVWF PORTB ADDWF STATUS,0 MOVWF PORTA GOTO INICIO END En este cdigo dejamos como entrada TRISC y TRISD y como salidas TRISB y TRISA en este cdigo comenzamos a dejar entradas y salidas en cero luego sumbamos w que estaba en ceros con la entrada TRISC lo mismo, sumamos lo que hay en w que tena 0 con TRISD y sumbamos estos dos resultados y los mostraba en TRISB, luego hacamos

Figura 10 Montaje en el circuito

Luego de terminado el primer circuito nos dispondremos hacer el segundo donde hay que disear un ensamblador un programa que mediante dip-switch tome dos nmeros de dos puertos diferentes (8bits), los sume y muestre el resultado por un tercer puerto. Las banderas como el carry tambin debe ser mostrada en otro puerto, con los mismos pasos del circuito anterior comenzaremos primero por la simulacin (figura 10):

Figura 10

MICROPROCESADORES

Pgina 10

UNIVERSIDAD MILITAR NUEVA GRANADA

lo mismo con el puerto A de la salida para que nos mostrara las banderas. Y su simulacin fue exitosa Demostradas en las figuras 11, 12, 13:

Figura 13

6.1 ANLISIS DE RESULTADOS


Figura 11

Nuestros resultados varan dependiendo de la tolerancia de la resistencia ya que por un mayor valor los leds no prenderan o al pic no le entrara el voltaje suficiente para que realice su trabajo. Debemos tener en cuenta en caso de que en lo fsico no haya salido la simulacin bien no es porque el programa este mal diseado si no por errores de cableado, ya que fue previamente confirmado y probado en proteus. 7. CONCLUSIONES Se comprob que los microcontroladores son dispositivos muy importantes para la tecnologa ya que con ellos podramos configurarlos para que hagan un trabajo en especfico, aunque sean muy pequeos y el lenguaje sea un poco complejo de entender ellos hacen grandes cosas. Pero para ello tendremos que empaparnos mucho ms del tema y saber su composicin como lo vamos a ver en el curso de microprocesadores. Tambin podemos concluir que aunque los cdigos sean lo bastante largos hay comando mucho ms fciles y nos saldrn mucho ms cortos. Se compilaron los programas y no arrojaron ningn error, ya que los comando fueron escritos correctamente.

Figura 12

Figura 14 Montaje del circuito

MICROPROCESADORES

Pgina 11

UNIVERSIDAD MILITAR NUEVA GRANADA

Se dio el uso apropiado del Multmetro y de los diferentes elementos del laboratorio para medir las equivalencias de las resistencias y de los voltajes que se encuentran en los circuitos correspondientes. 8. REFERENCIAS

J. Ma. Angulo Usategui, E. Martin Cuenca, I. Angulo Martinez, Microcontroladores PIC: la solucin en una chip, Paraninfo, 1.997. Jos Ma. Angulo Usategui, Ignacio Angulo Martinez, Microcontroladores PIC: Diseo prctico de aplicaciones, Segunda edicin, Mc Graw Hill, 1.999. Jos Ma. Angulo Ustegui, Susana Romero Yesa, Ignacio Angulo Martinez, Microcontroladores PIC: Diseo prctico de aplicaciones Segunda parte PIC 16F87X, mCgRAW Hill, 2000. Datasheet del microcontrolador. [8]Circuitos electrnicos de DORF SVOBODA Editorial alfa omega 6 Edicin

8.1 INFOGRAFIA http://www.utp.edu.co/~eduque/arquitec/PIC 16F877.pdf

MICROPROCESADORES

Pgina 12

Você também pode gostar