O que é um programa C incorporado e sua estrutura para iniciantes

Experimente Nosso Instrumento Para Eliminar Problemas





Anteriormente, muitos aplicativos incorporados foram desenvolvidos usando programação em nível de montagem. No entanto, eles não fornecem portabilidade. Essa desvantagem foi superada pelo advento de várias linguagens de alto nível, como C, Pascal e COBOL. No entanto, foi a linguagem C que obteve ampla aceitação para sistemas embarcados, e continua a fazê-lo. O código C escrito é mais confiável, escalável e portátil e, na verdade, muito mais fácil de entender. A Programação C incorporada é a alma do processador funcionando dentro de cada sistema embarcado encontramos em nossa vida diária, como telefones celulares, máquinas de lavar e câmeras digitais. Cada processador está associado a um software integrado. O primeiro e mais importante é o software embarcado que decide funcionar do sistema embarcado. A linguagem C incorporada é mais frequentemente usada para programar o microcontrolador .

O que é a linguagem C?

A linguagem C foi desenvolvida por Dennis Ritchie em 1969. É uma coleção de uma ou mais funções, e cada função é uma coleção de instruções que executam uma tarefa específica.
A linguagem C é uma linguagem de nível médio, pois oferece suporte a aplicativos de alto nível e aplicativos de baixo nível. Antes de entrar nos detalhes da programação C embarcada, devemos saber sobre a organização da memória RAM.




Os principais recursos da linguagem C incluem o seguinte.

  • A linguagem C é um software projetado com diferentes palavras-chave, tipos de dados, variáveis, constantes, etc.
  • Embedded C é um termo genérico dado a uma linguagem de programação escrita em C, que está associada a uma arquitetura de hardware específica.
  • Embedded C é uma extensão da linguagem C com alguns arquivos de cabeçalho adicionais. Esses arquivos de cabeçalho podem mudar de controlador para controlador.
  • O microcontrolador 8051 #include é usado.

O que é uma programação C incorporada

Em todos os projetos baseados em sistema embarcado, a programação Embedded C desempenha um papel fundamental para fazer o microcontrolador funcionar e realizar as ações preferidas. Atualmente, normalmente utilizamos vários dispositivos eletrônicos como telefones celulares, máquinas de lavar, sistemas de segurança, geladeiras, câmeras digitais, etc. O controle desses dispositivos embutidos pode ser feito com a ajuda de um programa C embutido. Por exemplo, em uma câmera digital, se pressionarmos o botão da câmera para capturar uma foto, o microcontrolador executará a função necessária para clicar na imagem e também para armazená-la.



Programação C incorporada

Programação C incorporada

A programação C incorporada é construída com um conjunto de funções onde cada função é um conjunto de instruções que são utilizadas para executar algumas tarefas específicas. Ambas as linguagens C e C embutidas são iguais e implementadas por meio de alguns elementos fundamentais como uma variável, conjunto de caracteres, palavras-chave, tipos de dados, declaração de variáveis, expressões, instruções. Todos esses elementos desempenham um papel fundamental ao escrever um programa C incorporado.

Os projetistas de sistemas embarcados devem conhecer a arquitetura de hardware para escrever programas. Esses programas desempenham um papel importante no monitoramento e controle de dispositivos externos. Eles também operam e usam diretamente a arquitetura interna do microcontrolador, como tratamento de interrupções, temporizadores, comunicação serial e outros recursos disponíveis.


Programação de sistema embarcado

Como discutimos anteriormente, o projeto de um sistema embarcado pode ser feito usando Hardware e Software. Por exemplo, em um sistema embarcado simples, o processador é o módulo principal que funciona como o coração do sistema. Aqui, um processador nada mais é que um microprocessador, DSP, microcontrolador, CPLD e FPGA. Todos esses processadores são programáveis ​​para definir o funcionamento do dispositivo.

Um programa de sistema integrado permite que o hardware verifique as entradas e as saídas de controle de acordo. Neste procedimento, o programa embutido pode ter que controlar a arquitetura interna do processador diretamente como temporizadores, manuseio de interrupção, portas de E / S, interface de comunicação serial, etc.

Portanto, a programação do sistema embarcado é muito importante para o processador. Existem diferentes linguagens de programação disponíveis para sistemas embarcados, como C, C ++, linguagem assembly, JAVA, script JAVA, visual basic, etc. Portanto, esta linguagem de programação desempenha um papel fundamental ao fazer um sistema embarcado, mas escolher a linguagem é muito essencial.

Etapas para construir um programa C incorporado

Existem diferentes etapas envolvidas no projeto de um programa c embutido como a seguir.

  • Comentários
  • Diretivas do Processador
  • Configuração da porta
  • Variáveis ​​globais
  • Função central / função principal
  • Declaração de Variável
  • A lógica do Programa

Comentários

Em linguagens de programação, os comentários são muito essenciais para descrever a função do programa. O código dos comentários não é executável, mas é usado para fornecer documentação do programa. Para entender a função do programa, isso tornará um método simples para entender a função do programa. No C incorporado, os comentários estão disponíveis em dois tipos, a saber, comentário de linha única e comentário de linha principal.

Em uma linguagem de programação C incorporada, podemos colocar comentários em nosso código que ajudam o leitor a entender o código facilmente.

C = a + b / * adiciona duas variáveis ​​cujo valor está armazenado em outra variável C * /

Comentário de linha única

Geralmente, para as linguagens de programação, comentários de uma linha são muito úteis para esclarecer uma fração do programa. Esses comentários começam com uma barra dupla (//) e podem ser localizados em qualquer lugar na linguagem de programação. Usando isso, toda a linha pode ser ignorada em um programa.

Comentário multilinha

Os comentários de várias linhas começam com uma única barra (/) e um asterisco (/ *) nas linguagens de programação, o que explica um bloco de código. Esses tipos de comentários podem ser organizados em qualquer lugar dentro da linguagem de programação e usados ​​principalmente para ignorar um bloco inteiro de código em um programa.

Diretivas do Processador

As linhas incluídas no código do programa são chamadas de diretivas de pré-processador, que podem ser seguidas por um símbolo de hash (#). Essas linhas são as diretivas do pré-processador, mas não instruções programadas.
O código pode ser examinado por meio de um pré-processador antes que a compilação de código real comece e resolva essas diretivas antes de gerar um código por meio de instruções regulares. Existem várias diretivas especiais de pré-processador disponíveis, embora duas diretivas sejam extremamente úteis dentro da linguagem de programação

como o seguinte.

#incluir
#incluir
LED Sbit = P2 ^ 3
Principal()
{
LED = 0x0ff
Atraso()
LED = 0x00
}
#definir
#incluir
# define LED P0
Principal()
{
LED = 0x0ff
Atraso()
LED = 0x00
}

No programa acima, a diretiva #include é geralmente usada para incluir bibliotecas padrão como study e. h é usado para permitir funções de E / S usando a biblioteca de 'C'. A diretiva #define normalmente usada para descrever a série de variáveis ​​e aloca os valores executando o processo dentro de uma instrução particular como macros.

Configuração da porta

O microcontrolador inclui várias portas onde cada porta possui pinos diferentes. Esses pinos podem ser usados ​​para controlar os dispositivos de interface. A declaração desses pinos pode ser feita dentro de um programa com a ajuda de palavras-chave. As palavras-chave no programa c embutido são padrão e predefinidas como bit, sbit, SFR, que são usadas para indicar os bits e o pino único em um programa.

Existem certas palavras que são reservadas para fazer tarefas específicas. Essas palavras são conhecidas como palavras-chave. Eles são padrão e predefinidos no Embedded C. As palavras-chave são sempre escritas em minúsculas. Essas palavras-chave devem ser definidas antes de escrever o programa principal. As principais funções das palavras-chave incluem o seguinte.

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

sbit

Este é um tipo de tipo de dados, usado para acessar um único bit em um registro SFR.

A sintaxe para este tipo de dados é: nome da variável sbit = bit SFR

Exemplo: sbit a = P2 ^ 1

Se atribuirmos p2.1 como uma variável 'a', então podemos usar 'a' em vez de p2.1 em qualquer lugar do programa, o que reduz a complexidade do programa.

Mordeu

Este tipo de tipo de dados é usado principalmente para permitir a memória endereçável por bits de memória de acesso aleatório como 20h a 2fh.

A sintaxe deste tipo de dados é: nome da variável de bit

Exemplo: bit c

É uma configuração de série de bits dentro de uma pequena região de dados que é usada principalmente com a ajuda de um programa para memorizar algo.

SFR

Este tipo de dado é utilizado para obter as portas periféricas do registro SFR por meio de um nome adicional. Assim, a declaração de todos os registros SFR pode ser feita em letras maiúsculas.

A sintaxe deste tipo de dados é: nome da variável SFR = endereço SFR para registro SFR

Exemplo: SFR porta 0 = 0 × 80

Se alocarmos 0 × 80 como 'porta0', depois disso, podemos utilizar 0 × 80 no lugar da porta0 em qualquer lugar na linguagem de programação para diminuir a dificuldade do programa.

SFR Register

O SFR significa Registro de Função Especial. No microcontrolador 8051, inclui a memória RAM com 256 bytes, que é dividida em dois elementos principais: o primeiro elemento de 128 bytes é utilizado principalmente para armazenar os dados, enquanto o outro elemento de 128 bytes é utilizado principalmente para registros SFR. Todos os dispositivos periféricos, como temporizadores, contadores e portas de E / S são armazenados no registro SFR e cada elemento inclui um único endereço.

Variáveis ​​globais

Quando a variável é declarada antes da função-chave é conhecida como variável global. Esta variável pode ser permitida em qualquer função do programa. A vida útil da variável global depende principalmente da programação até o fim.

#incluir
Int a sem sinal, c = 10
Principal()
{
……………
………… ..
}

Função central / função principal

A função principal é uma parte central durante a execução de qualquer programa e começa simplesmente com a função principal. Cada programa utiliza apenas uma função principal, pois se o programa incluir acima uma função principal, a seguir o compilador ficará confuso ao iniciar a execução do programa.

#incluir
Principal()
{
……………
………… ..
}

Declaração de Variável

O nome da variável é usado para armazenar os valores, mas essa variável deve ser declarada antes de ser utilizada no programa. A declaração da variável indica seu nome, bem como um tipo de dados. Aqui, o tipo de dados nada mais é do que a representação dos dados de armazenamento. Na programação C incorporada, ele usa quatro tipos de dados fundamentais como inteiro, flutuante e caractere para armazenar os dados na memória. O tamanho do tipo de dados, bem como o intervalo, podem ser definidos dependendo do compilador.

O tipo de dados se refere a um sistema extenso para declarar variáveis ​​de diferentes tipos, como inteiro, caractere, float, etc. O software C embutido usa quatro tipos de dados que são usados ​​para armazenar dados na memória.

O ‘char’ é usado para armazenar qualquer caractere único ‘int’ é usado para armazenar o valor inteiro, e ‘float’ é usado para armazenar qualquer valor de ponto flutuante de precisão. O tamanho e o intervalo de diferentes tipos de dados em uma máquina de 32 bits são fornecidos na tabela a seguir. O tamanho e a faixa podem variar em máquinas com diferentes tamanhos de palavras.

  • O tamanho do tipo de dados char / assinado char é de 1 byte e seu intervalo é de -128 a +128
  • O tamanho do tipo de dados unsigned char é de 1 byte e seu intervalo é de 0 a 255
  • O tamanho do tipo de dados int / assinado int é de 2 bytes e seu intervalo é de -32768 a 32767
  • O tamanho do tipo de dados int sem sinal é de 2 bytes e seu intervalo é de 0 a 65535

Principal()
{
Sem sinal int a, b, c
}

A estrutura de um programa C incorporado é mostrada abaixo.

  • comentários
  • diretivas de pré-processador
  • variáveis ​​globais
  • função principal

{

  • variáveis ​​locais
  • declarações
  • ………… ..
  • ………… ..

}

  • diversão (1)

{

  • variáveis ​​locais
  • declarações
  • ………… ..
  • ………… ..

}

A lógica do Programa

A lógica do programa é um plano da via que aparece na teoria por trás das saídas previsíveis das ações do programa. Ele explica a teoria de outra forma sobre por que o programa embutido funcionará e mostra os efeitos reconhecidos de ações de outros recursos.

Principal
{
LED = 0x0f
atraso (100)
LED = 0x00
atraso (100)
}

Fatores principais do programa C incorporado

Os principais fatores a serem considerados ao escolher a linguagem de programação para o desenvolvimento de um sistema embarcado incluem o seguinte.

Tamanho do programa

Cada linguagem de programação ocupa um pouco de memória onde o processador embutido como o microcontrolador inclui uma quantidade extremamente menor de memória de acesso aleatório.

Velocidade do Programa

A linguagem de programação deve ser muito rápida, portanto, deve ser executada o mais rápido possível. A velocidade do hardware integrado não deve ser reduzida devido ao software de execução lenta.

Portabilidade

Para os diferentes processadores embutidos, a compilação de programas semelhantes pode ser feita.

  • Implementação Simples
  • Manutenção Simples
  • Legibilidade

Diferenças entre o programa C e o programa C incorporado

A diferença entre a programação C e C incorporada não está muito além do ambiente operacional e de algumas extensões. Essas linguagens de programação são padrões ISO e também têm sintaxe, funções, tipos de dados, etc. aproximadamente semelhantes. As principais diferenças entre a programação C e a programação c incorporada incluem o seguinte.

Linguagem C

Linguagem C incorporada

Geralmente, esta linguagem é usada para desenvolver aplicativos baseados em desktop

A linguagem C incorporada é usada para desenvolver aplicativos baseados em microcontroladores.
A linguagem C não é uma extensão de nenhuma linguagem de programação, mas uma linguagem de programação de propósito geralEmbedded C é uma extensão da linguagem de programação C, incluindo diferentes recursos, como endereçamento de E / S, aritmética de ponto fixo, endereçamento de múltiplas memórias, etc.

Ele processa o desenvolvimento nativo na naturezaEle processa desenvolvimento cruzado na natureza
É independente para arquitetura de hardwareDepende da arquitetura de hardware do microcontrolador e de outros dispositivos
Os compiladores da linguagem C dependem do sistema operacionalCompiladores C incorporados são independentes do sistema operacional
Na linguagem C, os compiladores padrão são usados ​​para executar um programaNa linguagem C incorporada, compiladores específicos são usados.
Os compiladores populares usados ​​nesta linguagem são GCC, Borland turbo C, Intel C ++, etcOs compiladores populares usados ​​nesta linguagem são Keil, BiPOM Electronics & green hill
O formato da linguagem C é um formato livreSeu formato depende principalmente do tipo de microprocessador usado.
A otimização deste idioma é normalA otimização desta linguagem é de alto nível
É muito fácil de modificar e lerNão é fácil modificar e ler
A correção de bugs é fácilA correção de bugs desta linguagem é complicada

Exemplos de programa C incorporado

A seguir estão alguns programas Embedded C simples usados ​​para projetos baseados em microcontroladores .

Exemplo 1

Exemplo 1

Exemplo-2

Exemplo-2

Exemplo-3

Exemplo-3

Exemplo-4

Exemplo-4

Vantagens

O vantagens do programa embutido c g inclui o seguinte.

  • É muito simples de entender.
  • Ele executa uma tarefa semelhante continuamente, portanto, não há necessidade de alterar o hardware, como memória adicional, caso contrário, espaço de armazenamento.
  • Ele executa simplesmente uma única tarefa de uma vez
  • O custo do hardware usado no c embutido é normalmente muito baixo.
  • As aplicações de embarcados são extremamente apropriadas nas indústrias.
  • Leva menos tempo para desenvolver um programa de aplicação.
  • Reduz a complexidade do programa.
  • É fácil verificar e compreender.
  • É portátil de um controlador para outro.

Desvantagens

O desvantagens da programação c embutida inclui o seguinte.

  • Por vez, ele executa apenas uma tarefa, mas não pode executar as multitarefas
  • Se mudarmos o programa, então precisamos mudar o hardware também
  • Ele suporta apenas o sistema de hardware.
  • Tem um problema de escalabilidade
  • Ele tem uma restrição como memória limitada, caso contrário, a compatibilidade do computador.

Aplicações do Programa C Embutido

O aplicações de programação c embarcada inclui o seguinte.

  • A programação C incorporada é usada em indústrias para diferentes fins
  • A linguagem de programação utilizada nos aplicativos é verificador de velocidade na rodovia, controle de semáforos, controle de semáforos, rastreamento de veículo, inteligência artificial, automação residencial e controle automático de intensidade.

Esperamos ter tido sucesso em fornecer uma maneira fácil e acessível para os iniciantes de Programação C incorporada . Compreender a programação Embedded C é o pré-requisito mais essencial para projetar projetos baseados em embarcados. Além disso, um melhor entendimento e conhecimento adequado sobre programação C embarcada ajuda imensamente os alunos na escolha de uma carreira gratificante.

Nós encorajamos e acolhemos dúvidas, sugestões e comentários de nossos leitores. Portanto, você pode postar suas dúvidas e comentários sobre este artigo na seção de comentários fornecida abaixo. Siga o link abaixo para Projetos sem solda