Dando continuidade à sequência de artigos utilizando a placa Curiosity em conjunto com o MPLAB X e compilador XC8, neste artigo vamos apresentar como utilizar o MPLAB Code Configurator (MCC).
O MPLAB Code Configurator é um plug-in para a MPLAB X IDE que auxilia na geração de código para configuração e uso dos periféricos dos microcontroladores PIC. Possui uma interface gráfica de fácil uso e intuitiva. Após a configuração dos periféricos a serem utilizados é gerado código em linguagem C para configuração e manipulação dos mesmos na aplicação. Vamos verificar os passos iniciais para o seu uso.
Instalando o MPLAB Code Configurator
O MPLAB Code Configurator é um plugin que precisa ser instalado dentro do MPLAB X. Para instalar basta seguir os seguintes passos:
1 – Abra o MPLAB X IDE. No menu Tools, clique em Plugins, conforme figura 1. Será aberta uma janela de configuração de plug-in:
2- Clique na aba Available Plugins, selecione MPLAB Code Configurator e clique em Install.
Figura 2 – Instalando o MPLAB Code Configurator
3 – Aceite os termos de licença e depois clique em Install para continuar o processo de instalação:
4 – Aguarde até o fim da instalação e por fim selecione Restart Now e depois clique em Finish:
Usando o MPLAB Code Configurator
Antes de inciar o MPLAB Code Configurator é necessário antes, criar um projeto. Os passos para criação de um Projeto usando o MPLAB X foi apresentado no artigo anterior.
Após a criação do projeto não é necessário criar nenhum código fonte, por enquanto. Para abrir o MCC acesse o menu Tools -> Embedded e clique em MPLAB Code Configurator, conforme exibido na figura 5:
Na primeira vez que o MCC é aberto é exibido um overlay conforme a figura 6. São exibidos os campos para que o desenvolvedor possa se familiarizar com a ferramenta. Para fechar essa janela, pressione a tecla ESC.
Na área de Project Resources, clique em System e serão abertas as configurações do sistema na Composer Area.
Nessa área é possível configurar os parâmetros de funcionamento do microcontrolador, como oscilador e todos os bits de configuração.
Para nosso exemplo vamos configurar o microcontrolador para usar o oscilador interno (INTOSC) na combo box System Clock Select. Vamos deixar o clock default em 500KHz_HF.
Logo abaixo, na Composer Area, estão os bits de configuração. É importante notar que para o correto funcionamento do programador da Curiosity é necessário configurar para usar o modo Low Voltage Programming, conforme exibido na figura 9:
Para nosso exemplo, vamos apenas modificar esse bit, deixando os outros com a configuração default.
Próximo passo será a configuração dos pinos GPIO (General Purpose I/O), na Device Resource Area. Expanda o item GPIO e dê um duplo clique em GPIO::GPIO para adicionar a Project Resources Area, conforme figura 10:

Após a inclusão, selecione o item GPIO::GPIO em Project Resources Area para abrir a interface gráfica para configuração do GPIO, na Composer Area.
Será aberta uma área chamada MPLAB Code Configurator Pin Manager, conforme exibido na figura 11. Nessa área é possível configurar os pinos e visualizar o tipo de encapsulamento utilizado:
A placa Curiosity vem com um PIC16F1619 que possui 20 pinos no encapsulamento PDIP.
Agora vamos configurar os pino que estão conectados os LEDs. Na placa Curiosity os LEDS de uso geral estão ligados conforme tabela 1, a seguir:
Tabela 1 – Pinos dos LEDs
| LED |
PINO |
| D4 |
RA5 |
| D5 |
RA1 |
| D6 |
RA2 |
| D7 |
RC5 |
Para acessar as configurações do pino, basta clicar no “cadeado” da janela MPLAB Code Configurator Pin Manager e serão abertas as opções para configuração. Vamos selecionar o pino RA5 para a configuração do LED D4, conforme figura 12:
Como se pode observar na figura 12, foi configurado o pino como OUTPUT e atribuído um “Custom Name” como D4 para este pino. Agora é só repetir o procedimento para os outros pinos exibidos na tabela 1, o resultado ficará conforme a figura 13:
Feita a configuração dos pinos, vamos gerar o código para a aplicação. Para isso basta clicar em Generate Code, conforme figura 14:
Se não houver um arquivo main.c no projeto, o MCC perguntará se gostaria de criar um. Vamos selecionar “Yes”, pois ainda não criamos um aquivo main.c em nosso projeto, conforme figura 15:
Ao final o MCC exibirá o status da geração do código, conforme a figura 16:

Na aba projects podemos verificar os arquivos gerados pelo MCC. A figura 17 exibe estes arquivos:
Nos arquivos mcc.h e mcc.c, estão os configuration bits e as funções de inicialização do sistema, no caso o clock e os pinos. No arquivo pin_manager.h estão todas as definições e macros para utilização dos pinos configurados, assim como os protótipos de funções. No arquivo pin_manager.c está a função de inicialização dos pinos. Também foi criado o arquivo main.c, este já está estruturado para inicialização e onde vamos inserir o código da aplicação.
Vamos fazer um pequeno exemplo para manipulação dos pinos utilizando as macros geradas pelo MCC. Para isso vamos inserir o código abaixo no loop principal, onde está o comentário: “Add your application code”.
while (1) {
D4_SetHigh();
__delay_ms(1000);
D4_SetLow();
D5_SetHigh();
__delay_ms(1000);
D5_SetLow();
D6_SetHigh();
__delay_ms(1000);
D6_SetLow();
D7_SetHigh();
__delay_ms(1000);
D7_SetLow();
}
O exemplo apresentado faz um shift nos LEDs e serve apenas para teste das funções geradas pelo MCC. Seu efeito é exibido na imagem abaixo:

No próximo artigo vamos explorar os pinos de I/O.
Caso tenha alguma dúvida ou sugestão, deixe seu cometário abaixo.









