fbpx
Wikipedia

PIC16F84

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

Se trata de uno de los microcontroladores más populares del mercado actual, 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

En los últimos años se ha popularizado el uso de este microcontrolador 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. Es 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 útiles aplicaciones en tiempo récord, 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

Enlaces externos

  • eBook de programación en lenguaje C de los PICs 16F88 y 16F628A con el compilador mikroC.
  • Web de Microchip
  • Hoja de características (Data sheet) en formato PDF
  • Un recambio "generacional" para el PIC16F84A
  •   Datos: Q4991934

pic16f84, microcontrolador, bits, familia, perteneciente, gama, media, según, clasificación, dada, microcontroladores, misma, empresa, fabricante, microchip, Índice, estructura, usos, programa, ejemplo, otro, programa, ejemplo, véase, también, enlaces, externo. El PIC16F84 es un microcontrolador a 8 bits de la familia PIC perteneciente a la Gama Media segun la clasificacion dada a los microcontroladores por la misma empresa fabricante Microchip Indice 1 Estructura 2 Usos 3 Programa de ejemplo 4 Otro programa de ejemplo 5 Vease tambien 6 Enlaces externosEstructura EditarSe trata de uno de los microcontroladores mas populares del mercado actual ideal para principiantes debido a su arquitectura de 8 bits 18 pines y un conjunto de instrucciones amigable para memorizar y facil 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 caracteristicas son Manejo de interrupciones de 4 fuentes Perro guardian watchdog Bajo consumo Frecuencia de reloj externa maxima 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 seria de 5MHz y asi pues se ejecutan 5 Millones de Instrucciones por Segundo 5 MIPS No posee conversores analogicos digital ni digital analogicos Pipe line de 2 etapas 1 para busqueda de instruccion y otra para la ejecucion de la instruccion los saltos ocupan un ciclo mas Repertorio de instrucciones reducido RISC con tan solo 35 instrucciones distintas 4 tipos distintos de instrucciones orientadas a byte orientadas a bit operacion entre registros de salto Usos EditarEn los ultimos anos se ha popularizado el uso de este microcontrolador debido a su bajo costo y tamano Se ha usado en numerosas aplicaciones que van desde los automoviles a decodificadores de television Es muy popular su uso por los aficionados a la robotica y electronica 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 utiles aplicaciones en tiempo record especialmente dirigidas al campo domestico y educacional Programa de ejemplo EditarA continuacion hay un pequeno 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 instruccion 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 posicion de memoria f En este caso FSR representa una direccion de memoria FSR es el registro usado para direccionamiento indirecto En FSR se carga la direccion de memoria que se va a direccionar con INDF otro registro CLRF f Clear File Pone en 0 el registro en la posicion de memoria f INCF f Increment File Incrementa en uno el valor almacenado en la posicion de memoria f Otro programa de ejemplo EditarEste otro programa permite poner a valor logico uno la salida RB0 del microcontrolador cuando se detecta un valor logico 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 instruccion 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 nuevoVease tambien EditarPIC16F87X PIC16F88Enlaces externos EditarMicrocontroladores PIC eBook de programacion en lenguaje C de los PICs 16F88 y 16F628A con el compilador mikroC Web de Microchip Hoja de caracteristicas Data sheet en formato PDF Web de desarrollo y divulgacion de microcontroladores Un recambio generacional para el PIC16F84A Pagina dedicada a este microcontrolador Datos Q4991934Obtenido de https es wikipedia org w index php title PIC16F84 amp oldid 126692047, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos