Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Microcontrolador PIC
De Wikipedia, la enciclopedia libre
Los PIC son una familia de microcontroladores tipo RISC fabricados
por Microchip Technology Inc. y derivados del PIC1650, originalmente
desarrollado por la divisin de microelectrnica de General Instrument.
El nombre actual no es un acrnimo. En realidad, el nombre completo es
PICmicro, aunque generalmente se utiliza como Peripheral Interface
Controller (controlador de interfaz perifrico).
El PIC original se dise para ser usado con la nueva CPU de 16 bits
CP16000. Siendo en general una buena CPU, sta tena malas
prestaciones de entrada y salida, y el PIC de 8 bits se desarroll en
1975 para mejorar el rendimiento del sistema quitando peso de E/S a la
CPU. El PIC utilizaba microcdigo simple almacenado en ROM para
realizar estas tareas; y aunque el trmino no se usaba por aquel entonces,
se trata de un diseo RISC que ejecuta una instruccin cada 4 ciclos del
oscilador.
En 1985 la divisin de microelectrnica de General Instrument se separa
Viejos microcontroladores PIC
como compaa independiente que es incorporada como filial (el 14 de
(EPROM).
diciembre de 1987 cambia el nombre a Microchip Technology y en
1989 es adquirida por un grupo de inversores) y el nuevo propietario
cancel casi todos los desarrollos, que para esas fechas la mayora estaban obsoletos. El PIC, sin embargo, se
mejor con EPROM para conseguir un controlador de canal programable. Hoy en da multitud de PIC vienen con
varios perifricos incluidos (mdulos de comunicacin serie, UART, ncleos de control de motores, etc.) y con
memoria de programa desde 512 a 32 000 palabras (una palabra corresponde a una instruccin en lenguaje
ensamblador, y puede ser de 12, 14, 16 o 32 bits, dependiendo de la familia especfica de PICmicro).
ndice
1 Juego de instrucciones y entorno de programacin
2 Arquitectura central
2.1 Espacio de datos (RAM)
2.2 Tamao de palabra
3 Programacin del PIC
3.1 Programadores
3.2 Depuradores integrados
3.3 Emuladores
4 Caractersticas
5 Variaciones del PIC
5.1 PIC modernos
5.2 Clones del PIC
5.3 PIC inalmbricos
5.4 PIC para procesado de seal (dsPIC)
5.5 PIC de 32 bits (PIC32)
6 PIC ms comnmente usados
7 PIC en Internet
8 Monitorizacin y control va Internet
9 Enlaces externos
9.1 En espaol
9.2 En ingls
10 Referencias
1/6
21/4/2015
El PIC usa un juego de instrucciones, cuyo nmero puede variar desde 35 para PIC de gama baja a 70 para los de
gama alta. Las instrucciones se clasifican entre las que realizan operaciones entre el acumulador y una constante,
entre el acumulador y una posicin de memoria, instrucciones de condicionamiento y de salto/retorno,
implementacin de interrupciones y una para pasar a modo de bajo consumo llamada sleep.
Microchip proporciona un entorno de desarrollo freeware llamado MPLAB que incluye un simulador software y un
ensamblador. Otras empresas desarrollan compiladores C y BASIC. Microchip tambin vende compiladores para
los PIC de gama alta ("C18" para la serie F18 y "C30" para los dsPIC) y se puede descargar una edicin para
estudiantes del C18 que inhabilita algunas opciones despus de un tiempo de evaluacin.
Para el lenguaje de programacin Pascal existe un compilador de cdigo abierto, JAL, lo mismo que PicForth para
el lenguaje Forth. GPUTILS es una coleccin de herramientas distribuidas bajo licencia GPL que incluye
ensamblador y enlazador, y funciona en Linux, MacOS y Microsoft Windows. GPSIM es otra herramienta libre
que permite simular diversos dispositivos hardware conectados al PIC.
Uno de los ms modernos y completos compiladores para lenguaje C es [mikroC], que es un ambiente de
desarrollo con editor de texto, bibliotecas con mltiples funciones para todos los mdulos y herramientas
incorporadas para facilitar enormemente el proceso de programacin.
Arquitectura central
La arquitectura del PIC es sumamente minimalista. Est caracterizada por las siguientes prestaciones:
rea de cdigo y de datos separadas (Arquitectura Harvard).
Un reducido nmero de instrucciones de longitud fija.
Implementa segmentacin de tal modo que la mayora de instrucciones duran 1 tiempo de instruccin (o 4
tiempos de reloj). Pueden haber instrucciones de dos tiempos de instruccin (saltos, llamadas y retornos de
subrutinas y otras) o inclusive con ms tiempo de instruccin en PIC de gama alta. Esto implica que el
rendimiento real de instrucciones por segundo del procesador es de al menos 1/4 de la frecuencia del
oscilador.
Un solo acumulador (W), cuyo uso (como operador de origen) es implcito (no est especificado en la
instruccin).
Todas las posiciones de la RAM funcionan como registros de origen y/o de destino de operaciones
matemticas y otras funciones.1
Una pila de hardware para almacenar instrucciones de regreso de funciones.
Una relativamente pequea cantidad de espacio de datos direccionable (tpicamente, 256 bytes), extensible
a travs de manipulacin de bancos de memoria.
El espacio de datos est relacionado con el CPU, puertos, y los registros de los perifricos.
El contador de programa est tambin relacionado dentro del espacio de datos, y es posible escribir en l
(permitiendo saltos indirectos).
A diferencia de la mayora de otros CPU, no hay distincin entre los espacios de memoria y los espacios de
registros, ya que la RAM cumple ambas funciones, y esta es normalmente referida como "archivo de registros" o
simplemente, registros.
2/6
21/4/2015
Tamao de palabra
El tamao de palabra de los microcontroladores PIC es fuente de muchas confusiones. Todos los PIC (excepto los
dsPIC) manejan datos en trozos de 8 bits, con lo que se deberan llamar microcontroladores de 8 bits. Pero a
diferencia de la mayora de las CPU, el PIC usa arquitectura Harvard, por lo que el tamao de las instrucciones
puede ser distinto del de la palabra de datos. De hecho, las diferentes familias de PIC usan tamaos de instruccin
distintos, lo que hace difcil comparar el tamao del cdigo del PIC con el de otros microcontroladores. Por
ejemplo, un microcontrolador tiene 6144 bytes de memoria de programa: para un PIC de 12 bits esto significa
4096 palabras y para uno de 16 bits, 3072 palabras.
encontrarse
Aqu.
Programadores
PICStart Plus (puerto serie y USB)
Promate II (puerto serie)
MPLAB PM3 (puerto serie y USB)
ICD2 (puerto serie y USB)
ICD3 (USB)
PICKit 1 (USB)
IC-Prog 1.06B
PICAT 1.25 (puerto USB2.0 para PIC y Atmel)
WinPic 800 (puerto paralelo, serie y USB)
PICKit 2 (USB)
PICKit 3 (USB)
Terusb1.0
Eclipse (PIC y AVR. USB)
MasterProg (USB)
Depuradores integrados
ICD (Serie)
ICD2 (Serie o full speed USB - 2 Mbits/s)
ICD3 (High speed USB - 480 Mbits/s)
http://es.wikipedia.org/w/index.php?title=Microcontrolador_PIC&printable=yes
3/6
21/4/2015
Emuladores
Proteus - ISIS
ICE2000 (puerto paralelo, convertidor a USB disponible)
ICE4000 (USB)
PIC EMU
ISEC
PIC CDlite
PIC Simulator
Crocodrile Clips
Caractersticas
Los PIC actuales vienen con una amplia gama de mejoras hardware incorporadas:
Ncleos de CPU de 8/16 bits con Arquitectura Harvard modificada
Memoria Flash y ROM disponible desde 256 bytes a 256 kilobytes
Puertos de E/S (tpicamente 0 a 5.5 voltios)
Temporizadores de 8/16/32 bits
Tecnologa Nanowatt para modos de control de energa
Perifricos serie sncronos y asncronos: USART, AUSART, EUSART
Conversores analgico/digital de 8-10-12 bits
Comparadores de tensin
Mdulos de captura y comparacin PWM
Controladores LCD
Perifrico MSSP para comunicaciones IC, SPI, y IS
Memoria EEPROM interna con duracin de hasta un milln de ciclos de lectura/escritura
Perifricos de control de motores
Soporte de interfaz USB
Soporte de controlador Ethernet
Soporte de controlador CAN
Soporte de controlador LIN
Soporte de controlador Irda
PIC inalmbricos
El microcontrolador rfPIC integra todas las prestaciones del PICmicro de Microchip con la capacidad de
comunicacin inalmbrica UHF para aplicaciones RF de baja potencia. Estos dispositivos ofrecen un diseo muy
comprimido para ajustarse a los cada vez ms demandados requerimientos de miniaturizacin en aparatos
http://es.wikipedia.org/w/index.php?title=Microcontrolador_PIC&printable=yes
4/6
21/4/2015
PIC en Internet
Se puede encontrar extensa informacin y documentacin sobre PIC en Internet, principalmente por dos motivos:
[cita requerida] el primero, porque han sido muy usados para romper los sistemas de seguridad de varios productos
de consumo masivo (televisin paga, PlayStation, etc), lo que atrae la atencin de los cracker; y segundo, porque
el PIC16C84 fue uno de los primeros microcontroladores fcilmente reprogramables para aficionados. Hay
muchos foros y listas de correo dedicados al PIC, en los que un usuario puede proponer sus dudas y recibir
respuestas.
5/6
21/4/2015
Con estos se pueden desarrollar sistemas sistemas SCADA, para adquirir y enviar datos al puerto serial de un
computador utilizando, por ejemplo, transmisin UART y el protocolo RS232, o implementando el protocolo
TCP/IP directamente para construir un sistema completamente embebido.2
Enlaces externos
En espaol
Tutorial de programacin de PIC en Ensamblador (http://linuxdroids.com/2015/03/05/tutorial-deprogramacion-de-pics-en-ensamblador/) en la Asociacin de Robtica y Domtica de Espaa.
Proyelc, Tutoriales y Proyectos con microcontroladores PIC (http://proyelc.blogspot.com/)
TodoPIC, todo en microcontroladores PIC (http://www.todopic.net)
MicroPIC, todo en microcontroladores PIC en espaol (http://www.micropic.es)
Robots (http://robots-argentina.com.ar/) Sitio de robtica con artculos de contenido tcnico y didctico
Tutorial
de
programacin
PIC18F2550
y
mdulo
USB
con
Visual
C#
(http://www.migsantiago.com/index.php?option=com_content&view=article&id=9&Itemid=10)
Pgina de programacin de Microcontroladores PIC (http://www.conexionelectronica.com)
En ingls
www.locxtronic.com - Tutorial for PIC Programming In BASIC (http://www.locxtronic.com) (en ingls).
http://www.microchip.com La pgina oficial del fabricante PIC y otros componentes electrnicos
semiconductores
Pgina con enlaces a los documentos originales del PIC1650 (http://www.idcomm.com/personal/ottosen)
YaPIDE (http://www.mtoussaint.de/yapide.html) Entorno de desarrollo y simulador para el PIC16F628
liberado bajo licencia GPL-2
PicForth (http://www.rfc1149.net/devel/picforth)
Grupo de discusin sobre el PIC (http://www.embeddedrelated.com/groups/piclist/1.php)
SDCC (http://sdcc.sourceforge.net/) Small Device C Compiler, an Open Source compiler for
microcontrollers, PIC 16x and 18x support is a WIP.
Belle Research (http://www.belleresearch.com/beginnerpic.htm) Gua para de programacin del PIC para
principiantes
PIC Portal with huge Project database (http://www.picguide.org) (en ingls).
Referencias
1. Hoja de datos de un 16F84 (pdf) (http://ww1.microchip.com/downloads/en/DeviceDoc/35007b.pdf), definicin de
instrucciones de lenguaje ensamblador de PIC16 e informacin sobre la RAM y su direccionabilidad.
2. PIC wifi projects (http://www.libstock.com/project_categories/view/25/wifi)
Obtenido de http://es.wikipedia.org/w/index.php?title=Microcontrolador_PIC&oldid=80969413
Categora: Microcontroladores
Esta pgina fue modificada por ltima vez el 24 mar 2015 a las 10:16.
El texto est disponible bajo la Licencia Creative Commons Atribucin Compartir Igual 3.0; podran ser
aplicables clusulas adicionales. Lanse los trminos de uso para ms informacin.
Wikipedia es una marca registrada de la Fundacin Wikimedia, Inc., una organizacin sin nimo de lucro.
http://es.wikipedia.org/w/index.php?title=Microcontrolador_PIC&printable=yes
6/6