¿Qué es un programa C Embebido y su estructura para principiantes?

Anteriormente, muchas aplicaciones integradas se desarrollaban mediante programación a nivel de ensamblador. Sin embargo, no ofrecían portabilidad. Este inconveniente se ha superado con la llegada de varios lenguajes de alto nivel como C, Pascal y COBOL. Sin embargo, fue el lenguaje C el que obtuvo una amplia aceptación para los sistemas integrados y continúa haciéndolo. El código C escrito es más confiable, escalable y portátil; y de hecho, mucho más fácil de entender. La programación C integrada es el alma del procesador que se ejecuta dentro de cada sistema integrado que encontramos en nuestra vida diaria, como teléfonos móviles, lavadoras y cámaras digitales. Cada procesador está asociado con un software incorporado. Lo más importante es el software integrado que decide ejecutar el sistema integrado. El lenguaje C embebido es el más utilizado para programar el microcontrolador.


¿Qué es el lenguaje C?

El lenguaje C fue desarrollado por Dennis Ritchie en 1969. Es una colección de una o más funciones, y cada función es una colección de instrucciones que realizan una tarea específica.
El lenguaje C es un lenguaje de nivel medio porque admite aplicaciones de alto y bajo nivel. Antes de entrar en los detalles de la programación en C embebido, debemos conocer la organización de la memoria RAM.

Las principales características del lenguaje C son las siguientes.

  • El lenguaje C es un software diseñado con diferentes palabras clave, tipos de datos, variables, constantes, etc.
  • Embedded C es un término genérico dado a un lenguaje de programación escrito en C, que está asociado con una arquitectura de hardware particular.
  • Embedded C es una extensión del lenguaje C con algunos archivos de encabezado adicionales. Estos archivos de encabezado pueden cambiar de un controlador a otro.
  • El microcontrolador 8051 #incluye es utilizado.

¿Qué es la Programación en C Embebido?

En todos los proyectos basados ​​en sistemas embebidos, la programación en C Embebido juega un papel clave para operar el microcontrolador y realizar las acciones preferidas. Hoy en día, normalmente utilizamos varios dispositivos electrónicos como teléfonos móviles, lavadoras, sistemas de seguridad, frigoríficos, cámaras digitales, etc. El control de estos dispositivos integrados se puede realizar mediante un programa C integrado. Por ejemplo, en una cámara digital, si presionamos un botón en la cámara para capturar una foto, el microcontrolador realizará la función requerida para hacer clic en la imagen y almacenarla.

Programación en C embebido

La programación C integrada se construye con un conjunto de funciones donde cada función es un conjunto de instrucciones que se utilizan para realizar alguna tarea en particular. Los lenguajes C y C incorporado son iguales y se implementan a través de algunos elementos fundamentales como variable, juego de caracteres, palabras clave, tipos de datos, declaración de variables, expresiones, declaraciones. Todos estos juegan un papel clave al escribir un programa C incrustado.

Los diseñadores de sistemas integrados deben conocer la arquitectura de hardware para escribir programas. Estos programas desempeñan un papel destacado en la supervisión y el control de dispositivos externos. También aprovechan y utilizan directamente la arquitectura interna del microcontrolador, como el manejo de interrupciones, los temporizadores, la comunicación en serie y otras funciones disponibles.

Programación de sistemas integrados

Como hemos visto antes, el diseño de un sistema embebido se puede hacer usando hardware y software. Por ejemplo, en un sistema integrado simple, el procesador es el módulo principal que funciona como el corazón del sistema. Aquí un procesador no es más que un microprocesador, DSP, microcontrolador, CPLD y FPGA. Todos estos procesadores son programables por lo que define el funcionamiento del dispositivo.

Un programa de sistema incorporado permite que el hardware verifique las entradas y controle las salidas en consecuencia. En este procedimiento, es posible que el programa integrado deba controlar directamente la arquitectura interna del procesador, como los temporizadores, el manejo de interrupciones, los puertos de E/S, la interfaz de comunicación en serie, etc.

Por lo tanto, la programación del sistema integrado es muy importante para el procesador. Hay varios lenguajes de programación disponibles para sistemas embebidos como C, C++, lenguaje ensamblador, JAVA, JAVA script, Visual Basic, etc. Por lo tanto, este lenguaje de programación juega un papel clave al crear un sistema integrado, pero la elección del lenguaje es muy importante.

Pasos para crear un programa en C incrustado

Hay diferentes pasos involucrados en el diseño de un programa C embebido como el siguiente.

  • comentarios
  • Instrucciones del subcontratista
  • Configuración del puerto
  • Variables globales
  • Función central/Función principal
  • Declaración de variables
  • Lógica del programa

comentarios

En los lenguajes de programación, los comentarios son esenciales para describir la función del programa. El código de comentarios no es ejecutable pero sirve para proporcionar documentación del programa. Para comprender la función del programa, esto hará un método simple para comprender la función del programa. En C incrustado, los comentarios vienen en dos tipos, a saber, comentarios de una sola línea y comentarios de línea principal.

En un lenguaje de programación C incorporado, podemos colocar comentarios en nuestro código que ayuden al lector a comprender fácilmente el código.

C=a+b; /* agrega dos variables cuyo valor se almacena en otra variable C*/

Comentario de una sola línea

Generalmente, para los lenguajes de programación, los comentarios de una sola línea son muy útiles para aclarar una fracción del programa. Estos comentarios comienzan con una doble barra inclinada (//) y se pueden encontrar en cualquier parte del lenguaje de programación. Usando esto, toda la línea se puede omitir en un programa.

comentario de varias líneas

Los comentarios de varias líneas comienzan con una sola barra inclinada (/) y un asterisco (/*) en los lenguajes de programación que explican un bloque de código. Estos tipos de comentarios se pueden colocar en cualquier parte del lenguaje de programación y se utilizan principalmente para omitir un bloque completo de código en un programa.

Instrucciones del subcontratista

Las líneas incluidas en el código del programa se denominan directivas de preprocesador, que pueden ir seguidas de un signo de almohadilla (#). Estas líneas son las directivas del preprocesador pero no las instrucciones programadas.
El código se puede examinar a través de un preprocesador antes de que comience la compilación del código real y resuelve estas directivas antes de generar el código a través de instrucciones regulares. Varias directivas de preprocesador especiales están disponibles, aunque dos directivas son extremadamente útiles en el lenguaje de programación.

como el siguiente

#comprender
#comprender
S bit LED = P2^3;
Importante();
{
LED = 0x0ff
Demora();
DEL=0x00;
}
#definir
#comprender
#definir LED P0
Importante();
{
LED = 0x0ff
Demora();
DEL=0x00;
}

En el programa anterior, la directiva #include generalmente se usa para incluir bibliotecas estándar como estudio y. h se usa para permitir funciones de E/S usando la biblioteca ‘C’. La directiva #define generalmente se usa para describir la serie de variables y asignar los valores al ejecutar el proceso en una declaración particular como las macros.

Configuración del puerto

El microcontrolador incluye múltiples puertos donde cada puerto tiene pines diferentes. Estos pines se pueden usar para controlar dispositivos de interfaz. La declaración de estos pines se puede hacer dentro de un programa usando palabras clave. Las palabras clave en el programa c incorporado también son estándar que predefinidos como un bit, sbit, SFR que se utilizan para indicar bits y un solo pin en un programa.

Algunas palabras están reservadas para tareas específicas. Estas palabras se llaman palabras clave. Son estándar y están predefinidos en Embedded C. Las palabras clave siempre se escriben en minúsculas. Estas palabras clave deben definirse antes de escribir el programa principal. Las principales funciones de las palabras clave son las siguientes.

#incluir< >
S bit a = P 2^2;
SFR 0x00 = Puerto 0;
bit C;
principal()
{
……………..
……………..
}

morder

Es un tipo de datos, utilizado para acceder a un solo bit en un registro SFR.

La sintaxis para este tipo de datos es la siguiente: nombre de variable sbit = bit SFR;

Ejemplo: sbit a=P2^1;

Si asignamos p2.1 como variable ‘a’, entonces podemos usar ‘a’ en lugar de p2.1 en cualquier parte del programa, lo que reduce la complejidad del programa.

Un poco

Este tipo de tipo de datos se utiliza principalmente para habilitar la memoria direccionable por bits de la memoria de acceso aleatorio como 20h a 2fh.

La sintaxis para este tipo de datos es: bit de nombre de variable;

Ejemplo: bit c;

Es una configuración en serie de bits en una pequeña región de datos que se utiliza principalmente mediante un programa para memorizar algo.

SFR

Este tipo de datos se utiliza para obtener el dispositivo de puertos del registro SFR a través de un nombre adicional. Así, la declaración de todos los registros SFR se puede hacer en mayúsculas.

La sintaxis para este tipo de datos es la siguiente: nombre de variable SFR = dirección SFR para el registro SFR;

Ejemplo: SFR port0 = 0×80;

Si asignamos 0×80 como ‘puerto0’, entonces podemos usar 0×80 en lugar de puerto0 en cualquier parte del lenguaje de programación para reducir la dificultad del programa.

Registrarse SFR

El SFR significa Registro de función especial. En el microcontrolador 8051 incluye la memoria RAM de 256 bytes, la cual se divide en dos elementos principales: el primer elemento de 128 bytes se usa principalmente para almacenar datos mientras que el otro elemento de 128 bytes se usa principalmente para registros SFR. Todos los periféricos, como temporizadores, contadores y puertos de E/S, se almacenan en el registro SFR y cada elemento tiene una sola dirección.

Variables globales

Cuando la variable se declara antes de la función clave, se denomina variable global. Esta variable se puede permitir en cualquier función del programa. El tiempo de vida de la variable global depende principalmente de la programación hasta que llega a su fin.

#comprender
Entero sin signo a, c =10;
Importante()
{
……………
…………..
}

Función principal / Función principal

La función principal es una parte central al ejecutar cualquier programa y simplemente comienza con la función principal. Cada programa solo usa una función principal porque si el programa incluye una función principal arriba, entonces el compilador se confundirá para comenzar a ejecutar el programa.

#comprender
Importante()
{
……………
…………..
}

Declaración de variables

El nombre como la variable se usa para almacenar los valores, pero esta variable primero debe declararse antes de usarse en el programa. La declaración de la variable indica su nombre así como un tipo de datos. Aquí, el tipo de datos no es más que la representación de los datos de almacenamiento. En la programación C integrada, utiliza cuatro tipos de datos fundamentales como entero, flotante, carácter para almacenar datos en la memoria. El tamaño del tipo de datos, así como el rango, se pueden establecer según el compilador.

El tipo de datos se refiere a un sistema extendido para declarar variables de diferentes tipos como enteros, caracteres, flotantes, etc. El software C incorporado utiliza cuatro tipos de datos que se utilizan para almacenar datos en la memoria.

El ‘char’ se usa para almacenar cualquier carácter único; ‘int’ se usa para almacenar un valor entero y ‘float’ se usa para almacenar cualquier valor de punto flotante de precisión. El tamaño y el rango de los diferentes tipos de datos en una máquina de 32 bits se muestran en la siguiente tabla. El tamaño y el rango pueden variar en máquinas con diferentes tamaños de palabras.

  • El tamaño del tipo de datos char/char firmado es de 1 byte y su rango es de -128 a +128
  • El tamaño del tipo de datos char sin firmar es de 1 byte y su rango es de 0 a 255
  • El tamaño del tipo de datos int/int firmado es de 2 bytes y su rango es de -32768 a 32767
  • El tamaño del tipo de datos int sin firmar es de 2 bytes y su rango es de 0 a 65535

Importante();
{
Unsigned int a,b,c;
}

La estructura de un programa C incrustado se muestra a continuación.

  • comentarios
  • Directivas del pre procesador
  • variables globales
  • función principal

{

  • variables locales
  • declaraciones
  • …………..
  • …………..

}

{

  • variables locales
  • declaraciones
  • …………..
  • …………..

}

Lógica del programa

La lógica del programa es un mapa de ruta que aparece en la teoría subyacente y los resultados predecibles de las acciones del programa. Explica la declaración, si no la teoría, sobre por qué funcionará el programa integrado y muestra los efectos reconocidos de las acciones, si no los recursos.

Importante
{
DEL = 0x0f;
retraso (100);
DEL = 0x00;
retraso (100);
}

Principales Factores del Programa C Embebido

Los principales factores a considerar al elegir el lenguaje de programación para desarrollar un sistema embebido son los siguientes.

Tamaño del programa

Cada lenguaje de programación ocupa algo de memoria donde el procesador integrado, como el microcontrolador, comprende una cantidad extremadamente menor de memoria de acceso aleatorio.

Velocidad del programa

El lenguaje de programación debe ser muy rápido, por lo que debe ejecutarse lo más rápido posible. La velocidad del hardware integrado no debe reducirse debido a la lentitud del software.

Portabilidad

Para los diversos procesadores incorporados, se puede realizar la compilación de programas similares.

  • Implementación sencilla
  • Mantenimiento simplificado
  • Legibilidad

Diferencias entre el programa C y el programa C integrado

La diferencia entre la programación C integrada y la programación C no es muy grande aparte del entorno operativo y algunas extensiones. Estos lenguajes de programación son estándares ISO y también tienen sintaxis, funciones, tipos de datos, etc. aproximadamente similar. Las principales diferencias entre la programación en C y la programación en C integrada son las siguientes.

lenguaje C

Lenguaje C integrado

Generalmente, este lenguaje se utiliza para desarrollar aplicaciones de escritorio.

El lenguaje C integrado se utiliza para desarrollar aplicaciones basadas en microcontroladores.
El lenguaje C no es una extensión de un lenguaje de programación, sino un lenguaje de programación de propósito generalEmbedded C es una extensión del lenguaje de programación C que incluye diferentes características como direccionamiento de E/S, aritmética de punto fijo, direccionamiento de memoria múltiple, etc.

Trata el desarrollo nativo en la naturaleza.Trata el desarrollo cruzado en la naturaleza.
Es independiente de la arquitectura del hardware.Depende de la arquitectura de hardware del microcontrolador y otros dispositivos
Los compiladores de lenguaje C dependen del sistema operativoLos compiladores de C incorporados son independientes del sistema operativo
En lenguaje C, los compiladores estándar se utilizan para ejecutar un programa.En el lenguaje C incorporado, los compiladores específicos son usó.
Los compiladores populares utilizados en este lenguaje son GCC, Borland turbo C, Intel C++, etc.Los compiladores populares utilizados en este lenguaje son Keil, BiPOM Electronics y Green Hill.
El formato del lenguaje C es formato libre.Su formato depende principalmente del tipo de microprocesador utilizado.
La optimización de este lenguaje es normalLa optimización de este lenguaje es de alto nivel.
Es muy fácil de editar y leer.No es fácil de editar y leer.
La corrección de errores es fácilArreglar errores en este idioma es complicado

Ejemplos de programas en C integrados

Aquí hay algunos programas simples de C incorporado que se usan para proyectos basados ​​en microcontroladores.

Ejemplo 1
Ejemplo 1
Ejemplo-2
Ejemplo-2
Ejemplo-3
Ejemplo-3
Ejemplo-4
Ejemplo-4

Ventajas

los beneficios de la programación en c embebidog incluye lo siguiente.

  • Es muy simple de entender.
  • Realiza una tarea similar continuamente, por lo que no es necesario cambiar el hardware, como memoria adicional o espacio de almacenamiento.
  • Solo realiza una tarea a la vez.
  • El costo del hardware utilizado en c incorporado suele ser muy bajo.
  • Las aplicaciones integradas son extremadamente relevantes en las industrias.
  • Se necesita menos tiempo para desarrollar un programa de aplicación.
  • Esto reduce la complejidad del programa.
  • Es fácil de comprobar y entender.
  • Es portátil de controlador a controlador.

Desventajas

los desventajas de la programación embebida en c Incluya lo siguiente.

  • A la vez, realiza una sola tarea pero no puede realizar tareas múltiples
  • Si cambiamos el programa, también debemos cambiar el hardware
  • Solo es compatible con el sistema de hardware.
  • Tiene un problema de escalabilidad.
  • Tiene restricciones como memoria limitada si no compatibilidad con la computadora.

Aplicaciones del programa C integrado

los aplicaciones de programacion embebida en c Incluya lo siguiente.

  • La programación en C integrada se usa en industrias para diferentes propósitos
  • El lenguaje de programación utilizado en las aplicaciones es Highway Speed ​​Controller, Traffic Light Control, Street Light Control, Vehicle Tracking, Artificial Intelligence, Home Automation y Auto Dimming. controlar.

Esperamos haber tenido éxito en proporcionar una manera fácil y accesible para que los principiantes Programación en C embebido. Comprender la programación en C integrado es el requisito previo más esencial para diseñar proyectos integrados. Además de esto, una mejor comprensión y conocimiento de la programación C integrada ayuda enormemente a los estudiantes a elegir una carrera gratificante.

Alentamos y agradecemos las preguntas, sugerencias y comentarios de nuestros lectores. Por lo tanto, puede publicar sus preguntas y comentarios sobre este artículo en la sección de comentarios a continuación. Siga el enlace a continuación para proyectos sin problemas

Lee:  MAX3232 IC : Configuración de pines y sus aplicaciones
Javired
Javired

Deja una respuesta

Tu dirección de correo electrónico no será publicada.