El documento describe las diferentes familias de microcontroladores disponibles y cómo el PIC de Microchip se hizo popular por su capacidad de programarse en diferentes lenguajes como BASIC. Explica que los microcontroladores PIC pueden programarse fácilmente en lenguajes de alto nivel como BASIC o Visual Basic, o en lenguajes más cercanos a la máquina como C o ensamblador.
MAYO 1 PROYECTO día de la madre el amor más grande
Introducción a los microcontroladores PIC y sus lenguajes de programación
1.
2. Actualmente hay varias familias de microcontroladores, de
diferentes fabricantes, que permiten hacer más o menos
cosas con más o menos facilidades. Uno de los más
populares es el microcontrolador Pic, de la empresa
Microchip. Probablemente el enfoque usado en esta familia
de chips le dio mucha popularidad. Los microcontroladores
Pic se pueden programar en una gran cantidad de
lenguajes, pero uno de los primeros que se usaron fue el
ancestral BASIC, el cual le dio enorme popularidad a estos
circuitos.
Resumen
3. Definición
Un microcontrolador, es un circuito integrado
programable que contiene los elementos necesarios
para controlar un sistema. PIC significa Peripheral
Interface Controler es decir un controlador de
periféricos. Cuando hablamos de un circuito integrado
programable que controla periféricos, estamos
hablando de un sistema que contiene entre otras cosas
una unidad aritmética lógica, unas memorias de datos y
programas, unos puertos de entrada y salida, es decir
estamos hablando de un pequeño ordenador diseñado
para realizar unas funciones específicas. Podemos
encontrar microcontroladores en lavadoras, teclados,
teléfonos móviles, ratones etc. Hay multitud de
microcontroladores con más memoria, entradas y
salidas, frecuencia de trabajo, coste, subsistemas
integrados y un largo etc dependiendo de cada tipo de
microcontrolador.
4. Características
1.La arquitectura del procesador sigue el modelo
Harvard.
2.Se aplica la técnica de segmentación ("pipe-line")
en la ejecución de las instrucciones.
3.El formato de todas las instrucciones tiene la
misma longitud.
4.Procesador RISC (Computador de Juego de
Instrucciones Reducido).
5. Lenguaje de programación – PROTEUS |PIC C| en guaje C | Visual Basic|
Assembier
El microcontrolador tiene una memoria de programa, donde
grabamos las instrucciones necesarias para que el micro
realice el trabajo que necesitamos. Cuando compramos un
microcontrolador, la memoria de programa viene vacía. Para
que un microcontrolador funcione es necesario “programarlo”.
Los microcontroladores se programan en un lenguaje de
programación llamado Ensamblador (en inglés Assembler)
cuya principal característica es su altísima complejidad.
6. permite que los algoritmos se expresen en un
nivel y estilo de escritura fácilmente legible y comprensible por el hombre.
En la actualidad se trata de lenguajes de tipo visual.
el usuario se acerca un poco más al lenguaje de
máquina. Permiten un acceso más amplio al control físico de la maquina
(hardware).
Podríamos considerarlo el lenguaje de más bajo
nivel. El usuario escribe código en el mismo “idioma” del procesador. Se
tiene control total del sistema.
7. Es un lenguaje muy simple y con instrucciones fácilmente legibles, incluso por
no expertos.
Nunca vas a tener el control del programa en cuanto al tiempo de ejecución y
control de registros bit a bit.
Es muy complicado el manejo de interrupciones simultáneas en este lenguaje.
Tiene limitaciones cuando genera el archivo .hex, es decir no optimiza el tamaño
de memoria de programa del PIC.
La mayoría de compiladores para este lenguaje pueden utilizarse únicamente
bajo ambiente Windows.
Lenguaje Visual Basic
8.
9. rutina que hace parpadear un led en el pin cero del puerto B cada 200
milisegundos en lenguaje Basic empleando el software PICBASIC PRO:
10. Lenguaje C
Es un lenguaje de alto nivel más cercano a la máquina.
Puedes construir rutinas matemáticas fácilmente.
Puede ser de ayuda al combinarlo con Ensamblador sobre todo en la
gama alta.
Se pueden crear macros con este lenguaje, para después simplificar
el código en diferentes desarrollos.
Es aceptado por la empresa fabricante Microchip, incluso ellos tienen
algunos compiladores C.
11. Los programas al compilarlos pueden resultar un poco extensos y
pesados por ello debe tenerse en cuenta la capacidad de memoria de
programa del PIC a utilizar.
Con este lenguaje tampoco se puede controlar del todo los tiempos y los
registros bit a bit.
Para este lenguaje existen también varias casas que producen software
y compiladores para este lenguaje entre ellas las más importantes son:
con sus compiladores C18 para la gama alta y C30para los dsPIC, ambos
Como otras herramientas de esta marca, se puede incluir en el entorno
gratuito MPLAB IDE, y permite a los desarrolladores, llevar a cabo su
aplicación en un lenguaje de alto nivel. No son del todo gratuitos.
12. rutina que hace parpadear un led en el pin cero del
puerto B cada 200 milisegundos en lenguaje C empleando el
software de CCS PCW IDE:
13. Es el lenguaje de bajo nivel natural de la línea PIC tanto para
gama baja, media o alta.
Con él se tiene un aprovechamiento eficiente de los recursos
del PIC.
Con él se pueden controlar los tiempos y los registros bit a bit.
Excelente para manejar interrupciones simultáneas.
Cuando se genera el archivo .hex éste es completamente
optimizado.
Lenguaje Ensamblador
El compilador para este lenguaje es el MPLAB IDE el cual se
consigue totalmente gratuito en la página de Microchip.
14.
15. rutina que hace parpadear un led en el pin cero del
puerto B cada 200 milisegundos en lenguaje Ensamblador empleando
el software de Microchip MPLAB IDE:
16. Lo ideal es manejar el lenguaje ensamblador para los rangos de gama
baja, media y alta por versatilidad y mejor aprovechamiento de recursos
del PIC.
Si usted va a comenzar con la programación de PICs debería primero
dominar el lenguaje Ensamblador, no le aconsejaría el lenguaje BASIC.
Una vez haya dominado el lenguaje Ensamblador para gama baja y media
puede iniciarse con el lenguaje C.
El Lenguaje C es un lenguaje de alto nivel y puede resultar útil
combinándolo con el lenguaje Ensamblador ya que nos puede ahorrar
tiempo de programación, depuración y simulación sobre todo en la gama
alta y en los dsPIC.
CONCLUCIONES