Вы находитесь на странице: 1из 29

Regional Meta Centro de Industria y servicios del META

TECNOLOGO EN MANTENIMIENTO ELECTRONICO E INSTRUMENTAL INDUSTRIAL

2013

CONTROL DEL DOCUMENTO


NOMBRE Autor JEFFERSON JIMENEZ YURANI ORTIZ JOHN ROCHA CARGO DEPENDENCIA FIRMA FECHA 22/02/2013

Aprendiz Centro de Industria y servicios del META

Tema PROGRAMACION MICROCONTROLADORES PIC EN ASM

INFORME FUENTE DE ALIMENTACION REGULADA DUAL

APRENDIZ: JHON FERNANDO ROCHA INGRID YURANI ORTIZ CONDE JOSE JEFFERSON JIMENEZ

CENTRO DE INDUSTRIA Y SERVICIOS DEL META SENA VILLAVICENCIO META 2013

INFORME FUENTE DE ALIMENTACION REGULADA DUAL

APRENDIZ: JHON FERNANDO ROCHA INGRID YURANI ORTIZ CONDE JOSE JEFFERSON JIMENEZ

INSTRUCTOR: ING. IVAN DUARTE

CENTRO DE INDUSTRIA Y SERVICIOS DEL META SENA VILLAVICENCIO META 2013

TABLA DE CONTENIDO
Pag.

HOJA PRESENTACION *************************************************** CONTROL DE DOCUMENTO ******************************************** PORTADA ************************************************************* **************************************************

1 2 3 4 5 6 7

CONTRAPORTADA

TABLA DE CONTENIDO ************************************************* OBJETIVOS JUSTIFICACION MARCO TEORICO ************************************************* ************************************************* **********************************************

8-14

DESARROLLO DE LA ACTIVIDAD ******** ************************ 15-26 Materiales Procedimiento CONCLUSIONES ******************************************* 15

*********************************************** 15-26 **************************************************** 27

OBJETIVOS

OBJETIVO GENERAL
Aprender a manejar el programa de Mplab y el Proteus para Realizar el esquemtico crendole su debida programacin para un correcto funcionamiento del circuito. Realizaremos dicha programacin y esquemtico del auto fantstico, un contador de 0 a 99, de 0 a 999 y la iluminacin de tres led. Aplicando el set de instrucciones de la gama media o estndar para manipular los puertos de entrada/salida digital de los microcontroladores PIC.

OBJETIVOS ESPECIFICOS
Conocer y aprender a manejar el software Mplab de Microchip y el Proteus (ISIS). Aprender a generar las respectivas programaciones en Mplab para crear el diseo esquemtico en Proteus. Aplicar el set de instrucciones de la gama media o estndar para manipular los puertos de entrada/salida digital de los microcontroladores PIC.

JUSTIFICACION

La programacin es el proceso de disear, codificar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal. Programar no involucra necesariamente otras tareas tales como el anlisis y diseo de la aplicacin (pero s el diseo del cdigo), aunque s suelen estar fusionadas en el desarrollo de pequeas aplicaciones. Para crear un programa, y que la computadora lo interprete y ejecute las instrucciones escritas en l, debe usarse un lenguaje de programacin. En sus inicios las computadoras interpretaban slo instrucciones en un lenguaje especfico, del ms bajo nivel, conocido como cdigo mquina, siendo ste excesivamente complicado para programar. De hecho slo consiste en cadenas de nmeros 1 y 0 (sistema binario). Para facilitar el trabajo de programacin, los primeros cientficos que trabajaban en el rea decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del ingls; las codificaron y crearon as un lenguaje de mayor nivel, que se conoce como Assembly olenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es bsicamente lo mismo que hacerlo en lenguaje mquina, pero las letras y palabras son bastante ms fciles de recordar y entender que secuencias de nmeros binarios. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un mtodo sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos nmeros puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar con solo una. Una vez que se termina de escribir un programa, sea en ensamblador o en un lenguaje de alto nivel, es necesario compilarlo, es decir, traducirlo a lenguaje mquina. Demostraremos la teora en la que se basa la programacin.

MARCO TEORICO
MICROCONTROLADOR MICROCHIP PIC 16F84 Microchip fabrica una serie de microcontroladores llamados PIC. Puedes ver toda la gama de sus microcontroladores aqu . Los hay disponibles de distintas capacidades, desde algunos tipos bsicos con poca memoria, hasta los que tienen convertidores Analgico a Digital (ADC) incluidos o incluso los que llevan dentro PWMs (Pulse Width Modulators = Moduladores de Ancho de Pulso). Voy a concentrarme en el PIC 16F84. Una vez que aprendas como programar un tipo de PIC, aprender el resto ser fcil. Hay diversas formas de programar el PIC, - usando BASIC, C, o Lenguaje Ensamblador. Voy a mostrarte el Lenguaje Ensamblador. No te asustes. Solo hay 35 instrucciones que aprender, y es la manera ms econmica de programar los PICs, ya que no necesitas ningn otro software extra que no sea de los gratuitos. Los pines del 16F84 Mas abajo vers el diagrama de patillas(pines en adelante) del PIC 16F84. Pasar por cada pin, explicando para que se utiliza cada uno.

MPLAB X El nuevo IDE MPLAB X introduce un conjunto de funciones de altas prestaciones, incluyendo la capacidad de gestionar mltiples proyectos y herramientas con depuracin simultnea, un editor avanzado, grficos de llamada visual y terminacin de cdigo. MPLAB X tambin es exclusivo en el mercado gracias a su soporte a toda la gama de microcontroladores de 8, 16 y 32 bit, incluyendo los ms de 800 microcontroladores PIC, controladores de seal digital dsPIC y dispositivos de memoria. La combinacin del IDE MPLAB X con su potente conjunto de funciones y de la gama de microcontroladores PIC, de altas prestaciones y sencilla migracin,

ofrece una plataforma de desarrollo universal, flexible y sencilla para diseos embebidos de prxima generacin. stos exigen un IDE que proporcione una slida base para el desarrollo de altas prestaciones, de sencillo manejo y flexible, as como compatibilidad con una amplia variedad de herramientas de desarrollo y una amplia oferta de microcontroladores para simplificar la migracin, disminuir la curva de aprendizaje y proteger las inversiones existentes en herramientas y cdigo. MPLAB X ofrece un interface grfico nico y unificado para herramientas de Microchip y de terceros, incluyendo los depuradores/programadores MPLAB ICD 3, PICkit 3 y MPLAB REAL ICE. MPLAB X se basa en las principales ventajas de la plataforma de cdigo abierto NetBeans patrocinada por Oracle, que cuenta con una comunidad activa de usuarios que puede contribuir con un gran nmero de mejoras y complementos de terceros. Los clientes de Microchip tambin pueden aprovechar los componentes de software gratuitos de NetBeans y complementos disponibles de forma inmediata, as como la capacidad de personalizar el IDE MPLAB X para cubrir las necesidades individuales de desarrollo. Prestaciones adicionales del nuevo IDE MPLAB X:

Utilidad de importacin para una migracin rpida y sencilla de proyectos de la plataforma anterior IDE MPLAB Terminacin de cdigo y mens de contexto mediante editor avanzado Ventana de visualizacin configurable Ofrece soporte a mltiples versiones de compilador simultneamente Herramientas de colaboracin en equipo para deteccin de errores y control de cdigo fuente

Con el IDE MPLAB X, Microchip da continuidad a su reputacin sin parangn de ofrecer plataformas de desarrollo embebido potentes pero de bajo coste para ofrecer soporte a un gran nmero de microcontroladores PIC, controladores de seal digital dsPIC y dispositivos de memoria de alta funcionalidad y dotados de numerosos perifricos. Con el fin de asegurar el mantenimiento y funcionamiento de los proyectos activos, Microchip seguir ofreciendo soporte al actual entorno MPLAB 8. PROTEUS: es una compilacin de programas de diseo y simulacin electrnica, desarrollado por Labcenter Electronics que

consta de los dos programas principales: Ares e Isis, y los mdulos VSM y Electra. ISIS: El ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente) permite disear el plano elctrico del circuito que se desea realizar concomponentes muy variados, desde simples resistencias, hasta alguno que otro microprocesador o microcontrolador, incluyendo fuentes de alimentacin, generadores de seales y muchos otros componentes con prestaciones diferentes. Los diseos realizados en Isis pueden ser simulados en tiempo real, mediante el mdulo VSM, asociado directamente con ISIS.

PORTA y PORTB Para poner uno de nuestros pines de salida a nivel alto, simplemente ponemos un 1 el bit correspondiente en nuestro registro PORTA o PORTB. El formato es el mismo que para los registros TRISA y TRISB. Para leer si un pin est a nivel alto o nivel bajo en los pines de nuestro puerto, podemos ejecutar un chequeo para ver si el bit en particular correspondiente esta puesto a nivel alto (1) o est puesto a nivel bajo (0). Antes de dar un ejemplo de cdigo, tenemos que explicar dos registros ms W y F.W El registro W es un registro de propsito general al cual le puedes asignar cualquier valor que desees. Una vez que has asignado un valor a ese registro, puedes sumarle cualquier otro valor, o moverlo. Si le asignas otro valor a W, su contenido es sobrescrito. SUBRUTINAS Una subrutina es una seccin de cdigo o programa, que puede ser llamada como y cuando la necesites. Las subrutinas se usan si vas a ejecutar la misma funcin funcin ms de una vez, por ejemplo para crear un retardo. Las ventajas de utilizar una subrutina son que har ms sencillo modificar el valor una vez dentro de la subrutina antes que, digamos, hacerlo diez veces a travs de tu programa. Y tambin te ayudar a reducir el total de memoria que ocupa tu programa dentro del PIC.

Las 35 instrucciones mnemnicos de la gama media de Microchip las encontraremos resumidas en la siguiente tabla. w es el acumulador, f representa un registro cualquiera y C, DC, Z los flags del registro STATUS.

Instrucciones orientadas a registros MNEMNICO OPERANDOS ADDWF f,d ANDWF f,d CLRF CLRW COMF DECF f f,d f,d DESCRIPCIN w+fd w AND f d 00 h f 00 h w Complemento de f d f-1d f - 1 d (si es 0 salta) f+1d f + 1 d (si es 0 salta) w OR f d fd wf No operacin Rota f izq por carry d Rota f dcha por carry d f-wd w XOR f d CDIGO OP BANDERAS NCIC NOTAS 1 1 1 1 1 1 1(2) 1 1(2) 1 1 1 1 1 1 1 1 1 1,2 1,2 2 1,2 1,2 1,2,3 1,2 1,2,3 1,2 1,2 1,2 1,2 1,2 1,2 1,2

00 0111 dfff ffff C, DC, Z 00 0101 dfff ffff Z 00 0001 1fff ffff Z 00 0001 0xxx xxxx Z

00 1001 dfff ffff Z 00 0011 dfff ffff Z 00 1011 dfff ffff Ninguna 00 1010 dfff ffff Z 00 1111 dfff ffff Ninguna 00 0100 dfff ffff Z 00 1000 dfff ffff Z 00 0000 1fff ffff Ninguna 00 0000 0xx0 0000 Ninguna

DECFSZ f,d INCF INCFSZ IORWF MOVF f,d f,d f,d f,d

MOVWF f NOP RLF RRF f,d f,d

00 1101 dfff ffff C 00 1100 dfff ffff C 00 0010 dfff ffff C,DC,Z

SUBWF f,d SWAPF f,d

Intercambia nibbles de f d 00 1110 dfff ffff Ninguna 00 0110 dfff ffff Z

XORWF f,d

Instrucciones orientadas a bit MNEMNICO OPERANDOS BCF BSF BTFSC BTFSS f,b f,b f,b f,b DESCRIPCIN Pone a 0 bit b de registro f Pone a 1 bit b de registro f Salto si bit b de reg. f es 0 Salto si bit b de reg. f es 1 CDIGO OP BANDERAS NCIC NOTAS 1 1 1(2) 1(2) 1,2 1,2 3 3

01 00bb bfff ffff Ninguna 01 01bb bfff ffff Ninguna 01 10bb bfff ffff Ninguna 01 11bb bfff ffff Ninguna

DISPOSITIVOS LGICOS MICROPROGRAMABLES

Instrucciones del PIC16F84A

9.4

Instrucciones con literales y de control MNEMNICO OPERANDOS ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN SLEEP SUBLW XORLW DESCRIPCIN CDIGO OP 11 111x kkkk kkkk 11 1001 kkkk kkkk 10 0kkk kkkk kkkk 00 0000 0110 0100 10 1kkk kkkk kkkk 11 1000 kkkk kkkk 11 00xx kkkk kkkk 00 0000 0000 1001 11 01xx kkkk kkkk 00 0000 0000 1000 00 0000 0110 0011 11 110x kkkk kkkk 11 1010 kkkk kkkk BANDERAS NCIC NOTAS C,DC,Z Z Ninguna TO,PD Ninguna Z Ninguna Ninguna Ninguna Ninguna TO, PD C,DC,Z Z 1 1 2 1 2 1 1 2 2 2 1 1 1 -

k w+kw k w AND k w k Llamada a subrutina k - Borra temporizador del WDT k Ir a direccin k k w OR k w k kw - Retorno de una interrupcin k Retorno con k en w - Retorno de una subrutina - Modo Standby k k-ww k w XOR k w

OPERACIONES CON BITS Las operaciones con bits nos permiten manipular un solo bit dentro de una palabra (Word). Nos permiten, mover, activar o desactivar bits individualmente en registros o nmeros que especifiquemos. Al final de este captulo te mostraremos un programa que producir un conjunto de luces que se desplazan en un sentido, y despus en el sentido contrario. Vimos esto cuando revisamos la funcin OR, donde hacamos OR exclusiva con una palabra.

Ya hemos visto un par de operaciones con unos bits, cuando configurbamos los puertos del PIC, y voy a repetir aqu su uso. BCF: Esta instruccin pone a cero un bit que especifiquemos en el registro que especifiquemos. La sintaxis es la siguiente: BCF <registro>, <bit> BSF: Esta instruccin pondr a 1 el bit que especifiquemos en cualquier registro que especifiquemos. Hemos utilizado esta operacin antes para cambiar del Banco 0 al Banco 1. La sintaxis es: BSF <registro>, <bit>, y se utiliza exactamente de la misma forma que la BCF de ms arriba.

BTFSC: Hasta ahora hemos puesto a 1 o a 0 un bit en un registro. Pero qu pasa si queremos simplemente comprobar si un bit es 0 1 en un registro? Bien, podemos utilizar BTFCS. Esta dice "Comprueba un bit en el registro o posicin de memoria (F), y salta si es 0". Esta instruccin comprobar el bit que le especifiquemos en el registro. Si el bit es 0, la instruccin le dice al PIC que se salte la instruccin que viene a continuacin. Podramos utilizar esta instruccin si queremos comprobar un flag, como por ejemplo en flag de CARRY. Esto nos ahorra tener que leer el registro STATUS y mirar los bits individualmente para ver que flags estn a 1. BTFSS: Esta instruccin dice "Comprueba el bit del registro o posicin de memoria (F), y salta si est a 1". Esta es similar a la instruccin BTFSC, excepto que el PIC se saltar la siguiente instruccin si el bit que estamos comprobando est a 1, en lugar de a 0. CLRF: Esta instruccin pondr todos los bits del contenido de un registro a 0. La sintaxis es: CLRF

CLRW: Es similar a la instruccin CLRF, excepto en que solo pone a 0 el registro W. La sintaxis es bastante sencilla: CLRW RLF y RRF: Estas instrucciones desplazan los bits del contenido de un registro un lugar hacia la izquierda (RLF), o un lugar hacia la derecha (RRF). Por ejemplo, si tenemos 00000001 y utilizamos la instruccin RLF, tendramos 00000010. Ahora, qu ocurre si tenemos 10000000 y empleamos RLF? Bien, el bit 1 ser desplazado al flag CARRY. y si empleamos RLF una vez ms, el 1 reaparecer justo al principio [ Nota de la traduccin: es decir, por el lado derecho del byte, o dicho de otro modo en el bit0].

DIODO es un componente electrnico de dos terminales que permite la circulacin de la corriente elctrica a travs de l en un solo sentido. Este trmino generalmente se usa para referirse al diodo semiconductor, el ms comn en la actualidad; consta de una pieza de cristal semiconductor conectada a dos terminales elctricos. El diodo de vaco (que actualmente ya no se usa, excepto para tecnologas de alta potencia) es un tubo de vaco con dos electrodos: una lmina como nodo, y un ctodo. De forma simplificada, la curva caracterstica de un diodo (I-V) consta de dos regiones: por debajo de cierta diferencia de potencial, se comporta como un circuito abierto (no conduce), y por encima de ella como un circuito cerrado con una resistencia elctrica muy pequea. Debido a este comportamiento, se les suele denominar rectificadores, ya que son dispositivos capaces de suprimir la parte negativa de cualquier seal, como paso inicial para convertir una corriente alterna en corriente continua. Su principio de funcionamiento est basado en los experimentos de Lee De Forest. LED (de las siglas en ingls Light-Emitting Diode, diodo emisor de luz en espaol) se refiere a un componente opto electrnico pasivo, ms concretamente un diodo que emite luz. RESISTENCIA ELCTRICA es toda oposicin que encuentra la corriente a su paso por un circuito elctrico cerrado, atenuando o frenando el libre flujo de circulacin de las cargas elctricas o electrones. Cualquier dispositivo o consumidor conectado a un circuito elctrico representa en s una carga, resistencia u obstculo para la circulacin de la corriente elctrica.

UN CIRCUITO es una red elctrica (interconexin de dos o ms


componentes,como resistencias, inductores, condensadores, fuentes, interruptores y Semiconductores) que contiene al menos una trayectoria cerrada. Los circuitos que contienen solo fuentes, componentes lineales (resistores, condensadores, inductores), y elementos de distribucin lineales (lneas de transmisin o cables) pueden analizarse por mtodos algebraicos para determinar su comportamiento en corriente directa o en corriente alterna. Un circuito que tiene componentes electrnicos es denominado un circuito electrnico. Estas redes son generalmente no lineales y

DESARROLLO DE LA ACTIVIDAD MATERIALES:


Isis Proteus Mplab x Pic16f84 Resistencias Cristales Leds Contadores CA Ceramic22p 7447 2n2222 transistores

PROCEDIMIENTO
Debemos tener en nuestro computador instalados los programas de MPLAB X y el ISIS PROTEUS, en Mplab x que es el que usaremos para programacin debemos crear un proyecto y agregarle en el nombre .ASM y luego pasamos a Proteus y all abrimos un nuevo proyecto e iniciamos a realizar un esquemtico del circuito. Para esto debemos tener claras las 35 instrucciones. Pasos a realizar MPLAB X

Programacin De Auto Fantstico

Al final para verificar si quedo bien la programacion vamos a la parte superior y alli le damos clip en el martillito y en la parte inferior muestra los errores. Para agregarle tiempo cogemos en el programa PDEL y hacemos lo sigiente:

Y esto lo copiamos y pegamos en mplab x.

ISIS PROTEUS

Contador De 0 A 99

Cargar el programa

Contador Display 0-16

Contador 0-999

Todos los programas se deben cargar en el pic para que funciones. CONTADOR CON RA4 TMR0 Plantilla en ISIS Proteus

PROGRAMACION EN MPBLAB X __CONFIG 0X3FF9 LIST P=16F84A

#INCLUDE <P16F84A.INC> W EQU 0 F EQU 1 PDel0 EQU 0X10 PDel1 EQU 0X11 UND EQU 0X12 DEC EQU 0X13 CEN EQU 0X14 ORG 0X00 CONFIGURA BSF STATUS,RP0 CLRF TRISB MOVLW B'10000' MOVWF TRISA MOVLW B'11111000' MOVWF OPTION_REG BCF STATUS,RP0 INICIA CLRF PORTA CLRF PORTB CLRF TMR0 CLRF DEC BCF STATUS,Z BUCLE MOVF TMR0,W SUBLW 0X0A BTFSC STATUS,Z CALL DECENAS CALL VISUALIZA CALL CENTENAS CALL VISUALIZA GOTO BUCLE DECENAS BCF STATUS,Z CLRF TMR0 INCF DEC,F MOVF DEC,W SUBLW 0X0A BTFSC STATUS,Z CALL CENTENAS RETURN

CENTENAS BCF STATUS,Z CLRF DEC INCF CEN,F MOVF CEN,W SUBLW 0X0A BTFSC STATUS,Z RETURN VISUALIZA MOVF TMR0,W MOVWF PORTB MOVLW B'00001' MOVWF PORTA CALL DEMORA MOVF DEC,W MOVWF PORTB MOVLW B'00010' MOVWF PORTA CALL DEMORA MOVF CEN,W MOVWF PORTB MOVLW B'00100' MOVWF PORTA CALL DEMORA RETURN ;-----------------------------------------------------------------------------; Generado con PDEEL ver SP r 1.0 el 19/04/2013 Hs 09:9:54:18 a.m ; Descripcion: Delay 1000000 ciclos ;-----------------------------------------------------------------------------DEMORA movlw .93 ; 1 set numero de repeticion (c) movwf PDel0 ;1 PLoop1 movlw .71 ; 1 set numero de repeticion (B) movwf PDel1 ;1 PLoop2 clrwdt ; 1 set numero de repeticion (A PDelL1 goto PDelL2 PDelL2 decfsz PDel1, 1 goto PLoop2 decfsz PDel0, 1 goto PLoop1 PDelL3 goto PDelL4 PDelL4 goto PDelL5 PDelL5 clrwdt return END

CONCLUSIONES

Debemos conocer el funcionamiento de cada una de las rutinas y las subrutinas. Dejar los espacios adecuados porque por esto puede marcar error. Se deben cargar bien los displays CA y CA saber diferenciarlos. Tener en cuenta siempre el funcionamiento real del pic16f84A. Verificar que las uniones estn correctamente. Saber acomodar los transistores ya que este puede quedar invertido y no permite que encienda el contador. Siempre al colocar el nombre agregar la palabra punto asm. Conocer el funcionamiento del TMR0

Вам также может понравиться