Che cos'è un programma C integrato e la sua struttura per principianti

Prova Il Nostro Strumento Per Eliminare I Problemi





In precedenza, molte applicazioni incorporate venivano sviluppate utilizzando la programmazione a livello di assembly. Tuttavia, non hanno fornito la portabilità. Questo svantaggio è stato superato dall'avvento di vari linguaggi di alto livello come C, Pascal e COBOL. Tuttavia, è stato il linguaggio C che ha ottenuto un'ampia accettazione per i sistemi incorporati e continua a farlo. Il codice C scritto è più affidabile, scalabile e portabile e, di fatto, molto più facile da capire. La programmazione C incorporata è l'anima del processore che funziona all'interno di ognuno sistema incorporato ci imbattiamo nella nostra vita quotidiana, come telefoni cellulari, lavatrici e fotocamere digitali. Ogni processore è associato al software incorporato. La prima e più importante cosa è il software embedded che decide di funzionare dal sistema embedded. Il linguaggio C incorporato viene utilizzato più di frequente per programmare il microcontrollore .

Cos'è il linguaggio C?

Il linguaggio C è stato sviluppato da Dennis Ritchie nel 1969. È una raccolta di una o più funzioni e ogni funzione è una raccolta di istruzioni che svolgono un'attività specifica.
Il linguaggio C è un linguaggio di medio livello in quanto supporta applicazioni di alto livello e applicazioni di basso livello. Prima di entrare nei dettagli della programmazione C incorporata, dovremmo conoscere l'organizzazione della memoria RAM.




Le caratteristiche principali del linguaggio C includono quanto segue.

  • Il linguaggio C è un software progettato con diverse parole chiave, tipi di dati, variabili, costanti, ecc.
  • Il C incorporato è un termine generico dato a un linguaggio di programmazione scritto in C, che è associato a una particolare architettura hardware.
  • Il C incorporato è un'estensione del linguaggio C con alcuni file di intestazione aggiuntivi. Questi file di intestazione possono cambiare da controller a controller.
  • Il microcontrollore 8051 #include viene utilizzato.

Che cos'è una programmazione C incorporata

In tutti i progetti basati su sistemi embedded, la programmazione Embedded C gioca un ruolo chiave per far funzionare il microcontrollore ed eseguire le azioni preferite. Attualmente, normalmente utilizziamo diversi dispositivi elettronici come telefoni cellulari, lavatrici, sistemi di sicurezza, frigoriferi, fotocamere digitali, ecc. Il controllo di questi dispositivi incorporati può essere effettuato con l'aiuto di un programma C incorporato. Ad esempio in una fotocamera digitale, se premiamo un pulsante della fotocamera per catturare una foto, il microcontrollore eseguirà la funzione richiesta per fare clic sull'immagine e per memorizzarla.



Programmazione C incorporata

Programmazione C incorporata

La programmazione C incorporata si basa su un insieme di funzioni in cui ogni funzione è un insieme di istruzioni che vengono utilizzate per eseguire alcune attività particolari. Entrambi i linguaggi C e C incorporati sono gli stessi e implementati attraverso alcuni elementi fondamentali come una variabile, un set di caratteri, parole chiave, tipi di dati, dichiarazione di variabili, espressioni, istruzioni. Tutti questi elementi giocano un ruolo chiave durante la scrittura di un programma C incorporato.

I progettisti di sistemi embedded devono conoscere l'architettura hardware per scrivere programmi. Questi programmi svolgono un ruolo di primo piano nel monitoraggio e nel controllo dei dispositivi esterni. Inoltre operano e utilizzano direttamente l'architettura interna del microcontrollore, come la gestione degli interrupt, i timer, la comunicazione seriale e altre funzionalità disponibili.


Programmazione del sistema integrato

Come abbiamo discusso in precedenza, la progettazione di un sistema embedded può essere eseguita utilizzando hardware e software. Ad esempio, in un semplice sistema embedded, il processore è il modulo principale che funziona come il cuore del sistema. Qui un processore non è altro che un microprocessore, DSP, microcontrollore, CPLD e FPGA. Tutti questi processori sono programmabili in modo da definire il funzionamento del dispositivo.

Un programma di sistema integrato consente all'hardware di controllare di conseguenza gli ingressi e le uscite di controllo. In questa procedura, il programma integrato potrebbe dover controllare direttamente l'architettura interna del processore come timer, gestione interrupt, porte I / O, interfaccia di comunicazione seriale, ecc.

Quindi la programmazione del sistema embedded è molto importante per il processore. Sono disponibili diversi linguaggi di programmazione per sistemi embedded come C, C ++, linguaggio assembly, JAVA, script JAVA, visual basic, ecc. Quindi questo linguaggio di programmazione gioca un ruolo chiave nella creazione di un sistema embedded, ma la scelta del linguaggio è molto essenziale.

Passaggi per creare un programma C incorporato

Ci sono diversi passaggi coinvolti nella progettazione di un programma c incorporato come il seguente.

  • Commenti
  • Direttive del Responsabile del trattamento
  • Configurazione della porta
  • Variabili globali
  • Funzione principale / Funzione principale
  • Dichiarazione di variabile
  • La logica del programma

Commenti

Nei linguaggi di programmazione, i commenti sono molto essenziali per descrivere la funzione del programma. Il codice dei commenti non è eseguibile ma viene utilizzato per fornire la documentazione del programma. Per comprendere la funzione del programma, questo renderà un metodo semplice per comprendere la funzione del programma. In C incorporato, i commenti sono disponibili in due tipi, ovvero commento a riga singola e commento a riga principale.

In un linguaggio di programmazione C incorporato, possiamo inserire commenti nel nostro codice che aiutano il lettore a capire facilmente il codice.

C = a + b / * aggiunge due variabili il cui valore è memorizzato in un'altra variabile C * /

Commento a riga singola

In genere, per i linguaggi di programmazione, i commenti su una riga sono molto utili per chiarire una frazione del programma. Questi commenti iniziano con una doppia barra (//) e possono essere posizionati ovunque all'interno del linguaggio di programmazione. Usando questo, l'intera riga può essere ignorata all'interno di un programma.

Commento su più righe

I commenti su più righe iniziano con una singola barra (/) e un asterisco (/ *) nei linguaggi di programmazione che spiega un blocco di codice. Questi tipi di commenti possono essere disposti ovunque all'interno del linguaggio di programmazione e utilizzati principalmente per ignorare un intero blocco di codice all'interno di un programma.

Direttive del Responsabile del trattamento

Le righe incluse nel codice del programma sono chiamate direttive del preprocessore che possono essere seguite da un simbolo cancelletto (#). Queste righe sono le direttive del preprocessore ma non le istruzioni programmate.
Il codice può essere esaminato tramite un preprocessore prima che la compilazione del codice reale inizi e risolva queste direttive prima di generare un codice tramite istruzioni regolari. Sono disponibili diverse direttive speciali per il preprocessore sebbene due direttive siano estremamente utili all'interno del linguaggio di programmazione

come il seguente.

#includere
#includere
LED Sbit = P2 ^ 3
Principale()
{
LED = 0x0ff
Ritardo()
LED = 0x00
}
#definire
#includere
#define LED P0
Principale()
{
LED = 0x0ff
Ritardo()
LED = 0x00
}

Nel programma precedente, la direttiva #include viene generalmente utilizzata per comprendere librerie standard come study e. h viene utilizzato per consentire le funzioni di I / O utilizzando la libreria di 'C'. La direttiva #define solitamente usata per descrivere la serie di variabili e alloca i valori eseguendo il processo all'interno di una particolare istruzione come le macro.

Configurazione della porta

Il microcontrollore include diverse porte in cui ogni porta ha pin diversi. Questi pin possono essere utilizzati per controllare i dispositivi di interfacciamento. La dichiarazione di questi pin può essere eseguita all'interno di un programma con l'aiuto di parole chiave. Le parole chiave nel programma c incorporato sono standard e predefinite come bit, sbit, SFR che vengono utilizzate per indicare i bit e il singolo pin all'interno di un programma.

Ci sono alcune parole che sono riservate per svolgere compiti specifici. Queste parole sono note come parole chiave. Sono standard e predefiniti in Embedded C. Le parole chiave sono sempre scritte in minuscolo. Queste parole chiave devono essere definite prima di scrivere il programma principale. Le funzioni principali delle parole chiave includono quanto segue.

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

sbit

Questo è un tipo di dati, utilizzato per accedere a un singolo bit all'interno di un registro SFR.

La sintassi per questo tipo di dati è: nome variabile sbit = bit SFR

Esempio: sbit a = P2 ^ 1

Se assegniamo p2.1 come variabile 'a', possiamo usare 'a' invece di p2.1 ovunque nel programma, il che riduce la complessità del programma.

Po

Questo tipo di tipo di dati viene utilizzato principalmente per consentire la memoria indirizzabile a bit della memoria ad accesso casuale come 20h a 2fh.

La sintassi di questo tipo di dati è: nome della variabile bit

Esempio: bit c

È un'impostazione di serie di bit all'interno di una piccola regione di dati che viene utilizzata principalmente con l'aiuto di un programma per memorizzare qualcosa.

SFR

Questo tipo di dati viene utilizzato per ottenere le porte periferiche del registro SFR tramite un nome aggiuntivo. Quindi, la dichiarazione di tutti i registri SFR può essere fatta in maiuscolo.

La sintassi di questo tipo di dati è: nome variabile SFR = indirizzo SFR per registro SFR

Esempio: SFR port0 = 0 × 80

Se assegniamo 0 × 80 come 'port0', dopodiché possiamo utilizzare 0 × 80 al posto di port0 ovunque nel linguaggio di programmazione per diminuire la difficoltà del programma.

Registro SFR

L'SFR è l'acronimo di Special Function Register. Nel microcontrollore 8051, include la memoria RAM da 256 byte, che è divisa in due elementi principali: il primo elemento di 128 byte è utilizzato principalmente per la memorizzazione dei dati mentre l'altro elemento di 128 byte è utilizzato principalmente per i registri SFR. Tutti i dispositivi periferici come timer, contatori e porte I / O sono memorizzati nel registro SFR e ogni elemento include un singolo indirizzo.

Variabili globali

Quando la variabile viene dichiarata prima della funzione chiave è nota come variabile globale. Questa variabile può essere consentita su qualsiasi funzione all'interno del programma. La durata della variabile globale dipende principalmente dalla programmazione fino a quando non raggiunge la fine.

#includere
Unsigned int a, c = 10
Principale()
{
……………
………… ..
}

Funzione principale / Funzione principale

La funzione principale è una parte centrale durante l'esecuzione di qualsiasi programma e inizia semplicemente con la funzione principale. Ogni programma utilizza semplicemente una funzione principale poiché se il programma include sopra una funzione principale, successivamente il compilatore sarà confuso all'inizio dell'esecuzione del programma.

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

Dichiarazione di variabile

Il nome come la variabile viene utilizzato per memorizzare i valori, ma questa variabile deve essere prima dichiarata prima di essere utilizzata all'interno del programma. La dichiarazione della variabile indica il suo nome e un tipo di dati. Qui, il tipo di dati non è altro che la rappresentazione dei dati di archiviazione. Nella programmazione C incorporata, utilizza quattro tipi di dati fondamentali come intero, float, carattere per archiviare i dati all'interno della memoria. La dimensione del tipo di dati, così come l'intervallo, può essere definita a seconda del compilatore.

Il tipo di dati si riferisce a un sistema esteso per la dichiarazione di variabili di diversi tipi come interi, caratteri, float, ecc. Il software C integrato utilizza quattro tipi di dati che vengono utilizzati per memorizzare i dati in memoria.

Il 'char' viene utilizzato per memorizzare ogni singolo carattere 'int' viene utilizzato per memorizzare il valore intero e 'float' viene utilizzato per memorizzare qualsiasi valore a virgola mobile di precisione. La dimensione e la gamma dei diversi tipi di dati su una macchina a 32 bit sono riportati nella tabella seguente. Le dimensioni e la gamma possono variare su macchine con parole di dimensioni diverse.

  • La dimensione del tipo di dati char / signed char è 1 byte e il suo intervallo è compreso tra -128 e +128
  • La dimensione del tipo di dati char senza segno è 1 byte e il suo intervallo è compreso tra 0 e 255
  • La dimensione del tipo di dati int / signed int è di 2 byte e il suo intervallo è compreso tra -32768 e 32767
  • La dimensione del tipo di dati int senza segno è di 2 byte e il suo intervallo è compreso tra 0 e 65535

Principale()
{
Int senza segno a, b, c
}

Di seguito è illustrata la struttura di un programma C integrato.

  • Commenti
  • direttive del preprocessore
  • variabili globali
  • funzione principale

{

  • variabili locali
  • dichiarazioni
  • ………… ..
  • ………… ..

}

  • divertimento (1)

{

  • variabili locali
  • dichiarazioni
  • ………… ..
  • ………… ..

}

La logica del programma

La logica del programma è un piano della corsia che appare nella teoria dietro e prevedibili risultati delle azioni del programma. Spiega l'affermazione altrimenti la teoria riguardo al motivo per cui il programma integrato funzionerà e mostra gli effetti riconosciuti di azioni altrimenti risorse.

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

Fattori principali del programma C integrato

I principali fattori da considerare nella scelta del linguaggio di programmazione per lo sviluppo di un sistema embedded includono quanto segue.

Dimensione del programma

Ogni linguaggio di programmazione occupa una certa memoria in cui il processore incorporato come il microcontrollore include una quantità estremamente inferiore di memoria ad accesso casuale.

Velocità del programma

Il linguaggio di programmazione dovrebbe essere molto veloce, quindi dovrebbe essere eseguito il più rapidamente possibile. La velocità dell'hardware incorporato non dovrebbe essere ridotta a causa del software a esecuzione lenta.

Portabilità

Per i diversi processori incorporati, è possibile compilare programmi simili.

  • Implementazione semplice
  • Manutenzione semplice
  • Leggibilità

Differenze tra il programma C e il programma C integrato

La differenza tra la programmazione C e C incorporata non è molto a parte l'ambiente operativo e alcune estensioni. Questi linguaggi di programmazione sono standard ISO e hanno anche sintassi, funzioni, tipi di dati approssimativamente simili, ecc. Le principali differenze tra la programmazione C e la programmazione c incorporata includono quanto segue.

Linguaggio C.

Linguaggio C incorporato

In genere, questo linguaggio viene utilizzato per sviluppare applicazioni basate su desktop

Il linguaggio C incorporato viene utilizzato per sviluppare applicazioni basate su microcontrollore.
Il linguaggio C non è un'estensione di alcun linguaggio di programmazione, ma un linguaggio di programmazione genericoIl C incorporato è un'estensione del linguaggio di programmazione C che include diverse funzionalità come l'indirizzamento I / O, l'aritmetica a virgola fissa, l'indirizzamento a memoria multipla, ecc.

Elabora lo sviluppo nativo in naturaElabora lo sviluppo trasversale in natura
È indipendente dall'architettura hardwareDipende dall'architettura hardware del microcontrollore e di altri dispositivi
I compilatori del linguaggio C dipendono dal sistema operativoI compilatori C incorporati sono indipendenti dal sistema operativo
In linguaggio C, i compilatori standard vengono utilizzati per eseguire un programmaNel linguaggio C incorporato vengono utilizzati compilatori specifici.
I compilatori popolari utilizzati in questo linguaggio sono GCC, Borland turbo C, Intel C ++, eccI compilatori popolari utilizzati in questa lingua sono Keil, BiPOM Electronics e Green Hill
Il formato del linguaggio C è formato liberoIl suo formato dipende principalmente dal tipo di microprocessore utilizzato.
L'ottimizzazione di questa lingua è normaleL'ottimizzazione di questa lingua è di alto livello
È molto facile da modificare e leggereNon è facile da modificare e leggere
La correzione dei bug è facileLa correzione dei bug di questo linguaggio è complicata

Esempi di programmi C integrati

Di seguito sono riportati alcuni semplici programmi C incorporati utilizzati per progetti basati su microcontrollori .

Esempio 1

Esempio 1

Esempio-2

Esempio-2

Esempio-3

Esempio-3

Esempio-4

Esempio-4

Vantaggi

Il vantaggi del programma c incorporato min g includono quanto segue.

  • È molto semplice da capire.
  • Esegue un'attività simile continuamente, quindi non è necessario modificare l'hardware come la memoria aggiuntiva, altrimenti lo spazio di archiviazione.
  • Esegue semplicemente un singolo compito alla volta
  • Il costo dell'hardware utilizzato nel c incorporato è in genere molto basso.
  • Le applicazioni di embedded sono estremamente appropriate nelle industrie.
  • Ci vuole meno tempo per sviluppare un programma applicativo.
  • Riduce la complessità del programma.
  • È facile da verificare e da capire.
  • È portatile da un controller all'altro.

Svantaggi

Il svantaggi della programmazione c incorporata include il seguente.

  • Alla volta, esegue solo un'attività ma non può eseguire le attività multiple
  • Se cambiamo il programma, dobbiamo cambiare anche l'hardware
  • Supporta solo il sistema hardware.
  • Ha un problema di scalabilità
  • Ha una restrizione come la memoria limitata altrimenti la compatibilità del computer.

Applicazioni del programma C integrato

Il applicazioni della programmazione c embedded include il seguente.

  • La programmazione C incorporata viene utilizzata nelle industrie per scopi diversi
  • Il linguaggio di programmazione utilizzato nelle applicazioni è il controllo della velocità in autostrada, il controllo dei semafori, il controllo dei lampioni, il monitoraggio del veicolo, l'intelligenza artificiale, l'automazione domestica e il controllo automatico dell'intensità.

Ci auguriamo di aver avuto successo nel fornire un modo facile e accessibile per i principianti di Programmazione C incorporata . La comprensione della programmazione Embedded C è il prerequisito più essenziale per la progettazione di progetti basati su embedded. Oltre a questo, una migliore comprensione e una conoscenza adeguata della programmazione C incorporata aiutano immensamente gli studenti nella scelta di una carriera gratificante.

Incoraggiamo e accogliamo con favore domande, suggerimenti e commenti dai nostri lettori. Pertanto, puoi pubblicare le tue domande e feedback su questo articolo nella sezione commenti fornita di seguito. Segui il link sottostante per Progetti senza saldatura