Programación C de microcontroladores (C515C)
Introducción y condiciones básicas
Los lenguajes de programación de alto nivel ofrecen, en el desarrollo de programas para
microcontroladores, una serie de ventajas. Las razones esenciales para su empleo son el
más alto nivel de abstracción, la transportabilidad relativamente sencilla del código a
diferentes sistemas de destino, así como la gestión del software en la que varios
diseñadores tramitan tareas parciales de un gran proyecto. Además, el desarrollo del código
se encuentra más cerca del problema a solucionar, siendo su densidad y con ello la
velocidad de realización no tan alta como en una solución de Ensamblador. La utilización de
un lenguaje de alto nivel hace suponer que el código de máquina generado por un
Compilador de lenguaje de alto nivel es en el 10% al 30% mayor en comparación con el
Ensamblador, con lo cual se necesita más memoria de programa en la unidad de destino.
El lenguaje de programación de alto nivel más frecuentemente utilizado en relación con los
microcontroladores es C, porque por una parte este lenguaje está muy divulgado en otros
sistemas y por otra, C se aproxima más al hardware. Ello se muestra por ejemplo en la
posibilidad de manipulación de bits y también en el empleo de campos de datos y punteros.
Las posibilidades de estructuración de programas son muy amplias y pueden ser
convertidas de forma muy eficiente en códigos de máquina por el Compilador. Hacia arriba,
C es compatible con C++ porque muchos Compiladores generan códigos de máquina de
ambas variantes. Ello permite un diseño de programa orientado en el objeto, lo que sin
embargo no es objeto de las siguientes consideraciones.
El presente programa de ensayos permite una familiarización orientada en la práctica con el
lenguaje de programación C, especialmente con C para Sistemas Integrados con
microcontroladores. Como sistema de destino concreto para las soluciones de programa a
realizar en los ejercicios se emplea el MCLS-modular
(www.mcls-modular.de). El hardware de este sistema de entrenamiento dispone de
numerosos componentes de aplicaciones de microcontrolador típicas (unidad indicadora
LCD, teclas de funciones, sensores, actores, interfaces, ...).
El presente manual no está pensado primordialmente como obra de consulta para C
estándar. Sin embargo ofrece, en el punto 2, una introducción resumida y un sinóptico de C.
Durante el procesamiento del programa de ensayo, esta parte se puede utilizar para
consultas rápidas. Sin embargo, se recomienda la utilización adicional de literatura
apropiada sobre C (ver indicaciones de literatura en el punto 7). Las particularidades que
caracterizan la programación C para Sistemas Integrados, forman parte del punto 3. Como
herramienta potente para el desarrollo de software se emplea el Small Device C Compiler
SDCC bajo Licencia Pública General (General Public License). El funcionamiento y la
aplicación de esta herramienta se describe detalladamente en el punto 4. Después de una
presentación y descripción funcional de las bibliotecas de funciones (punto 5) necesarias
para el hardware de destino, se presenta, en el punto 6, el programa de entrenamiento para
los ensayos a realizar independientemente y se procede a explicar en detalle las distintas
lecciones.
¡La combinación de un hardware de destino específico, de herramientas de
software óptimas y de objetivos didácticos en el programa de ejercicios
permite unos estudios autodidácticos eficientes!
4
CMC 5
®
con el módulo FLASH PSD1
Introducción CMC 5