Pic16f84a
Pici6f84a gy alcjandrobarrios ACKa5pR 02, 201C 4 pagcs MICROCONTRALADOR PIC 1 6F84A l. Objetivos: * Programar los puertos de entrada/salida del microcontrolador PIC16F84A * Usar los programas simuladores de circuitos para probar un programa para el microcontrolador PIC II. Introducción Los microprocesadores es un circuito integrado que se encarga de realizar diferentes tareas que son indicadas en formas de instrucciones por nosotros. Este es un sistema caro, complejo y dificil de implementar, ya que tenemos varios componentes independientes (memorias unidades de EIS etc. aciendo lento y dificil el proceso de ora sistema. to View nut*ge sto y el tamaño del Los microcontrolado y costo de los sistem es que este posee un r s ción a la complejidad cia con el anterior, Oria de datos, memoria de programas y las unidades de entrada/salida. Sin contar que es más económico, pequeño, fácil de manejar e ideal para aplicaciones de propósito específico. El programa se escribe en el lenguaje de programación ensamblador, se verifica que no haya errores y luego para ver el propósito de las instrucciones se crea un diseño en el simulador
Proteos de esta forma se incorpora el código en el diseño y se pone a ejecutar el diseño. III. Desarrollo
HEX el cual es el que se integra en el circuito en proteus. La diferencia con este rograma es que la salida la toma el pin 18 del pic. ; Ilst directive to define processor #include <p16F84a. inc> CONFIG cp OFF aa ; processor specific variable & _PWRTE_ON bianrio es 00010 cual pone a 1 el bit 2 (pin 18 ) mientras ; mantiene los otros pines en 0 movwf PORTA ;Ahora mueve los contenidos de W (02h ) al puerto A, ;cuya direccion es 05h movlw 00h ;Escribe OOh en el registro W.
Esto pone a 0 todos ;los pines. al ;Ahora mueve todos loc contenidos de W (Oh) ;puerto A. cuya direccion es 05h. 3. El tercer programa consiste en el mismo propósito de ncender y apagar un LED pero esta vez se utiliza un retardo, el cual ocasiona que con un tiempo en el que podamos ver como se enciende y apaga el led. El código ensamblador es el siguiente. anable definitions ; processor specific _ CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON CONTADORI equ OCh ;primer contador para nuestros bucles de retardo CONTADOR2 equ ODh ;segundo contador para nuestro siguiente bucle de retardo ;configuracion de puerto bsf STATUS,S mow. n. ‘f TRISA ;pones los pines del puerto A como salidas 3Lvf4 ;volvem el valor 02h (en binario 00010) lnicio del bucle 1 – el registro W, y luego al puerto A. buclel decfszCONTADOR1,1 ;Restamos 1 a 255 goto buclel ;Si CONTADOR es cero, continuamos. ecfszCONTADOR2,1 ;Restamos 1 a 255 ;Volvemos al inicio de nuestro bucle ;Este retardo cuenta hacia atras.. ,… desde 255 a O, 255 veces ;Termino el retardo ahora apagamos el LED movlw OOh ;Apagamos el LED poniendo el valor 00000 ;en el registro w y despues al puerto ;Ahadimos otro bLlCle2 decfSZCONTADOR1,1 ;Este segundo bucle mantiene el LED apagado goto bucle2 ;el tiempo suficiente decfszCONTADOR2,1 para que lo podamos ver ahora vamos al inicio del programa ;vuelve al inicio y enciende el LED de nuevo IV.
Conclusiones. ‘k En los tres programas se utilizo el mismo diseño de circuito, la única diferencia es que se programaron las salidas en diferentes puertos. * Se utilizó MpLab IDE para programar estos programas, se compilo cada programa y se crearon los archivos con extensión . HEX los cuales se integran al circuito simulado en proteus. * Estos programas nos swieron con una pequeña introducción a la programación en ensamblador y al manejo de los microcontroladores.