-
Controladores, microcontroladores, microprocesadores,
arquitectura interna de un microcontrolador
- Memoria de programas, memoria de datos, líneas de entrada y salida, recursos
auxiliares, programación de microcontroladores
-
El PIC 16F84, para que sirve?, organización de la
memoria
-
Repertorio de instrucciones, circuitería básica
-
Nuestro primer programa
- Programación de PICs, despedida, bibliografía
Microontroladores PIC
Memoria de programa, memoria de datos, E/S,
recursos auxiliares, programación
Memoria de programa
El microcontrolador está diseñado para que en su memoria de programa se
almacenen todas las instrucciones del programa de control. Como éste siempre es
el mismo, debe estar grabado de forma permanente.
Existen algunos tipos de memoria adecuados para soportar estas funciones,
de las cuales se citan las siguientes:
- ROM con máscara: se graba mediante el uso de máscaras.
Sólo es recomendable para series muy grandes debido a su elevado coste.
- EPROM: se graba eléctricamente con un programador
controlador por un PC. Disponen de una ventana en la parte superior
para someterla a luz ultravioleta, lo que permite su borrado. Puede
usarse en fase de diseño, aunque su coste unitario es elevado.
- OTP: su proceso de grabación es similiar al
anterior, pero éstas no pueden borrarse. Su bajo coste las hacen
idóneas para productos finales.
- EEPROM: también se graba eléctricamente, pero su
borrado es mucho más sencillo, ya que también es eléctrico. No se
pueden conseguir grandes capacidades y su tiempo de de escritura y su
consumo es elevado.
- FLASH: se trata de una memoria no volátil, de bajo
consumo, que se puede escribir y borrar en circuito al igual que las EEPROM, pero que suelen disponer de mayor capacidad que estas últimas.
Son recomendables aplicaciones en las que es necesario modificar el
programa a lo largo de la vida del producto. Por sus mejores
prestaciones, está sustituyendo a la memoria EEPROM para contener
instrucciones. De esta forma Microchip comercializa dos
microcontroladores prácticamente iguales que sólo se diferencian en
que la memoria de programa de uno de ellos es tipo EEPROM y la del
otro tipo Flash. Se trata del PIC16C84 y el PIC16F84, respectivamente.
Memoria de datos
Los datos que manejas los programas
varían continuamente, y esto exige que la memoria que los contiene debe
ser de lectura y escritura, por lo que la memoria RAM estática (SRAM) es
la más adecuada, aunque sea volátil.
Hay microcontroladores que disponen
como memoria de datos una de lectura y escritura no volátil, del tipo
EEPROM. De esta forma, un corte en el suministro de la alimentación no
ocasiona la pérdida de la información, que está disponible al
reiniciarse el programa. El PIC16F84 dispone de 64 bytes de memoria
EEPROM para contener datos.
Líneas de E/S
A excepción de dos patitas destinadas
a recibir la alimentación, otras dos para el cristal de cuarzo, que
regula la frecuencia de trabajo, y una más para provocar el Reset, las
restantes patitas de un microcontrolador sirven para soportar su
comunicación con los periféricos externos que controla.
Las líneas de E/S que se adaptan con
los periféricos manejan información en paralelo y se agrupan en
conjuntos de ocho, que reciben el nombre de Puertas. Hay modelos con
líneas que soportan la comunicación en serie; otros disponen de
conjuntos de líneas que implementan puertas de comunicación para
diversos protocolos, como el I2C, el USB, etc.
Recursos auxiliares
Según las aplicaciones a las que
orienta el fabricante cada modelo de microcontrolador, incorpora una
diversidad de complementos que refuerzan la potencia y la flexibilidad
del dispositivo. Entre los recursos más comunes se citan los siguientes:
- Circuito de reloj: se encarga de generar los
impulsos que sincronizan el funcionamiento de todo el sistema. - Temporizadores, orientados a controlar tiempos. - Perro Guardián o WatchDog: se emplea para provocar
una reinicialización cuando el programa queda bloqueado. - Conversores AD y DA, para poder recibir y enviar
señales analógicas. - Sistema de protección ante fallos de alimentación - Estados de reposos, gracias a los cuales el sistema
queda congelado y el consumo de energía se reduce al mínimo.
Programación de
microcontroladores
La
utilización de los lenguajes más cercanos a la máquina (de bajo nivel)
representan un considerable ahorro de código en la confección de los
programas, lo que es muy importante dada la estricta limitación de la
capacidad de la memoria de instrucciones. Los programas bien realizados
en lenguaje Ensamblador optimizan el tamaño de la memoria que ocupan y
su ejecución es muy rápida.
Los lenguajes de alto nivel más
empleados con microcontroladores son el C y el BASIC de los que existen
varias empresas que comercializan versiones de compiladores e
interpretes para diversas familias de microcontroladores. En el caso de
los PIC es muy competitivo e interesante el compilador de C PCM de la
empresa CCS y el PBASIC de microLab Engineerign, ambos comercializados
en España por Mircosystems Engineering.
Hay versiones de interpretes de BASIC
que permiten la ejecución del programa línea a línea, y en ocasiones,
residen en la memoria del propio microcontrolador. Con ellos se puede
escribir una parte del código, ejecutarlo y comprobar el resultado antes
de proseguir.
Enlaces relacionados
-
Programador de PICs y Memorias
-
Tutoriales de computadoras / ordenadores
-
Foro sobre PICs
- Microcontroladores PSOC
< Anterior Siguiente >
Recomendar este Tutorial a un amigo
|