Practica de PIC 16F84 Los PIC son circuitos que pueden controlar dispositivos y diferentes sistemas, son como los PLC (controles lógico programable), además debo decir que es un circuito que tiene todas las características de una computadora. Puedes con foco, hasta un tanque industrial o un motor de una banda transportadora. Es una computadora completa aunque de limitadas prestaciones, que esta contenido en un chip de un circuito integrado y se destina a gobernar una sola tarea. Un microprocesador es un sistema abierto con el que puede construirse un sistemas con las características que desee, acoplándole los módulos necesarios. Un microcontrolador es un sistema cerrado que tiene una computadora completa y de prestaciones limitadas. El microcontrolador tiene un chip dentro de el que es el banco me memoria, tiene memoria RAM y ROM, tiene puertos de entrada y salida, tiene una parte central de procesamiento y su circuito de reloj, además de otras características. Debo mencionar que el microcontrolador maneja instrucciones tipo RISC, es decir que son muy rápidos pero con pocas instrucciones en sus librerías. Algunas de las cuales se mencionan aquí. INTRUCCION PARAMETROS ACCION FLAGS Intrucciones con los registros addwf f, d Suma de W con f andwf f, d AND de W con f Z clrf f Borra registro f Z clrw Borra registro W Z comf f, d Complemento de f Z decf f, d Decremento de f Z incf f, d Incrementa registro f Z iorwf f, d OR de W con f Z movf f, d Traslado de f Z movwf f Traslado de W a f rlf f, d Rotacion a izquierda con carry C rrf f, d Rotacion a derecha con carri C C, DC, Z
subwf f, d Resta W de f C,DC,C swapf f, d Intercambio de los 4 bits de mas peso con los 4 de menos peso xorwf f, d OR exclusivo de W y f Z Instucciones que manejan bits bcf f, b Pone a 0 el bit b del registro f bsf f, b Pone a 1 el bit b del registro f Instrucciones de operandos inmediatos addlw k Su ma el literal a W C,DC,Z andlw k AND del literal con W Z iorlw k OR de literal con W Z movlw k Mueve el literal k a W sublw k Resta W del literal k C,DC,Z xorlw k OR exclusivo del literal con W Z Instrucciones de salto btfsc f, b Testea bit b de f, salta si es 0 btfss f, b Testea bit b de f, salti si es 1 decfsz f, d Decremento de f, salta si es 0 incfsz f, d Incrremento de f, salta si es 1 Instrucciones de control y especiales call k Llama a una subrrutina clrwdt Borra el Watchdoc goto k Salta a una direccion (etiqueta) TO#, PD# nop No hace nada retfie Retorno de interrupcion retlw k Retorna y devuelve literal k en w return Retorno de subrrutina sleep Puesta en estado de reposo TO#, PD# Un programa que resida en el PIC, se necesita hacer en un compilador, en este caso, como el que manejamos el PIC 16f84, de la familia de microchip, maneja su compilador MPLAB, además de haber otros compiladores.
Para grabar un programa en el PIC, debemos de tener el programa que tenga extensión HEX, y este se hace cuando uno compila el programa que hace uno en el MPLAB, y este mismo lo genera. Este programa tenemos que introducirlo en el PIC, por lo que hay varias maneras de hacerlo. Una de las cuales es el tener un grabador tipo industrial, otra es hacer uno un grabador, ya sea serial o paralelo. A continuación el diagrama de conexión serial. para aprer a programar es necesario practicar, es la única manera de hacerlo.
Ahora empezaremos con los programas. Programa 3 del libro de microcontroladores. ;programa que introduce un dato por el puerto a y es complementado y sacado por puerto b w equ 0 porta equ 0x05 trisa equ 0x05 inicio bsf status,5 movlw 0xff movfw trisa movf porta,w ciclo comf porta,w movwf portb goto ciclo programa 4 del libro de microcontroladores ;programa que realiza un salto condicional, si la condicion es verdadera se realiza ;un salto de una linea, de otra manera continua la ejecucion normal del programa w equ 0x00 f equ 0x01 conta equ 0x0c inicio bsf status,5
bucle clrf conta incf conta,f movf conta,w movwf portb movlw 0x5f subwf conta,w btfss status,2 goto bucle sleep programa 5 del libro de microcontroladores ;programa que hace un timer y pulsa un led en el puerto b ;option equ 0x01 tmr0_opt equ 0x01 inicio bsf status,5 movlw b'11010110' movwf tmr0_opt clrf portb parpa bsf portb,7 call retardo bcf portb,7 call retardo goto parpa retardo clrf tmr0_opt explora btfss tmr0_opt,4 goto explora return
Programa 6 del libro de microcontroladores ;programa que maneja interrupciones, lee datos de un puerto y los transmite al otro puerto w equ 0 f equ 1 tmr_opt equ 0x01 porta equ 0x05 trisa equ 0x05 intcon equ 0x0b conta equ 0x10 org 4 goto inter inicio bsf status,5 movlw b'00000011' movwf trisa movlw b'00000111' movwf tmr_opt movlw b'10100000' movwf intcon movlw 0x10 movwf conta movlw 0x0c movwf tmr_opt ciclo btfsc porta,0 goto ra0_1 bcf portb,0 goto ralx ra0_1 bsf portb,0 ralx btfsc porta,1 goto ral_1 bcf portb,1 goto ciclo2 ral_1 bsf portb,1 ciclo2 goto ciclo inter decfsz conta,1 goto seguir conta_0 movlw 0x10 movwf conta btfsc portb,7 goto rb7_1 bsf portb,7
goto seguir rb7_1 bcf portb,7 seguir movlw b'10100000' movwf intcon movlw 0x0c movwf tmr_opt retfie programa 7 del libro de microcontroladores ;programa que maneja un display de 7 segmentos por el puerto B w equ 0 f equ 1 pcl equ 0x02 porta equ 0x05 trisa equ 0x05 valor equ 0x12 inicio bsf status,5 movlw b'11111111' movwf trisa explora movf porta,w movwf valor comf valor,f clrw btfss valor,0 goto bit_1 addlw 0x01 bit_1 btfss valor,1 goto bit_2 addlw 0x02 bit_2 btfss valor,2 goto visual addlw 0x04 visual movwf portb sleep call display display addwf pcl,f retlw 0x3f retlw 0x06 retlw 0x5b
retlw 0x4f retlw 0x66 retlw 0x6d retlw 0x7d retlw 0x07 Estos son algunas aplicaciones que se pueden hacer con los programas. A continuación la forma básica de usar un PIC.