El pic16f628a es un microcontrolador de 8 bit, posee una arquitectura RISC avanzada así como un juego reducido de 35 instrucciones. Este microcontrolador es el remplazo del pic16f84a, los pines del pic16f628a son compatibles con el pic16f84a, así se podrían actualizar proyectos que hemos utilizado con el pic16f84a.
¿Que es un microcontrolador?
Un microcontrolador es como un ordenador en pequeño: dispone de una memoria donde se guardan los programas, una memoria para almacenar datos, dispone de puertos de entrada y salida, etc. A menudo se incluyen puertos seriales (RS-232), conversores analógico/digital, generadores de pulsos PWM para el control de motores, bus I2C, y muchas cosas más. Por supuesto, no tienen ni teclado ni monitor, aunque podemos ver el estado de teclas individuales o utilizar pantallas LCD o LED para mostrar información.
El PIC 16F628 incorpora tres características importantes que son:
- Procesador tipo RISC (Procesador con un Conjunto Reducido de Instrucciones)
- Procesador segmentado
- Arquitectura HARVARD
Con estos recursos el PIC es capaz de ejecutar instrucciones solamente en un ciclo de instrucción. Con la estructura segmentada se pueden realizar simultáneamente las dos fases en que se descompone cada instrucción, ejecución de la instrucción y búsqueda de la siguiente.
La separación de los dos tipos de memoria son los pilares de la arquitectura Harvard, esto permite acceder en forma simultánea e independiente a la memoria de datos y a la de instrucciones. El tener memorias separadas permite que cada una tenga el ancho y tamaño más adecuado. Así en el PIC 16F628 el ancho de los datos es de un byte, mientras que la de las instrucciones es de 14 bits.
Características del PIC16F628A
- Conjunto reducido de instrucciones (RISC). Sólamente 35 instrucciones que aprender a utilizar
- Oscilador interno de 4MHz
- Las instrucciones se ejecutan en un sólo ciclo de máquina excepto los saltos (goto y call), que requieren 2 ciclos. Aquí hay que especificar que un ciclo de máquina se lleva 4 ciclos de reloj, si se utiliza el reloj interno de 4MHz, los ciclos de máquina se realizarán con una frecuencia de 1MHz, es decir que cada instrucción se ejecutará en 1uS (microsegundo)
- Opera con una frecuencia de reloj de hasta 20 MHz (ciclo de máquina de 200 ns)
- Memoria de programa: 2048 locaciones de 14 bits
- Memoria de datos: Memoria RAM de 224 bytes (8 bits por registro)
- Memoria EEPROM: 128 bytes (8 bits por registro)
- Stack de 8 niveles
- 16 Terminales de I/O que soportan corrientes de hasta 25 mA
- 3 Temporizadores
- Módulos de comunicación serie, comparadores, PWM
Otra característica de los PICs es el manejo de los bancos de registros. En línea general, los registros se clasifican como de uso general (GPR) y de uso específico o de funciones especiales (SFR).
- Los registros de uso general pueden ser usados directamente por el usuario, sin existir restricciones. Pueden servir para almacenar resultados que se reciben desde el registro W (acumulador), datos que provienen de las puertas de entradas, etc.
- Los registros de uso específicos no pueden ser usados directamente por el usuario. Estos registros controlan prácticamente todo el funcionamiento del microcontrolador, pues toda la configuración necesaria para funcionamiento del microcontrolador es hecho a través de algún tipo de SFR.
Instrucciones para los Registros del PIC | |
ADDWF | Suma de W & F |
ANDWF | Función AND de W & F |
CLRF | Borrar un Registro |
CLRW | Borra el registro de trabajo W |
COMF | Complementa el Registro F |
DECF | Decrementa F en 1 |
DECFSZ | Decrementa en 1 y salta si el resultado 0 |
INCF | Incrementa el registro F |
INCFSZ | Incrementa en 1 y salta si el registro es 0 |
IORWF | Función OR de W & F |
MOVF | Mover el registro F |
RLF | Rota el registro F a la izquierda |
RRF | Rota el registro F a la derecha |
SUBWF | Resta F – W |
SWAPF | Intercambio de F |
XORWF | Función XOR de W & F |
NOP | No operación |
BCF | Borra un bit |
BSF | Activa un bit |
BTFSC | Verifica un bit y salta si es 0 |
BTFSS | Verifica un bit y salta si es 1 |
ANDLW | (W AND Literal) |
CALL | Llamada a subrutina |
CLRWTD | Borra el watchdog timer |
GOTO | Salto incondicional |
IORLW | (W OR Literal) |
MOVLW | Carga un Valor al Registro W |
RETURN | Regresa de una Subrutina |
RETLW | Regresa de una Subrutina y carga el valor K en W |
RETFIE | Regresa de la rutina de servicio |
SLEEP | Entra en estado de reposo |
XORLW | Realiza la función XOR entre W & K, el resultado se almacena en W |
SUBLW | Resta L - W |
MOVWF | Mover el valor del registro W al registro F |
PIC | 16F628A | ||
Voltaje de alimentación | 5 V | ||
Memoria de programa | 2 KB | ||
Memoria SRAM | 224 Bytes | ||
Memoria EEPROM | 128 Bytes | ||
Número de pines E/S | 16 | ||
Salidas PWM | 2 | ||
Comunicación | SPI | NO | |
I2C | NO | ||
USART | SI | ||
Temporizadores de 8 bits | 2 | ||
Temporizadores de 16 bits | 1 | ||
Número de pines | 18 | ||
osciladores | Frecuencia máxima | 20 MHz | |
Oscilador interno | 4 MHz |
Característica | |
---|---|
Largo | 0 cm |
Ancho | 0 cm |
Alto | 0 cm |
Peso | 0 gr |