Cursos / Eletrônica / Prototipagem e Montagem de Placa de Circuito Impresso / Aula

arrow_back Aula 01 - Introduçao à prototipagem e montagem de placa de circuito impresso

O compilador CSS

O compilador CCS é um ambiente de desenvolvimento para microcontroladores PIC que possui suporte para várias famílias de PIC, permitindo que o usuário escreva o programa em linguagem C.

A Figura 15 mostra a tela inicial do ambiente de compilação CCS.

Figura 15 - Tela inicial do CCS
Tela inicial do CCS

Inicialmente, vamos clicar no ícone e depois na opção New → Source File, como mostra a Figura 16. Daí, escolhemos a pasta onde vamos salvar e criamos o nosso arquivo “Semaforo_16F628A.c” (Figura 17).

O próximo passo é escrever o código responsável por executar a lógica desejada na linguagem C. No caso, para o projeto do semáforo, vamos adiantar o processo e utilizar o código que está descrito na Figura 19, conforme mostrado na Figura 18.

Figura 16 - Criação de um novo arquivo no CCS
Criação de um novo arquivo no CCS
Figura 17 - Criação do arquivo “Semaforo_16F628A.c”
Criação do arquivo “Semaforo_16F628A.c”
Figura 18 - Janela do CCS com o código C do arquivo
Janela do CCS com o código C do arquivo
x
1
#include <16f628a.h>
2
// Inclui cabeçalho especifico do
3
PIC a ser utilizado
4
5
#FUSES NOWDT //No Watch Dog Timer
6
#FUSES HS //High speed Osc (> 4mhz)
7
#FUSES NOPUT //No Power Up Timer
8
#FUSES NOPROTECT //Code not protected from reading
9
#FUSES BROWNOUT //Reset when brownout detected
10
#FUSES MCLR //Master Clear pin enabled
11
#FUSES NOCPD //No EE protection
12
13
#use delay(clock=20M) // Seta o clock interno para 20Mhz
14
15
#define L_VERMELHO1 PIN_B4
16
#define L_VERMELHO2 PIN_B2
17
18
#define L_VERDE1 PIN_B1
19
#define L_VERDE2 PIN_B5
20
21
#define L_AMARELO1 PIN_B3
22
#define L_AMARELO2 PIN_B0

41
1
void main(void) // função principal
2
{
3
    do {
4
        /*
5
        S1 S2
6
        O  X
7
        O  O
8
        X  O
9
        */
10
        output_high(L_VERMELHO2);
11
        output_high(L_VERDE1);
12
        output_low(L_AMARELO2);
13
        output_low(L_VERMELHO1);
14
        delay_ms(3000);
15
        /*
16
        S1 S2
17
        O  X
18
        X  O
19
        O  O
20
        */
21
        output_low(L_VERDE1);
22
        output_high(L_AMARELO1);
23
        delay_ms(1000);
24
25
        output_low(L_VERMELHO2);
26
        output_high(L_VERDE2);
27
        output_low(L_AMARELO1);
28
        output_high(L_VERMELHO1);
29
        delay_ms(3000);
30
        /*
31
        S1 S2
32
        X  O
33
        O  X
34
        O  O
35
        */
36
        output_low(L_VERDE2);
37
        output_high(L_AMARELO2);
38
        delay_ms(1000);
39
    } while (TRUE); // mantem o laço de
40
        repetição rodando em loop infinito
41
}
Figura 19 – Código C do nosso semáforo (Semaforo_16F628A.c)

Na disciplina “Projetos de Sistemas Microcontrolados”, você verá, de forma mais detalhada, o que representa cada parte do código da Figura 20: definição do PIC a ser utilizado; comportamento dos fuses para o nosso projeto; do cristal; das portas; dos comentários e das funções principais do nosso semáforo.

Nesse código, você pode verificar que as portas de saída estão relacionadas a flags, como por exemplo: na porta B, o pino 1 está relacionado à flag L_VERDE1, informando que é o Led verde do semáforo 1.

Após criarmos todo o nosso código (Figura 19), clicamos na opção Compile -> Compile para que nosso código seja compilado.

Lembra dos arquivos de saída? Um deles é o “.hex” de que falamos tanto! Pronto, é justamente nesse ponto que ele será criado.

Caso seu código não tenha nenhum erro, uma tela, como a da Figura 20, será mostrada. É nessa tela que podemos ver os arquivos que foram gerados: “.ERR”, “.HEX”, “.SYM”, dentre outros. Esses arquivos foram gerados dentro da mesma pasta em que você salvou o código em C e apresentam, por padrão, o mesmo nome em que foi salvo o código em C, diferenciados apenas, pelas extensão (".ERR", ".HEX", ".SYM", etc).

Esse arquivo “.hex” é o que utilizamos para gravar o nosso microcontrolador, os outros arquivos tem funções específicas, como debugger, que não serão abordadas aqui.

Figura 20 - Tela de resultado da compilação no CCS
Tela de resultado da compilação no CCS

Por fim, na barra de “Output” (Figura 21), podemos ver também um relatório da nossa compilação, já que a outra tela (Figura 20) desaparece rapidamente.

Figura 21 - Relatório de resultado da compilação no CCS
Relatório de resultado da compilação no CCS

Versão 5.3 - Todos os Direitos reservados