Sie sind auf Seite 1von 10

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

PRACTICA # 3
INTEGRANTES:
FLORES TONY MONTES VICTOR VALENCIA GEOVANNY VANEGAS GLORIA 210126 210064 200087 200039

TEMA: Implementacin de una aplicacin mediante el uso de display y el PIC 16F84 OBJETIVO GENERAL Elaborar un programa que permita controlar el funcionamiento de 4 display y mostrar un cronometro. OBJETIVOS ESPECFICOS Poner en prctica los conocimientos microcontroladores durante el semestre. adquiridos de programacin de

Comprobar el funcionamiento adecuado del circuito cargador el mismo que nos permite programar el PIC.

MARCO TERICO MANEJO DE INTERRUPCIONES Tipos de interrupcin


Las interrupciones son un mecanismo del microcontrolador que le permite responder a eventos asncronos en el momento que ocurren, independientemente de lo que el microcontrolador este realizando. Esta es una parte muy importante del circuito porque proporciona una conexin entre un microcontrolador y el ambiente que lo rodea. Generalmente, cada interrupcin cambia el flujo del programa, lo interrumpe y despus de ejecutar una rutina de atencin contina en el mismo punto del programa.

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

Modos de operacin
La lgica de interrupciones del PIC16F84 tiene un registro de control llamado INTCON que se encuentra en la localidad de memoria RAM 0Bh. La funcin principal de este registro es habilitar o deshabilitar las interrupciones e indicar las solicitudes de interrupcin recibidas por medio de cada uno de sus bits.

Configuracin de interrupciones El registro INTCON

Bit 0-RBIF (RB Port Change Interrupt Flag Bit-Bit de la bandera de la interrupcin de un cambio en el puerto B): Este bit informa si ha ocurrido un cambio en alguna de las lneas 4, 5, 6 y 7 del puerto B.

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

1 = al menos una lnea ha cambiado su estado. 0 = no ha ocurrido cambio en alguna de las lneas. Bit 1-INTF (INT External Interrupt Flag Bit-Bit de la bandera de la interrupcin externa INT): 1 = ocurri una interrupcin de este tipo. 0 = no ocurri una interrupcin de este tipo. Si un flanco de subida o bajada configurado se detect en la lnea RB0/INT, (el cual es seleccionado con el bit INTEDG del registro OPTION), se activa el bit INTF. Este bit debe limpiarse en la rutina de atencin para detectar la siguiente interrupcin. Bit 2-TOIF (TMR0 Overflow Interrupt Flag Bit-Bit de la bandera de la interrupcin de sobreflujo del TMR0) 1 = el contador cambio su cuenta de FFh a 00h. 0 = no ocurri sobreflujo. Este bit debe limpiarse en el programa para que pueda detectarse una siguiente interrupcin de este tipo. Bit 3-RBIE (RB Port Change Interrupt Enable Bit-Bit de habilitacin de la interrupcin de un cambio en el puerto B): Habilita la interrupcin de cambio de estado de las lneas 4, 5, 6 y 7 del puerto B. 1 = habilita que la interrupcin ocurra con un cambio de estado. 0 = las interrupciones se deshabilitan cuando ocurra un cambio de estado. Si RBIE y RBIF se habilitan simultneamente, puede ocurrir una interrupcin de este tipo. Bit 4-INTE (INT External Interrupt Enable Bit-Bit de habilitacin de la interrupcin externa INT): Este bit habilita la interrupcin externa de la lnea RB0/INT. 1 = interrupcin externa habilitada. 0 = interrupcin externa deshabilitada. Bit 5-TOIE (TMR0 Overflow Interrupt Enable Bit-Bit de habilitacin de la interrupcin de sobreflujo del temporizador TMR0): Este bit habilita la interrupcin cuando ocurra un sobreflujo en el contador del temporizador TMR0. 1 = interrupcin habilitada. 0 = interrupcin deshabilitada. Si TOIE y TOIF se habilitan simultneamente, puede ocurrir una interrupcin de este tipo.

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

Bit 6-EEIE (EEPROM Write Complete Interrupt Enable Bit-Bit de habilitacin de la interrupcin al completarse una escritura en la EEPROM): Este bit habilita la interrupcin que ocurre al terminar una rutina de escritura a la EEPROM. 1 = interrupcin habilitada. 0 = interrupcin deshabilitada. Si EEIE y EEIF (que se encuentra en el registro EECON1) se habilitan simultneamente, puede ocurrir una interrupcin de este tipo. Bit 7-GIE (Global Interrupt Enable Bit-Bit de habilitacin interrupciones): Este bit habilita o deshabilita todas las interrupciones. 1 = se habilitan todas las interrupciones. 0 = se deshabilitan todas las interrupciones. As pues, el PIC16F84 tiene cuatro fuentes de interrupcin: 1. Al terminar una escritura de datos a la EEPROM. 2. La interrupcin causada por el sobreflujo de TMR0. 3. La interrupcin al cambiar de estado cualquiera de las lneas RB4, RB5, RB6 y RB7 del puerto B. 4. La interrupcin externa proveniente de la lnea RB0/INT del microcontrolador. Generalmente hablando, cada interrupcin tiene asociados dos bits. Uno habilita la interrupcin y el otro indica cundo la interrupcin ha ocurrido. Existe un bit comn llamado GIE el cual puede usarse para habilitar o deshabilitar todas las interrupciones simultneamente. Este bit es muy til al escribir un programa para deshabilitar todas las interrupciones por un periodo de tiempo tal que no pueda ser interrumpida alguna parte importante o crtica del programa. Interrupcin de sobreflujo del contador de TMR0 Un sobreflujo del contador de TMR0 (cuando la cuenta pasa de FFh a 00h) activar el bit TOIF (INTCON<2>). Una de las aplicaciones de esta interrupcin es para medir tiempo. Si se conoce cuanto tiempo necesita el contador para completar un ciclo de 00h a FFh, entonces el nmero de interrupciones multiplicado por esa cantidad de tiempo dar como resultado el tiempo total transcurrido. En la rutina de atencin de la interrupcin alguna variable podr ser incrementada en la memoria RAM, el valor de esa variable multiplicado por la cantidad de tiempo que el contador necesita para contar un ciclo completo dar como resultado el tiempo transcurrido. La interrupcin puede apagarse o encenderse limpiando o activando el bit TOIE (INTCON<5>). global de

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

Diagrama Esquemtico

Programa Principal
LIST P=16F84 #INCLUDE <P16F84.INC> RADIX HEX PORTA EQU 0X05 PORTB EQU 0X06 CONTADOR EQU 0X0F BANDERA EQU 0X1F BANDERA2 EQU 0X2F BANDERA3 EQU 0X3F AUXILIAR EQU 0X0D AUX1 EQU 0X2D AUX2 EQU 0X1E MILI1 EQU 0X2E MILI2 EQU 0X3E SEG1 EQU 0X1C SEG2 EQU 0X0C SEG3 EQU 0X2C SEG4 EQU 0X3C CONT EQU 0X1D ORG.0 INICIO BSF MOVLW MOVWF MOVLW MOVWF BCF GOTO STATUS,5 0x20 TRISA 0x80 TRISB STATUS,5 PRINCIPAL

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

RESETEO BTFSC PORTA,4 GOTO PRINCIPAL CLRF PORTB RETURN VERIF BSF PORTB,0 ;d1 activar BCF PORTA,1 ;d2 desact BSF PORTB,2 ;d1 activar BCF PORTA,3 ;d2 desact MOVF BANDERA,0 CALL DISPLAY MOVWF PORTB BSF PORTA,1 ;d1 activar BCF PORTA,0 ;d2 desact BSF PORTB,2 ;d1 activar BCF PORTA,3 ;d2 desact MOVF BANDERA2,0 CALL DISPLAY MOVWF PORTB BTFSC PORTA,4 GOTO VERIF RETURN RETARDO CLRF AUX1 MOVLW 0X14 MOVWF AUX1 SALTO DECFSZ AUX1,1 GOTO SALTO RETURN RETARDO1 MOVLW 0X0A MOVWF CONT SALTO1 DECFSZ CONT,1 GOTO SALTO1 RETURN DISPLAY ADDWF RETLW 0x3F RETLW 0x06 RETLW 0x5B RETLW 0x4F RETLW 0x66 RETLW 0x6D PCL,1

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

RETLW 0x7D RETLW 0x07 RETLW 0x7F RETLW 0x6F RETLW 0X3F RETURN DECODIF MOVLW 0X0A MOVWF AUXILIAR MOVF CONTADOR,0 MOVWF BANDERA2 MOVF CONTADOR,0 INCF CONTADOR,1 CALL DISPLAY MOVWF PORTB RETURN DECODIF1 MOVLW 0X0A MOVWF MILI1 MOVF MILI2,0 INCF MILI2,1 CALL DISPLAY MOVWF PORTB RETURN

PRINCIPAL MOVLW 0x06 MOVWF SEG1 MOVLW 0x00 MOVWF SEG2 SEGUNDOS ;DECENAS MOVLW 0X0A MOVWF AUXILIAR CLRF CONTADOR MOVF SEG1,0 SUBWF SEG2,0 BTFSC STATUS,2 GOTO PRINCIPAL CLRF PORTB CALL RESETEO MOVF SEG2,0 MOVWF BANDERA INCF SEG2,1 MICRO_SEG ;UNIDADES SEGUNDOS MOVF AUXILIAR,0 SUBWF CONTADOR,0 BTFSC STATUS,2 GOTO SEGUNDOS

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

CALL CALL CALL CLRF

;SEGUNDOS RESETEO DECODIF VERIF SEG4 MILISEG

;NANOSEGUNDOS

MOVLW 0x0A MOVWF SEG3 NANO_SEGUNDOS ;DECENAS CLRF MILI2 MOVLW 0X0A MOVWF MILI1 CLRF MILI2 MOVF SEG3,0 SUBWF SEG4,0 BTFSC STATUS,2 GOTO MICRO_SEG CLRF PORTB CALL RESETEO MOVLW 0X0A MOVWF SEG3 MOVF SEG4,0 MOVWF BANDERA3 INCF SEG4,1 MILI_SEG ;MILI SEGUNDOS MOVF MILI1,0 SUBWF MILI2,0 BTFSC STATUS,2 GOTO NANO_SEGUNDOS BSF PORTA,0 ;d1 activar BCF PORTA,1 ;d2 desact BCF PORTA,2 ;d1 desactivar BCF PORTA,3 ;d2 desact MOVF BANDERA,0 CALL DISPLAY MOVWF PORTB CALL RETARDO1 BCF PORTA,0 ;d1 desactivar BSF PORTA,1 ;d2 activo BCF PORTA,2 ;d1 desactivar BCF PORTA,3 ;d2 desact MOVF BANDERA2,0 CALL DISPLAY MOVWF PORTB CALL RETARDO1 BCF PORTA,0 BCF PORTA,1 BSF PORTA,2 BCF PORTA,3 ;d1 desactivar ;d2 desact ;d1 activar ;d2 desact

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

MOVF BANDERA3,0 CALL DISPLAY MOVWF PORTB MOVLW 0x14 MOVWF AUX1 CALL RETARDO ;MILI_SEGUNDOS BCF PORTA,0 ;d1 desactivar BCF PORTA,1 ;d2 desactivar BCF PORTA,2 ;d1 desactivar BSF PORTA,3 ;d2 activar ;CLRF PORTB CALL DECODIF1 CALL RETARDO GOTO MILI_SEG GOTO MICRO_SEG END

Materiales Utilizados
1 1 4 4 4 7 1 1 1 2 4 protoboard PIC 16F84 display ctodo comn resistencias de 100 resistencias de 1 K resistencias de 680 cristal de cuarzo de 4MHz condensador electroltico de 100f condensador cermico de 0.1 f condensadores cermicos de 22 f transistores NPN 3904

CONCLUSIONES
El oscilador de cristal contribuye a la estabilidad del circuito por sus caractersticas de funcionamiento a pesar de que se tubo que colocar condensadores para el circuito sea ms estable. Nos hemos dado cuenta de que el programa cumple con la funcin requerida pero al momento de cargarlo en el PIC no podemos apreciar el correcto funcionamiento de los display debido a que no se obtenan voltajes a la salida del PIC. Para cargar el programa en el PIC utilizamos el software WinPic800 y realizamos un cargador mediante el puerto paralelo (Propic2). Al momento de implementar el circuito programador no obtuvimos los resultados esperados ya que a pesar de que el PIC es detectado y segn el software esta

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO ELECTRONICA APLICADA

programado al momento de implementar el circuito no se obtienen los voltajes esperados para que se pueda visualizar el cronmetro

RECOMENDACIONES
Tener cuidado al momento de conectar el display en cuanto si es nodo comn o ctodo comn pues puede causar que se queme el elemento. La alimentacin y conexiones del PIC se deben realizar de manera adecuada, para evitar daos irreversibles. Se recomienda la utilizacin de un valor adecuado del tiempo de intercambio entre la habilitacin de puertos, esto contribuir a la correcta visualizacin de los valores.

BIBLIOGRAFA
www.todopic.Com .ar www.todopic.Com.ar www.microchip.com www.arrakis.es.com MICROCONTROLADORES PIC Jos M. Angulo Us c ategui

Das könnte Ihnen auch gefallen