Qu'est-ce qu'un programme C intégré et sa structure pour les débutants

Essayez Notre Instrument Pour Éliminer Les Problèmes





Auparavant, de nombreuses applications embarquées étaient développées à l'aide de la programmation au niveau de l'assemblage. Cependant, ils n'offraient aucune portabilité. Cet inconvénient a été surmonté par l'avènement de divers langages de haut niveau comme C, Pascal et COBOL. Cependant, c'est le langage C qui a été largement accepté pour les systèmes embarqués, et il continue de le faire. Le code C écrit est plus fiable, évolutif et portable et en fait, beaucoup plus facile à comprendre. La programmation C intégrée est l'âme du processeur fonctionnant à l'intérieur de chaque système embarqué nous rencontrons dans notre vie quotidienne, comme les téléphones portables, les machines à laver et les appareils photo numériques. Chaque processeur est associé à un logiciel embarqué. La première chose et la plus importante est le logiciel embarqué qui décide de fonctionner avec le système embarqué. Le langage C intégré est le plus fréquemment utilisé pour programmer le microcontrôleur .

Qu'est-ce que le langage C?

Le langage C a été développé par Dennis Ritchie en 1969. C'est une collection d'une ou plusieurs fonctions, et chaque fonction est une collection d'instructions exécutant une tâche spécifique.
Le langage C est un langage de niveau intermédiaire car il prend en charge les applications de haut niveau et les applications de bas niveau. Avant d'entrer dans les détails de la programmation C embarquée, nous devons connaître l'organisation de la mémoire RAM.




Les principales caractéristiques du langage C sont les suivantes.

  • Le langage C est un logiciel conçu avec différents mots-clés, types de données, variables, constantes, etc.
  • Embedded C est un terme générique donné à un langage de programmation écrit en C, qui est associé à une architecture matérielle particulière.
  • Embedded C est une extension du langage C avec quelques fichiers d'en-tête supplémentaires. Ces fichiers d'en-tête peuvent changer d'un contrôleur à l'autre.
  • Le microcontrôleur 8051 #include est utilisé.

Qu'est-ce qu'une programmation C intégrée

Dans tous les projets basés sur un système embarqué, la programmation Embedded C joue un rôle clé pour faire fonctionner le microcontrôleur et effectuer les actions préférées. Actuellement, nous utilisons normalement plusieurs appareils électroniques comme les téléphones portables, les machines à laver, les systèmes de sécurité, les réfrigérateurs, les appareils photo numériques, etc. Le contrôle de ces appareils embarqués peut être effectué à l'aide d'un programme C embarqué. Par exemple, dans un appareil photo numérique, si nous appuyons sur un bouton de l'appareil photo pour capturer une photo, le microcontrôleur exécutera la fonction requise pour cliquer sur l'image ainsi que pour la stocker.



Programmation C intégrée

Programmation C intégrée

La programmation C intégrée se construit avec un ensemble de fonctions où chaque fonction est un ensemble d'instructions qui sont utilisées pour exécuter certaines tâches particulières. Les langages C et C intégrés sont identiques et implémentés à travers certains éléments fondamentaux comme une variable, un jeu de caractères, des mots-clés, des types de données, une déclaration de variables, des expressions, des instructions. Tous ces éléments jouent un rôle clé lors de l'écriture d'un programme C embarqué.

Les concepteurs de systèmes embarqués doivent connaître l'architecture matérielle pour écrire des programmes. Ces programmes jouent un rôle de premier plan dans la surveillance et le contrôle des périphériques externes. Ils fonctionnent également et utilisent directement l'architecture interne du microcontrôleur, comme la gestion des interruptions, les minuteries, la communication série et d'autres fonctionnalités disponibles.


Programmation système intégrée

Comme nous l'avons vu précédemment, la conception d'un système embarqué peut être réalisée à l'aide du matériel et des logiciels. Par exemple, dans un système embarqué simple, le processeur est le module principal qui fonctionne comme le cœur du système. Ici, un processeur n'est rien d'autre qu'un microprocesseur, DSP, microcontrôleur, CPLD & FPGA. Tous ces processeurs sont programmables pour qu'il définisse le fonctionnement de l'appareil.

Un programme système intégré permet au matériel de vérifier les entrées et de contrôler les sorties en conséquence. Dans cette procédure, le programme intégré peut avoir à contrôler l'architecture interne du processeur directement comme les minuteries, la gestion des interruptions, les ports d'E / S, l'interface de communication série, etc.

La programmation système embarquée est donc très importante pour le processeur. Il existe différents langages de programmation disponibles pour les systèmes embarqués tels que C, C ++, le langage assembleur, JAVA, JAVA script, visual basic, etc. Ce langage de programmation joue donc un rôle clé dans la réalisation d'un système embarqué mais le choix du langage est très essentiel.

Étapes pour créer un programme C intégré

Il y a différentes étapes impliquées dans la conception d'un programme c intégré comme suit.

  • commentaires
  • Directives du processeur
  • Configuration du port
  • Variables globales
  • Fonction principale / fonction principale
  • Déclaration de variable
  • La logique du programme

commentaires

Dans les langages de programmation, les commentaires sont très essentiels pour décrire la fonction du programme. Le code des commentaires n'est pas exécutable mais sert à fournir la documentation du programme. Pour comprendre la fonction du programme, cela fera une méthode simple pour comprendre la fonction du programme. En C intégré, les commentaires sont disponibles en deux types, à savoir les commentaires sur une seule ligne et les commentaires sur la ligne principale.

Dans un langage de programmation C intégré, nous pouvons placer des commentaires dans notre code, ce qui aide le lecteur à comprendre le code facilement.

C = a + b / * ajouter deux variables dont la valeur est stockée dans une autre variable C * /

Commentaire sur une seule ligne

Généralement, pour les langages de programmation, les commentaires sur une seule ligne sont très utiles pour clarifier une fraction du programme. Ces commentaires commencent par une double barre oblique (//) et peuvent être situés n'importe où dans le langage de programmation. En utilisant ceci, la ligne entière peut être ignorée dans un programme.

Commentaire multiligne

Les commentaires sur plusieurs lignes commencent par une seule barre oblique (/) et un astérisque (/ *) dans les langages de programmation qui expliquent un bloc de code. Ces types de commentaires peuvent être disposés n'importe où dans le langage de programmation et principalement utilisés pour ignorer un bloc entier de code dans un programme.

Directives du processeur

Les lignes incluses dans le code du programme sont appelées directives de préprocesseur qui peuvent être suivies par un symbole de hachage (#). Ces lignes sont les directives du préprocesseur mais pas les instructions programmées.
Le code peut être examiné via un préprocesseur avant que la compilation de code réel ne démarre et résout ces directives avant de générer un code via des instructions régulières. Plusieurs directives spéciales de préprocesseur sont disponibles, bien que deux directives soient extrêmement utiles dans le langage de programmation

comme le suivant.

#comprendre
#comprendre
LED Sbit = P2 ^ 3
Principale()
{
LED = 0x0ff
Retard()
LED = 0x00
}
#définir
#comprendre
#define LED P0
Principale()
{
LED = 0x0ff
Retard()
LED = 0x00
}

Dans le programme ci-dessus, la directive #include est généralement utilisée pour comprendre des bibliothèques standard telles que study et. h est utilisé pour autoriser les fonctions d'E / S à l'aide de la bibliothèque de «C». La directive #define habituellement utilisée pour décrire la série de variables et alloue les valeurs en exécutant le processus dans une instruction particulière comme des macros.

Configuration du port

Le microcontrôleur comprend plusieurs ports où chaque port a des broches différentes. Ces broches peuvent être utilisées pour contrôler les dispositifs d'interfaçage. La déclaration de ces broches peut se faire au sein d'un programme à l'aide de mots-clés. Les mots-clés dans le programme embarqué c sont standard ainsi que prédéfinis comme un bit, sbit, SFR qui sont utilisés pour indiquer les bits et la broche unique dans un programme.

Certains mots sont réservés à des tâches spécifiques. Ces mots sont appelés mots-clés. Ils sont standard et prédéfinis dans Embedded C. Les mots clés sont toujours écrits en minuscules. Ces mots-clés doivent être définis avant d'écrire le programme principal. Les principales fonctions des mots-clés sont les suivantes.

#comprendre
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
Bit C
principale()
{
…………… ..
…………… ..
}

sbit

Il s'agit d'un type de type de données, utilisé pour accéder à un seul bit dans un registre SFR.

La syntaxe de ce type de données est la suivante: nom de la variable sbit = bit SFR

Exemple: sbit a = P2 ^ 1

Si nous assignons p2.1 comme variable «a», alors nous pouvons utiliser «a» au lieu de p2.1 n'importe où dans le programme, ce qui réduit la complexité du programme.

Bit

Ce type de type de données est principalement utilisé pour permettre la mémoire adressable par bits de la mémoire à accès aléatoire comme 20h à 2fh.

La syntaxe de ce type de données est: nom de la variable de bit

Exemple: bit c

Il s'agit d'un paramètre de série de bits dans une petite région de données qui est principalement utilisé à l'aide d'un programme pour mémoriser quelque chose.

SFR

Ce type de type de données est utilisé pour obtenir les ports périphériques du registre SFR via un nom supplémentaire. Ainsi, la déclaration de tous les registres SFR peut se faire en majuscules.

La syntaxe de ce type de données est la suivante: nom de la variable SFR = adresse SFR pour le registre SFR

Exemple: port SFR0 = 0 × 80

Si nous allouons 0 × 80 comme «port0», après cela, nous pouvons utiliser 0 × 80 à la place de port0 n'importe où dans le langage de programmation pour diminuer la difficulté du programme.

Registre SFR

Le SFR est l'acronyme de Special Function Register. Dans le microcontrôleur 8051, il comprend la mémoire RAM de 256 octets, qui est divisée en deux éléments principaux: le premier élément de 128 octets est principalement utilisé pour stocker les données tandis que l'autre élément de 128 octets est principalement utilisé pour les registres SFR. Tous les périphériques tels que les minuteries, les compteurs et les ports d'E / S sont stockés dans le registre SFR et chaque élément comprend une seule adresse.

Variables globales

Lorsque la variable est déclarée avant la fonction clé est connue sous le nom de variable globale. Cette variable peut être autorisée sur n'importe quelle fonction du programme. La durée de vie de la variable globale dépend principalement de la programmation jusqu'à sa fin.

#comprendre
Non signé int a, c = 10
Principale()
{
……………
………… ..
}

Fonction principale / fonction principale

La fonction principale est une partie centrale lors de l'exécution de tout programme et elle commence simplement par la fonction principale. Chaque programme utilise simplement une fonction principale car si le programme comprend au-dessus d'une fonction principale, ensuite le compilateur sera confus pour commencer l'exécution du programme.

#comprendre
Principale()
{
……………
………… ..
}

Déclaration de variable

Le nom comme la variable est utilisé pour stocker les valeurs mais cette variable doit d'abord être déclarée avant d'être utilisée dans le programme. La déclaration de variable indique son nom ainsi qu'un type de données. Ici, le type de données n'est rien d'autre que la représentation des données de stockage. Dans la programmation C intégrée, il utilise quatre types de données fondamentaux tels que les nombres entiers, flottants et caractères pour stocker les données dans la mémoire. La taille du type de données, ainsi que la plage, peuvent être définies en fonction du compilateur.

Le type de données fait référence à un système étendu pour déclarer des variables de différents types comme un entier, un caractère, un flottant, etc. Le logiciel C intégré utilise quatre types de données qui sont utilisés pour stocker des données en mémoire.

Le «char» est utilisé pour stocker tout caractère unique «int» est utilisé pour stocker une valeur entière, et «float» est utilisé pour stocker toute valeur à virgule flottante de précision. La taille et la plage des différents types de données sur une machine 32 bits sont indiquées dans le tableau suivant. La taille et la gamme peuvent varier sur les machines avec différentes tailles de mots.

  • La taille du type de données char / signé char est de 1 octet et sa plage va de -128 à +128
  • La taille du type de données char non signé est de 1 octet et sa plage est comprise entre 0 et 255
  • La taille du type de données int / signé int est de 2 octets et sa plage est comprise entre -32768 et 32767
  • La taille du type de données int non signé est de 2 octets et sa plage est comprise entre 0 et 65535

Principale()
{
Non signé int a, b, c
}

La structure d'un programme C intégré est illustrée ci-dessous.

  • commentaires
  • Directives du préprocesseur
  • variables globales
  • fonction principale

{

  • variables locales
  • déclarations
  • ………… ..
  • ………… ..

}

  • amusant (1)

{

  • variables locales
  • déclarations
  • ………… ..
  • ………… ..

}

La logique du programme

La logique du programme est un plan de la voie qui apparaît dans la théorie derrière et les sorties prévisibles des actions du programme. Il explique l'énoncé autrement la théorie sur les raisons pour lesquelles le programme intégré fonctionnera et montre les effets reconnus des actions sinon des ressources.

Principale
{
LED = 0x0f
retard (100)
LED = 0x00
retard (100)
}

Principaux facteurs du programme C intégré

Les principaux facteurs à prendre en compte lors du choix du langage de programmation pour le développement d'un système embarqué sont les suivants.

Taille du programme

Chaque langage de programmation occupe une certaine mémoire où le processeur intégré comme le microcontrôleur comprend une quantité extrêmement moindre de mémoire à accès aléatoire.

Vitesse du programme

Le langage de programmation doit être très rapide et doit donc s'exécuter le plus rapidement possible. La vitesse du matériel embarqué ne doit pas être réduite en raison de la lenteur du logiciel.

Portabilité

Pour les différents processeurs embarqués, la compilation de programmes similaires peut être effectuée.

  • Implémentation simple
  • Maintenance simple
  • Lisibilité

Différences entre le programme C et le programme C intégré

La différence entre la programmation embarquée C et C n'est en fait pas beaucoup en dehors de l'environnement d'exploitation et de certaines extensions. Ces langages de programmation sont des normes ISO et ont également une syntaxe, des fonctions, des types de données, etc. à peu près similaires. Les principales différences entre la programmation C et la programmation C intégrée sont les suivantes.

Langage C

Langage C intégré

Généralement, ce langage est utilisé pour développer des applications basées sur le bureau

Le langage C intégré est utilisé pour développer des applications basées sur des microcontrôleurs.
Le langage C n'est pas une extension d'un langage de programmation, mais un langage de programmation à usage généralEmbedded C est une extension du langage de programmation C comprenant différentes fonctionnalités telles que l'adressage des E / S, l'arithmétique en virgule fixe, l'adressage multi-mémoire, etc.

Il traite le développement natif dans la natureIl traite le développement croisé dans la nature
Il est indépendant de l'architecture matérielleCela dépend de l'architecture matérielle du microcontrôleur et d'autres appareils
Les compilateurs de langage C dépendent du système d'exploitationLes compilateurs C embarqués sont indépendants du système d'exploitation
En langage C, les compilateurs standards sont utilisés pour exécuter un programmeDans le langage C embarqué, des compilateurs spécifiques sont utilisés.
Les compilateurs populaires utilisés dans ce langage sont GCC, Borland turbo C, Intel C ++, etc.Les compilateurs populaires utilisés dans ce langage sont Keil, BiPOM Electronics et green hill
Le format du langage C est un format libreSon format dépend principalement du type de microprocesseur utilisé.
L'optimisation de cette langue est normaleL'optimisation de ce langage est de haut niveau
Il est très facile de modifier et de lireCe n'est pas facile de modifier et de lire
La correction des bogues est facileLa correction des bogues de cette langue est compliquée

Exemples de programmes C intégrés

Voici quelques programmes C Embedded simples utilisés pour projets basés sur des microcontrôleurs .

Exemple 1

Exemple 1

Exemple-2

Exemple-2

Exemple-3

Exemple-3

Exemple-4

Exemple-4

Avantages

Le avantages du programme c intégré g inclure les éléments suivants.

  • C'est très simple à comprendre.
  • Il exécute une tâche similaire en permanence, il n'est donc pas nécessaire de changer de matériel comme de la mémoire supplémentaire, sinon de l'espace de stockage.
  • Il exécute simplement une seule tâche à la fois
  • Le coût du matériel utilisé dans le c embarqué est généralement tellement faible.
  • Les applications de l'embarqué sont extrêmement appropriées dans les industries.
  • Le développement d'un programme d'application prend moins de temps.
  • Cela réduit la complexité du programme.
  • C'est facile à vérifier et à comprendre.
  • Il est portable d'un contrôleur à un autre.

Désavantages

Le inconvénients de la programmation intégrée en c inclure les éléments suivants.

  • À la fois, il n'exécute qu'une seule tâche mais ne peut pas exécuter les tâches multiples
  • Si nous changeons le programme, nous devons également changer le matériel
  • Il ne prend en charge que le système matériel.
  • Il a un problème d'évolutivité
  • Il a une restriction comme la mémoire limitée sinon la compatibilité de l'ordinateur.

Applications du programme C intégré

Le applications de programmation C embarquée inclure les éléments suivants.

  • La programmation C intégrée est utilisée dans les industries à des fins différentes
  • Le langage de programmation utilisé dans les applications est le contrôleur de vitesse sur l'autoroute, le contrôle des feux de signalisation, le contrôle des lampadaires, le suivi du véhicule, l'intelligence artificielle, la domotique et le contrôle automatique de l'intensité.

Nous espérons que nous avons réussi à fournir un moyen facile et accessible aux débutants de Programmation C embarquée . La compréhension de la programmation Embedded C est la condition préalable la plus essentielle à la conception de projets embarqués. En plus de cela, une meilleure compréhension et une bonne connaissance de la programmation C intégrée aident énormément les étudiants dans la sélection d'une carrière enrichissante.

Nous encourageons et accueillons les questions, suggestions et commentaires de nos lecteurs. Par conséquent, vous pouvez publier vos questions et commentaires sur cet article dans la section commentaires ci-dessous. Suivez le lien ci-dessous pour Projets sans soudure