El microcontrolador PIC16F877A es un dispositivo programable que se compone de una computadora digital, una unidad de memoria de datos, una unidad de memoria de programa y puertos de entrada/salida en un circuito integrado, funciona como un controlador de periféricos en un sistema mínimo. El microcontrolador depende de una alimentación de al menos 5V y 0V en sus entradas de Vdd y Vss respectivamente para su operación, requiere de una señal de reloj que le indique la frecuencia de trabajo, está señal la introducimos a través de un oscilador de cristal de cuarzo, y una alimentación al pin MCLR, que es un pin de reset que activa al microcontrolador. El funcionamiento del microcontrolador está determinado por un programa almacenado en su memoria Flash ROM y puede programarse más de una vez para cambiar su estado y su comportamiento, lo que lo convierte al microcontrolador en una pieza esencial en el rápido desarrollo de aplicaciones electrónicas.
¿Qué 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.
Descripción del PIC16F877A
Este potente microcontrolador CMOS de 8 bits basado en FLASH pero fácil de programar empaqueta la potente arquitectura PIC de Microchip en un paquete de 40 y es compatible con los dispositivos PIC16C5X, PIC12CXXX y PIC16C7X. El PIC16F877A cuenta con 256 bytes de memoria de datos EEPROM, Auto programación, ICD, 2 comparadores, 8 canales de convertidor analógico a digital (A/D) de 10 bits, 2 funciones de captura/comparación/PWM, el puerto serie síncrono se puede configurar como interfaz periférica serial de 3 hilos (SPI) o bus de circuito integrado de 2 hilos (I2C) y transmisor de receptor asincrónico universal (USART).
Características del PIC16F877A
- 100.000 ciclos de borrado/escritura Enhanced Flash memoria del programa típica
- 1.000.000 de borrado/ciclo de escritura Datos EEPROM memoria típica
- Retención EEPROM de datos > 40 años
- Auto-reprogramable bajo control de software
- Programación serie en circuito(ICSP) a través de dos pines
- Programación serie de 5V in-circuit de un solo suministro
- Temporizador watchdog (WDT) con su propio RC en chip oscilador para un funcionamiento fiable
- Protección programable del código
- Ahorro de energía Modo de suspensión
- Opciones de oscilador seleccionables
- Depuración en circuito (ICD) a través de dos pines
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 | 16F877A | ||
Voltaje de alimentación | 5 V | ||
Memoria de programa | 8 KB | ||
Memoria SRAM | 368 Bytes | ||
Memoria EEPROM | 256 Bytes | ||
Número de pines E/S | 33 | ||
Salidas PWM | 2 | ||
Comunicación | SPI | SI | |
I2C | SI | ||
USART | SI | ||
Temporizadores de 8 bits | 2 | ||
Temporizadores de 16 bits | 1 | ||
Número de pines | 40 | ||
oscilador | Frecuencia máxima | 20 MHz |
Característica | |
---|---|
Largo | 0 cm |
Ancho | 0 cm |
Alto | 0 cm |
Peso | 0 gr |
-
attach_file
2.53 MB datasheet PIC16F877A (2020-06-02 14-45-17).pdfcloud_download