For faster navigation, this Iframe is preloading the Wikiwand page for PIC16F84.

PIC16F84

2x Microchip PIC16C84

El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente a la Gama Media (según la clasificación dada a los microcontroladores por la misma empresa fabricante) Microchip.

Estructura

Fue uno de los microcontroladores más populares del mercado, siendo ideal para principiantes debido a su arquitectura de 8 bits, 18 pines, y un conjunto de instrucciones amigable para memorizar y fácil de entender. Internamente consta de:

  • Memoria Flash de programa (1K x 14 bits).
  • Memoria RAM (68 registros x 8 bits).
  • Un temporizador/contador (timer de 8 bits).
  • Un divisor de frecuencia.
  • Varios puertos de entrada-salida (13 pines en dos puertos, 5 pines el puerto A y 8 pines el puerto B).

Otras características son:

  • Manejo de interrupciones (de 4 fuentes).
  • Perro guardián (watchdog).
  • Bajo consumo.
  • Frecuencia de reloj externa máxima 10MHz. (Hasta 20MHz en nuevas versiones). La frecuencia de reloj interna es un cuarto de la externa, lo que significa que con un reloj de 20MHz, el reloj interno sería de 5MHz y así pues se ejecutan 5 Millones de Instrucciones por Segundo (5 MIPS)
  • No posee conversores analógicos-digital ni digital-analógicos.
  • Pipe-line de 2 etapas, 1 para búsqueda de instrucción y otra para la ejecución de la instrucción (los saltos ocupan un ciclo más).
  • Repertorio de instrucciones reducido (RISC), con tan solo 35 instrucciones distintas.
  • 4 tipos distintos de instrucciones, orientadas a byte, orientadas a bit, operación entre registros, de salto.

Usos

El uso de este microcontrolador se popularizó ampliamente debido a su bajo costo y tamaño. Se ha usado en numerosas aplicaciones, que van desde los automóviles a decodificadores de televisión. Era muy popular su uso por los aficionados a la robótica y electrónica.

Puede ser programado tanto en lenguaje ensamblador como en Basic y principalmente en C, para el que existen numerosos compiladores. Cuando se utilizan los compiladores Basic, es posible desarrollar aplicaciones de forma rápida, especialmente dirigidas al campo doméstico y educacional.

Programa de ejemplo

A continuación hay un pequeño programa en ensamblador (MPASM) que pone a 0 las posiciones de memoria 20 y 21 (en hexadecimal) usando un direccionamiento indirecto:

   MOVLW 20h
   MOVWF FSR
   CLRF  INDF
   INCF  FSR, 1
   CLRF  INDF

MOVLW k: (Move Literal to W) Es una instrucción que carga en el registro de trabajo W, un literal (constante) k, que en este caso es 20h.

MOVWF f: (Move W to File), Copia el contenido del registro W a la posición de memoria f. En este caso, FSR representa una dirección de memoria. FSR es el registro usado para direccionamiento indirecto. En FSR se carga la dirección de memoria que se va a direccionar con INDF (otro registro).

CLRF f: (Clear File), Pone en 0 el registro en la posición de memoria f.

INCF f: (Increment File), Incrementa en uno el valor almacenado en la posición de memoria f.

Otro programa de ejemplo

Este otro programa permite poner a valor lógico uno la salida RB0 del microcontrolador cuando se detecta un valor lógico uno en la entrada RA0 mediante el uso de saltos incondicionales GOTO (ir a...):

   SIGUE       BTFSS    PORTA,0   ; testea el pin RA0 del PORTA, si encuentra un "1" salta una instrucción, de lo contrario continua
               GOTO     APAGA     ; salta a la subrutina APAGA
               GOTO     ENCIENDE  ; salta a la subrutina ENCIENDE
   APAGA       BCF      PORTB,0   ; pone en "0" el pin RB0 del PORTB
               GOTO     SIGUE     ; vuelve al testeo
   ENCIENDE    BSF      PORTB,0   ; pone en "1" el pin RB0 del PORTB
               GOTO     SIGUE     ; todo de nuevo

Véase también

{{bottomLinkPreText}} {{bottomLinkText}}
PIC16F84
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?