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

arrow_back Aula 04 - Roteiro Prático nº 01 - Uso do MPLAB e do CCS

O CCS

É um ambiente de desenvolvimento para microcrontroladores PIC.

Possui suporte para várias famílias de PIC.

Permite que o usuário escreva o programa em linguagem C.

A Figura 13 mostra a tela inicial do CCS.

Figura 13 - Tela inicial do CSS
Tela inicial do CSS

Inicialmente vamos em e clicamos em New → Source File (Figura 14).

Figura 14 - Selecionando o arquivo fonte
Selecionando o arquivo fonte
  • Escolhemos em que pasta vamos salvar e criamos o nosso arquivo “Semaforo_16F628A.c”.
  • Agora, vamos digitar o nosso código em C, como exemplificado na Figura 15.
Figura 15 - Código do semáforo no CSS
Código do semáforo no CSS
  • Você deve escrever o código, conforme mostrado a seguir.
x
1
#include <16f628a.h>  // Inclui o cabeçalho especifico do pic a ser usado
2
3
#FUSES NOWDT          //No Watch Dog Timer
4
#FUSES HS            //High speed Osc (> 4mhz)
5
#FUSES NOPUT         //No Power Up Timer
6
#FUSES NOPROTECT          //Code not protected from reading
7
#FUSES BROWNOUT      //Reset when brownout detected
8
#FUSES MCLR          //Master Clear pin enabled
9
#FUSES NOCPD         //No EE protection
10
#use delay(clock=20M)     // Seta o clock interno para 20Mhz
11
12
#define L_VERMELHO1  PIN_B4
13
#define L_VERMELHO2  PIN_B2
14
#define L_VERDE1     PIN_B1
15
#define L_VERDE2     PIN_B5
16
#define L_AMARELO1   PIN_B3
17
#define L_AMARELO2   PIN_B0
18
19
20
void main(void) // função principal
21
22
{
23
     do {
24
          /*
25
26
          S1 S2
27
          O  X
28
          O  O
29
          X  O
30
31
          */
32
33
          output_high(L_VERMELHO2);
34
          output_high(L_VERDE1);
35
          output_low(L_AMARELO2);
36
          output_low(L_VERMELHO1);
37
          delay_ms(3000);
38
39
          /*
40
41
          S1 S2
42
          O  X
43
          X  O
44
          O  O
45
46
          */
47
48
          output_low(L_VERDE1);
49
          output_high(L_AMARELO1);
50
          delay_ms(1000);
51
52
          /*
53
54
          S1 S2
55
          X  O
56
          O  O
57
          O  X
58
59
          */
60
61
          output_low(L_VERMELHO2);
62
          output_high(L_VERDE2);
63
          output_low(L_AMARELO1);
64
          output_high(L_VERMELHO1);
65
          delay_ms(3000);
66
67
          /*
68
69
          S1 S2
70
          X  O
71
          O  X
72
          O  O
73
          */
74
75
          output_low(L_VERDE2);
76
          output_high(L_AMARELO2);
77
          delay_ms(1000);
78
79
     } while (TRUE); // mantem o laço de repetição rodando em loop infinito
80
}
81
82
// FIM DO CÓDIGO

Quando estiver digitando esse código, você vai conseguir identificar:

  1. definição do PIC a ser utilizado;
  2. comportamento dos fuses para o nosso projeto;
  3. cristal;
  4. portas de IO;
  5. comentários;
  6. função principal do nosso semáforo.

Nesse código, verificamos que as portas de saída estão relacionadas a flags. 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, clicamos em para que ele seja compilado.

Versão 5.3 - Todos os Direitos reservados