Está en la página 1de 19

UTILIDADES PRINCIPALES DEL PIC

TABLAS INTERRUPCIONES CONTROL DE POTENCIA PWM (ANCHO DE PULSO)


Ing. Paul Glvez 2010

P.G.F.

Tablas de look-up La tabla de look up forma una especie de arreglo o columna de datos, los cuales se apilan uno sobre otro para poder ser accesados en orden correlativo, uno a uno, o simplemente rescatar un dato en alguna posicin especfica. La figura de la derecha muestra la idea de una tabla de look up, donde se han almacenado n datos en N posiciones, a partir de la posicin cero. Para el acceso a estas tablas, en los microcontroladores se realiza una subrutina donde se ocupa el PCL (puntero de programa) y la instruccin RETLW. El PCL o program counter (contador de programa) es el registro reservado del PIC que almacena la direccin de memoria de la prxima instruccin que se ejecutar y la instruccin RETLW k retorna de la subrutina con el valor k (dato obtenido desde la tabla) en el registro W.
P.G.F.

Tabla

addwf retlw retlw retlw retlw retlw retlw retlw retlw

PCL,F aM aI' aS' a4' a2' a0 a1 hFF

; Calcula desplazamiento sobre la ; tabla ; Obtiene el ASCII M ; Obtiene el ASCII I ; Obtiene el ASCII S ; Obtiene el ASCII 4 ; Obtiene el ASCII 2 ; Obtiene el ASCII 0 ; Obtiene el ASCII 1 ; Dato para fin de carro

Al acceder a la subrutina de la tabla, se utiliza un registro que contenga la posicin del dato a obtener desde la tabla, cuando es una secuencia se utiliza un contador que se incremente, si es un valor especfico, por ejemplo la letra S de la tabla anterior, el registro contador se debe cargar con el valor numrico 2, si se desea obtener el carcter 0 de la palabra MIS4201, el contador se carga con el nmero 5.

P.G.F.

Es decir el primer carcter de la tabla toma la posicin 0 y luego se van incrementando los valores hacia abajo.
Ahora el ltimo carcter de la tabla (FFh) es para indicar el final de sta a modo de un fin de pgina, slo en el caso de estar trabajando con una secuencia de datos. Por lo tanto la rutina que llama a la tabla se repetir hasta que el dato obtenido en la tabla sea igual al hexadecimal FF.

La primera instruccin de la tabla addwf PCL,F tiene como objetivo sumar al PCL, el cual est apuntando a la siguiente instruccin a ejecutar, por lo tanto si se le suma un cero, sigue apuntando al primer carcter, pero si se le suma un uno apuntar al segundo carcter y as sucesivamente.

P.G.F.

Para ejemplificar la forma de codificar estas rutinas se realizar un programa que encienda los leds del puerto D en forma consecutiva hasta que queden todos encendidos. Para efectos del ejemplo, se omitir el retardo de encendido de los leds, ya que lo que se demuestra es el manejo de tablas. La figura siguiente muestra lo que se pretende realizar, utilizando tablas de look up

Puede ser Representado Por un Puerto

P.G.F.

INTERRUPCIONES
Una de las caractersticas ms importantes de los microcontroladores es que tienen la posibilidad de manejar interrupciones, esto se trata de un acontecimiento que hace que el micro deje de lado lo que se encuentra realizando, atienda ese suceso, luego regrese y contine con lo suyo

En los PIC16F87X hay dos grandes tipos de interrupciones posibles, una mediante una accin externa (es decir por la activacin de uno de sus pines) y otra interna (por ejemplo cuando ocurre el desbordamiento de uno de sus registros, la activacin o desactivacin de un perifrico como el conversor A/D, el USART, etc.)

P.G.F.

Registros Asociados
INTCON: REGISTRO PARA EL CONTROL DE INTERRUPCIONES. Es el encargado del manejo de las interrupciones y contiene los bits que se muestran a continuacin. REGISTRO INTCON

GIE PEIE Bit 7 bit 6

TOIE bit 5

INTE RBIE bit 4 bit 3

TOIF bit 2

INTF RBIF bit 1 bit 0

Esta familia de microcontroladores dispone de 14 fuentes de interrupcin para microcontroladores de 28 pines y 15 par los de 40 pines, de las cuales algunas de ellas se habilitan por medio del registro de control INTCON, otras, sin embargo, como la del convertidor A/D se encuentra en el registro PIE1, en este mismo registro est el bit del TIMER1 (TMRIE ,PIE1<0>) y todos las dems interrupciones debidas a los perifricos y recursos especiales propios de esta familia .

P.G.F.

DESCRIPCION DE SUS BITS


- GIE: Global Interrup Enable o Habilitador general de interrupciones. 0: Deshabilita todas las interrupciones 1: Habilita las interrupciones - PEIE: Peripheral Interrupt Enable bit, Habilitacin de interrupciones no controladas por este registro. 0: La deshabilita 1: La habilita - T0IE: TMR0 Interrup Enable o Habilitacin de interrupcin del temporizador TMR0. 0: La deshabilita 1: La habilita - INTE: INT Interrup Enable o Habilitacin de la interrupcin RB0/INT. 0: La deshabilita 1: La habilita

- RBIE: RBIF Interrup Enable o Habilitacin de la interrupcin por cambio en RB4-RB7. 0: La deshabilita 1: La habilita
- TOIF: TMR0 Overflow Interrup Flag o Bandera de la interrupcin por desbordamiento del TMR0. Se coloca en 1 cuando el TMR0 pasa de 0FFh a 00h; sta debe ser puesta a 0 por programa. - INTF: INT Interrup Flag o Bandera de interrupcin INT. Se coloca en 1 cuando la interrupcin INT ocurre; sta debe ser puesta 0 por programa. - RBIF: RB Port Change Interrup Flag o Bandera de interrupcin por cambio en el puerto B. Se coloca en 1 cuando una de las entradas (RB4 a RB7) cambia; sta debe ser puesta a 0 por programa

P.G.F.

La operacin del programa la podemos describir mediante el siguiente diagrama de flujo, donde en verde (INT) se muestra la rutina que atiende la interrupcin (ISR):

P.G.F.

Resumen de Registros: Diagrama de interrupciones lgicas de los microcontroladores de la familia PIC16F87X. Se muestran los bits que indican la interrupcin que se ha activado y en el registro en que se encuentra
Interrupcin Descripcin Registro Interrupcin Descripcin Registro

TOIF

Desbordamiento del TMR0

INTCON

TXIF

Transmisin USAR

PIR1

INTF RBIF

Externa Por cambios en el PortB

INTCON INTCON

SSPIF CCP1IF

Puerto Serie Sncrono Capturador/Comparador 1

PIR1 PIR1

PSPIF

Lectura/Escritura puerto paralelo

PIR1

TMR2IF

Temporizador TMR2

PIR1

ADIF RCIF

Convertidor A/D Recepcin USAR

PIR1 PIR1

TMR1IF CCP2IF

Temporizador TMR1 Capturador/Comparador 2

PIR1 PIR2

P.G.F.

Manejo de equipos de potencia

Etapas de potencia
Para trabajar con dispositivos que utilicen bobinas como relays, motores, electro vlvulas, etc, es necesario usar una etapa de potencia y de proteccin contra los rebotes producidos por las espiras, de esta forma se evita quemar la etapa de control.

Etapa de potencia con circuito integrado:

El ULN2803, es un circuito integrado que consta de un arreglo de transistores Darlington de 8 canales con salidas capaces de manejar una corriente mxima de 500 m.a. y ser conectado a una carga alimentada con hasta 50 V.

P.G.F.

El transistor Drlintong funciona como un relay de estado slido, normalmente cerrado, el cual deja conducir la corriente entre el pin de salida (OUT) y tierra (GND) cuando se alimenta con un nivel alto la entrada IN. Por lo tanto para poder manejar un dispositivo como un motor de CC, por ejemplo, el ULN2803 debe conectarse en serie entre la salida del dispositivo y tierra.

El pin 10 (Common) permite el acceso a los diodos incluidos en el chip, cuya misin es proteger los transistores del mismo frente a picos de sobre tensin generados por cargas de tipo inductivo, como motores o bobinas. Por lo tanto el dispositivo no requiere de alimentacin y puede conectarse a este pin la misma fuente de 5 V usada para alimentar el PIC para proteger los transistores.
P.G.F.

Conexin Darlington

El transistor Drlintong funciona como un relay de estado slido, normalmente cerrado, el cual deja conducir la corriente entre el pin de salida (OUT) y tierra (GND) cuando se alimenta con un nivel alto la entrada IN. Por lo tanto para poder manejar un dispositivo como un motor de CC, por ejemplo, el ULN2803 debe conectarse en serie entre la salida del dispositivo y tierra.

P.G.F.

Por lo tanto para trabajar con este componente, la programacin no tiene nada distinto, es decir que no hay complicaciones por la complejidad del firmware, sino que, los cuidados se encuentran en el hardware de la aplicacin. Etapa de potencia discreta: Otra forma de trabajar etapas de potencia es utilizando circuitos discretos con transistores o mosfet, como: Hay mil maneras de conectar un transistor, cada uno de ellos con distintos encapsulados, hay miles de tipos de transistores con millones de parmetros que hay que tener en cuenta segn el destino que se le d y las funciones que solicitemos de l. La idea de utilizar estos componentes es amplificar la corriente suministrada por el PIC de tal forma que el transistor haga el esfuerzo y no el microcontrolador, para esto se polariza la base del transistor, el cual deja pasar corriente entre el colector y el emisor, la cual depende de las caractersticas de ste.
P.G.F.

Manejo de PWM con PIC16F87X

Los microcontroladores de la familia 16F87X disponen de dos mdulos de Captura/Comparacin y PWM, cada modulo tiene un registro de 16 bits que pueden trabajar como: Registro de captura de 16 bit Registro de comparacin de 16 bits Modulacin de anchura de pulsos PWM

Los mdulos CCP1 y CCP2 son idnticos en su modo de funcionamiento, con la excepcin del modo de disparo especial.

P.G.F.

Mdulo CCP1: El registro de Captura / Comparacin / PWM (CCPR1) de 16 bits esta formado por dos registros de 8 bits: CCPR1L (byte, bajo) que ocupa la direccin 15h y el CCPR1H (byte alto) que ocupa la posicin 16h. El registro de control del CCP1 es el CCP1CON que ocupa la direccin 17h. El modo de disparo especial se genera por la igualdad en la comparacin de CCPR1 con TMR1 y restablecer el TIMER1 y el CCPR1, funciona como un registro de perodo, capaz de provocar peridicamente interrupciones. Mdulo CCP2: El registro de Captura / Comparacin / PWM (CCPR2) de 16 bits est formado por dos registros de 8 bits: CCPR2L (byte bajo) que ocupa la direccin lBh y CCPR2H (byte alto) que ocupa la direccin 1Ch. El registro de control del CCP2 es el CCP2CON que se encuentra en la direccin lDh. El modo de disparo especial se genera por igualdad en la comparacin con el TIMER1 lo que provoca que se restablezca el TIMER1 y comience una conversin A/D, si el convertidor A/D est habilitado. Con lo cual puede realizar la conversiones A/D de forma peridica sin en control del programa de instrucciones.
P.G.F.

Modo CCP
Captura Comparacin PWM

Recurso de Timer
Timer1 Timer1 Timer2

INTERACCIN DE LOS DOS MDULOS CCP


Modo CCPx
Captura Captura

Modo CCPy
Captura Comparacin

Interacin
La misma base de tiempos de TMR1 El comparador debe configurarse para el modo de disparo especial que pone a cero el TMR1

Comparacin

Comparacin

El Comparador(es) debe configurarse para el modo de disparo especial que pone a cero el TMR1
El PWM tendr la misma frecuencia y proporcin de actuacin (interrupcin de TMR2) Ninguna Ninguna

PWM PWM PWM

PWM Captura Comparacin

P.G.F.

Registro CCP1CON (direccin 17h)/Registro CCP2CON (direccin 1Dh)

U-0 ---

U-0

R/W-0 CCPxX

R/W-0 CCPxY

R/W-0 CCPxM3

R/W-0 CCPxM2

R/W-0 CCPxM1

R/W-0 CCPxM0

Bit 7

Bit 0

P.G.F.

ESTIMADOS EL SIGUIENTE CONOCIMIENTO QUE VIENE ES, EN BASE A LO ENTREGADO ACA;


CONTROL DE VELOCIDAD DE UN MOTOR..

POSTERIORMENTE LOS PERIFERICOS DE ENTRADA Y SALIDA QUE UTILISAREMOS SON UN POCO MAS ATRACTICOS QUE LOS SIMPLE DIP SW Y LEDS.
ESTOS SON TECLADOS MATRICIALES Y DISPLAY LCD.

P.G.F.