top of page

Para el sistema de control se ha utilizado el microcontrolador 16F628A, del fabricante MICROCHIP

Es un PIC con 18 pines, basado en la família PIC16CXX, muy versátil, de bajo coste y con tecnología CMOS.

Como se puede ver el micro consta de 2 Puertos, el Puerto A y el Puerto B, cada puerto contiene 8 pines que van desde RA0 a RA7 y RB0 a RB7. La alimentación de estos Circuitos Integrados es de 3.3 voltios a 5 voltios.
    
Cada pin tiene asociado una característica particular, estas característica son las funciones que pueden o no ser utilizadas por nosotros, es decir, podemos trabajar con salidas netamente Digitales (0 y 1) o bien utilizar la función con la que viene alojada en el micro con solo habilitarlo por Software.

El PUERTO A es un puerto de entrada de 8 bits. Todos los pines, excepto RA5, pueden ser configurados como entrada o salida con la respectiva configuración del registro TRIS A. El pin RA4 esta multiplexado con la entrada de reloj T0CKI y como salida se comporta como colecto abierto, por lo tanto debemos poner una resistencia Pull-up a Vdd. El pin RA5 es un disparador Schmitt solo de entrada y no cuenta con controladores de salida, según la configuración puede ser usado como Mclr (Reset externo), y además sirve también para entrar en el modo de programación cuando se aplica una tensión igual a Vpp (13,4V mínimo).

Los demás pines del puerto trabajan de entrada como disparador de Schmitt Trigger y como salida lógica CMOS. Los pines RA0-RA3 sirven de entrada para el comparador analógico. Si se utiliza en puerto A como I/O Digital, se debe deshabilitar los Comparadores Analógicos, cargando un 0x07 en CMCON. El PORTB es un puerto bidireccional de 8 bits, del cual por software se pueden habilitar resistencias de pull-up internas. El PORTB es multiplexado con interrupciones externas, tales como detección de flanco por RB0, cambio de nivel por RB4 a RB7, USART, el módulo CCP y el reloj de entrada/salida TMR1.

 

 

 

Características principales

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Estructura interna del Microcontrolador

 

 

 

En la arquitectura del PIC, existen dos arquitecturas, la clásica de Von Neumann y la arquitectura Harvard, esta última es la que usan los PIC’s. Dispone de dos memorias independientes, una que contiene solo instrucciones y la otra solo contiene datos. Ambas disponen de sus respectivos buses de acceso y es posible realizar operaciones de acceso simultáneamente en ambas.

 

Organización de la memoria

 

 

 

El PIC16F628 posee un contador de programa de 13 bits, capaz de direccionar un espacio de memoria de 8Kx14. Sin embargo, únicamente los primeros 2Kx14, desde 0000h hasta 07FFh, están implementados. Los vectores de reset e interrupción están en las direcciones 0000h y 0004h, respectivamente. La pila (stack) es de 8 niveles, lo cual significa que puede soportar hasta 8 direcciones de retorno de subrutina.

Módulo CCP

El microcontroladores PIC16F628A disponen de un modulo de Captura/Comparación/PWM que en conjunto con los temporizadores, permite realizar en forma sencilla las tareas de medición de tiempo y frecuencia, y generación de señales digitales. El modulo CCP tiene 3 modos de funcionamiento:

Modo captura: Permite capturar el valor que tiene en registro TMR1 cuando ocurre un evento especial en la terminal RB3/CCP1.

Modo comparación: Permite comparar el valor de 16 bits del TMR1 con un valor previamente definido en los registros CCPRL1H y CCPR1L

Modo PWM: Permite generar señales digitales moduladas en ancho de pulso

 

 

 

 

Modo PWM (Modulación de Ancho de Pulso)

 

 

Con este modo de trabajo se consiguen impulsos lógicos cuya anchura del nivel alto es de duración variable, que son de enorme aplicación en el control de dispositivos tan populares como los motores y triacs. El pin RB3/CCP1 esta configurado como salida y cambia entre los niveles 0 y 1 a intervalos de tiempos variables, logrando un pulso cuyo nivel alto tiene un ancho variable dentro del intervalo del periodo de trabajo:

 

 

Memoria de programa: 1 KBytes
Memoria SRAM: 224 Bytes
Memoria EEPROM: 128 Bytes
Pines de E/S :16
Entradas analógicas (ADC): No
Salidas: PWM 2
SPI: No
I2C: No
USART: Si

Temporizadores de 8 Bits: 2
Temporizadores de 16 Bits: 1
Comparadores: 2
Frecuencia máxima: 20 MHz
Oscilador interno de 4 MHz.
Número de pines 18
Encapsulado PDIP, SOIC, SSOP, QFN

El PIC16F628 posee un espacio de memoria RAM de datos de 512x8, dividido en 4 bancos de 128 bytes cada uno. Sin embargo, sólo están implementados 330 bytes, correspondiendo 224 al área de los registros de propósito general (GPR) y 36 al área de los registros de función especial (SFR). Los restantes 70 bytes implementados son espejos de algunos SFR de uso frecuente, así como de los últimos 16 GPR del banco 0. Por ejemplo, las posiciones 0Bh, 8Bh, 10Bh y 18Bh corresponden al registro INTCON, de modo que una operación hecha en cualquiera de ellos, se refleja automáticamente en los otros. Se dice, entonces, que las posiciones 8Bh, 10Bh y 18Bh están mapeadas en la posición 0Bh.

Esta característica agiliza el acceso a estos registros, puesto que no siempre es necesario especificar el banco donde se encuentran. La selección del banco de ubicación de un SFR o un GPR particular se hace mediante los bits 6 (RP1) y 5 (RP0) del registro STATUS.

bottom of page