Embora existam diferentes linguagens de programação, como HTML, CSS, Java, C e Python, todas possuem uma característica em comum: permitir o controle ou a manipulação de um ambiente ou objeto virtual. A linguagem C é uma das bases da programação, estando em quase tudo que usamos, principalmente em microcontroladores.
Para interagir com o PIC da maneira adequada, é necessário informar a ele o que desejamos que ele faça. Felizmente, é possível fazer essa comunicação por meio de diversos softwares, como o CCS ou MikroC. O segundo sendo o utilizado neste tutorial por ser gratuito. Iremos aprender passo a passo a como instala-lo e como criar seu primeiro código nesse compilador.
Para instalar o software, basta entrar nesse link. Ele o encaminha ao site oficial da MikroC, que disponibiliza de forma gratuita o software.
Após entrar, já encontramos a opção de download de forma fácil. Basta clicar no ícone para que o download seja iniciado instantaneamente.
Logo depois, no canto inferior esquerdo irá aparecer um arquivo. Devemos abrir este arquivo ou selecionar a seta e, então, a opção abrir.
Quando o arquivo for aberto, você será encaminhado ao explorador de arquivos. Lá haverá a opção de downloads que contém o arquivo que foi instalado. Com esse arquivo ainda não é possível acessar o software, antes devemos extrair para uma pasta clicando com lado direito do mouse encima do arquivo e selecionado a opção “extrair tudo”.
Logo após, irá aparecer a opção do local para o qual serão extraídas as informações contidas no arquivo. Então, quando selecionada a opção “procurar”, será possível escolher o local desejado para fazer o armazenamento do instalador que está dentro do arquivo comprimido
Após terminar de extrair, o instalador irá ficar disponível no local escolhido e bastarão dois clicks para que a instalação do software seja iniciada.
Agora, basta clicar no botão NEXT para prosseguir pelas etapas de confirmações da instalação.
Em seguida, é apresentado o termo de contrato da licença. Após ler, caso discorde do termo, não será possível continuar a instalação. Ao concordar, é preciso selecionar a opção “I accept the terms of the license agreement”, que significa que você aceita os termos.
Já aqui é oferecido a opção de instalar em todas contas do computador ou apenas em uma conta caso haja mais de uma.
O mikroC oferece recursos extras à aplicação principal. Recomendamos que todas as opções oferecidas nesta etapa da instalação sejam selecionadas, como ilustrado na imagem a baixo.
Essa etapa nos permite selecionar o local de armazenamento do mikroC. Basta clicar no botão Browse, que vai possibilitar que você escolha por onde o software poderá ser acessado após ser instalado.
Em seguida, já se inicia a instalação.
Quando finalizado, você terá acesso a uma pasta com informações e ferramentas pertinentes ao mikroC, instalador, para caso precise o reinstalar, e, principalmente, compilador mikroC. Para abrir o software, basta clicar nele duas vezes com o botão esquerdo do mouse.
O mikroC possui diversos recursos internos que facilitam o desenvolvimento de projetos. A imagem abaixo mostra a tela inicial do compilador. Primeiro, iremos aprender a criar um arquivo para escrever nosso código inicial e, logo após, iremos abordar alguns dos recursos mais utilizados.
Na “Start Page” temos a opção “NEW Project”, que, como já diz seu nome, cria um novo projeto. Já a outra opção, “OPEN PROJECT”, permite abrir projetos antigos ou inacabados. Iremos iniciar um projeto novo, portanto, devemos clicar em new Project, escolher a opção de standard Project e, então, clicar em “next”.
Nesta tela são solicitadas algumas informações básicas do projeto.
Project name – espaço reservado para colocar o nome do projeto. Não pode conter espaços, números ou Caracteres.
Project folder – local para escolher onde o projeto vai ficar salvo. Basta apertar “Browse” e selecionar a pasta desejada.
Device name – neste campo, ao se apertar a seta apontando para baixo no canto direito, é aberta uma lista de modelos de PIC, dentre os quais deve-se escolher aquele que será utilizado no projeto.
Device clock – nessa área, deve-se preencher a frequência de clock que será utilizada no projeto.
Na ultima etapa da criação do projeto, é possível incluir arquivos, como headers, neste.
Após o termino da etapa da criação do projeto, você será encaminhando para o arquivo no qual o código deve ser desenvolvido, circulado em vermelho com o traço grosso. Nesta tela, na barra de ferramentas, encontram-se as opções de projeto -circuladas em laranja, as opções de arquivo -circuladas em azul, as opções de compilação -circuladas em vermelho e as utilidades -circuladas em verde.
Como dito anteriormente, abordaremos as informações básicas para desenvolver seu primeiro projeto. Portanto, podemos ver, em VIEW, dois recursos de extrema importância: library manager, que nos possibilita visualizar e ativar as bibliotecas que o mikroC possui, como a ADC INT e LCD INT e a opção “ASSEMBLY”, que permite a visualização do código compilado a partir do código em C.
A aba “PROJECT” permite que o usuário gerencie o projeto aberto e crie ou abra um novo projeto. Já em “Edit Project”, é possível editar informações como para qual modelo de PIC o código está sendo escrito, qual tipo de build deve ser montado a partir do código, se será permitida optimização que envolva alocação dinâmica de memória e parâmetros relacionados aos registradores de configuração, como o tipo de oscilador utilizado e se haverá proteção de memória.
À primeira vista temos que alterar apenas dois parâmetros, portanto iremos detalhar apenas eles no momento, mas os demais também são importantes em projetos específicos avançados. Primeiro conferimos ao lado direito se o pic está contente com o que estamos usando e se a frequência dele também esteja, agora no lado esquerdo temos na primeira opção o parâmetro oscillater selection, que possibilita a escolha do tipo de oscilador que vai ser usado. Em situações comum e simulações geralmente usamos a opção da imagem a baixo, que faz o acionamento do oscilador interno do pic16f628a. claro essa é uma que pode variar de acordo com o projeto, mas sempre tem que estar coerente esse parâmetro com o circuito. Também temos o a opção R5/MCLR/VPP PIN FUNCTION que é necessário desabilitar quando não for utilizar o MCLR maste clear no circuito final, Caso ao contrario o projeto não funcionara. Agora se for utilizar apenas habilite.
Para os exemplos iniciais desta série de tutoriais, somente dois parâmetros, além da seleção do micro e da frequência de oscilação, devem ter seus valores alterados do padrão. No campo “Oscillator Selection” é definido o tipo de oscilador que será usado junto ao microcontrolador neste projeto. Em nosso caso, será utilizado o oscilador interno do componente, então, deve-se alterar o valor para qualquer um dos INTOSC. “RA5/MCLR/VPP Pin Function”, por sua vez, é o campo no qual se define a função do pino de MCLR. Para nossos exemplos iniciais, tal parâmetro deve ser passado para “disabled”, transformando o pino em I/O digital.
Os compiladores em geral costumam tem uma opção de verificar o código para garantir que a linguagem está dentro das regras do compilador e também a opção de carregada o código para o microcontrolador. O mikroC não é diferente, a função build disponibiliza para gente a opção BUILD que faz uma varredura e aponto os erros se houver algum no código e a opção build + program que permite enviar o código para o gravador de pic.
Na aba “build” estão as opções relacionadas à compilação do código. A primeira opção, “Build”, compila o código principal e gera o arquivo definido em “Build Type” (na janela “Edit Project”). “Rebuild All Sources” recompila todos os arquivos do projeto. Por último, “Build + Program”, além de compilar o código, faz a programação deste no microcontrolador, se estiver conectado.
A aba “Tools” apresenta ferramentas e utilidades que buscam facilitar o desenvolvimento e a depuração dos projetos. “Ascii chart” disponibiliza a tabela ASCII visualmente, “GLCD Bitmap Editor” e “LCD Custom Character” oferecem apoio para a criação de figuras e caracteres especiais em LCD’s, “Seven Segment Editor” facilita a codificação para interface com displays de sete segmentos e “Options” permite a modificação da interface de trabalho do software.
Em “help” se encontram o manual do software e links para fóruns e comunidades a ele relacionados.
Dentro da opção HELP temos 4 tópicos, primeiro é o sumario, ele possui a mesma função que um sumario comum de artigos, relatórios e entre outros. Aqui podemos estudar desde a informação mais básica até a mais completa sobre o PIC. Para acessar as informações basta busca entre as pastas disponíveis e quando achar seleciona ela que será aberta ao lado como na imagem a baixo.
Na janela “Help”, há 4 tópicos. No primeiro, “Sumário”, a documentação acerca do software está organizada em pastas e subpastas que agrupam assuntos relacionados.
Em “índice”, as mesmas informações estão dispostas em formato de lista organizada em ordem alfabética.
Em “pesquisar” é possível filtrar o conteúdo do manual de acordo com as palavras informadas no campo.
Por ultimo, “favoritos” dá acesso agilizado às referências mais visitadas no manual.
Este simples código realiza, por meio da manipulação de registradores, a mudança do estado de um pino a cada segundo.
A tabela a seguir, retirada do datasheet do componente, mostra os registradores associados à I/O A:
Nos microcontroladores PIC de 8 bits, os registradores TRISX têm a função de definir o sentido de dados das portas às quais se referem. Assim, a instrução “TRISA = 0b00000000;” faz com que todas as portas do grupo A sejam definidas como saídas digitais. Cada bit deste registrador diz respeito a uma porta do grupo, de tal forma que se, por exemplo, o bit 5 fosse colocado em nível alto (TRISA = 00100000), a porta A5 se tornaria entrada digital.
O registrador CMCON controla os comparadores analógicos. Atribuir o valor 7 a ele faz com que todas as entradas analógicas sejam desativadas.
Os registradores PORTX definem o valor lógico de uma porta digital. A instrução “PORTX.BN = 0”, aplica nível lógico baixo na porta N do conjunto X. Então, por exemplo, a linha “PORTA.B0 = 0;”, faz com que o pino RA0 apresente nível lógico baixo.
void main()// PRINCIPAL FUNÇÃO EM UM CÓDIGO C {// INICIO DO CODIGO TRISA = 0b00000000; // CONFIGURA TODO O PORTA COMO SAÍDA CMCON = 7;// DESATIVA TODOS OS COMPARADORES PORTA.B0 = 0; // ATRIBUI O VALOR NO BIT0 DO PORTA while(1)//FUNÇÃO DE LOOP EM UM CÓDIGO C { PORTA.B0 = 1; // ATRIBUI O VALOR NO BIT0 DO PORTA Delay_ms(1000); // ESPERA 1 SEGUNDO PORTA.B0 = 0; // ATRIBUI O VALOR NO BIT0 DO PORTA Delay_ms(1000); // ESPERA 1 SEGUNDO } }
Obrigado por acompanhar o tutorial até este ponto. Na próxima parte, mostraremos como carregar o programa no componente físico. Até lá!
Concluímos aqui a segunda parte dessa série de posts sobre a família de microcontroladores PIC, com ênfase no PIC16F628A. No próximo post da série, você aprenderá a carregar o código desenvolvido no componente físico.
Um forte abraço e até a próxima!
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!