Comunicando com o microcontrolador PIC16F877A através da placa CuscoPIC

Download Comunicando com o microcontrolador PIC16F877A através da placa CuscoPIC

Post on 25-Nov-2015

62 views

Category:

Documents

25 download

TRANSCRIPT

<p>Comunicando com o microcontrolador PIC16F877A atravs da placa CuscoPIC.1. Introduo</p> <p>Este artigo mostra como comunicar com o microcontrolador PIC16F877A utlizando a placa CuscoPIC. Para isto, utilizaremos o driver ASCII para comunicar via Serial/Serial (RS232/RS232).</p> <p>Primeiramente, deve-se programar o microcontrolador utilizando a porta paralela, e ento passar o bootloader para que a placa habilite a porta RS232. (O site da CuscoPIC apresenta os passos para a gravao do bootloader).</p> <p>Em seguida, na programao do controlador, pode-se utilizar o programador MPLab, software prprio da Microchip, fabricante do PIC16F877A.</p> <p>2. Programao</p> <p>O programa utilizado neste exemplo funciona de modo a ler os valores vindo da serial do computador.void main() // funo principal{ char x,y, linha[17]; signed long aux; int index; while(1) // lao infinito { if (!kbhit()) continue; x = getch(); if (x == 'A') { //Testa valor vindo do supervisrio aux = AD(0); //Passa o valor do potencimetro para uma varivel "aux" printf("%04li", aux); //Imprime no display o valor do potencimetro } else if (x == 'B') { //Testa valor vindo do supervisrio output_d(y); //Escreve o valor de "y" na sada D if (y) y=0; else y=128; //Se "y" for igual a "0", recebe o valor "128" } else if (x == 'C') { //Testa valor vindo do supervisrio index=0; //Configura o vetor para o display do { linha[index]=getch(); index++; } while(linha[index-1]); lcd_gotoxy(1,2); printf(lcd_putc,"SLIDER=%s", linha); //Imprime no display "Slider=" o valor vindo do slider do supervisrio. } }}</p> <p>3. Configurao</p> <p>Aps compilar e gravar o programa na CuscoPIC, deve-se configurar o supervisrio, seja ele o Elipse SCADA ou o Elipse E3. No exemplo abaixo, a configurao foi desenvolvida no Elipse SCADA, mas tambm vlida para o Elipse E3. 1. Adicione o driver ASCII no projeto. </p> <p>2. Configure os extras do driver com os comandos TX e RX (escrita e leitura) da serial. </p> <p>Obs.: possvel configurar o tipo de informao a ser lida pelo driver como o exemplo do comando "C" descrito na programao no microcontrolador, no caso C%4u/h00 (sendo % - smbolo identificador de campo varivel; 4 - nmero de caracteres; u - decimal sem sinal; e /00 - caractere especial em formato hexadecimal de dois dgitos). Todas as possibilidades para esta configurao encontram-se no manual do driver, no captulo Configurao dos Comandos ASCII.</p> <p>3. Configure o meio fsico de conexo (Physical Layer) como serial e preencha os dados conforme as informaes dados pelo desenvolvedor da placa.</p> <p>4. Insira e configure os tags conforme o ID configurado nos extras do driver e o parmetro desejado, seja ele de leitura e/ou escrita. Para maiores informaes dos parmetros de leitura e escrita, ver o captulo Referncia de Tags do manual do driver.</p> <p>Exemplos de configurao de tags:</p> <p>N1 = 0; N2 = 3; N3 = 0; N4 = 0</p> <p>Tag de leitura e escrita (N1=0); utilizando o comando de ndice 3 (N2 = 3); com o ndice da varivel em 0 (N3 = 0); e sem Offset na mensagem (N4 = 0).</p> <p>N1 = 1; N2 = 4; N3 = 0; N4 = 0</p> <p>Tag que l ou escreve os valores dos campos variveis de TX antes de enviar um comando (N1 = 1); utilizando o comando de ndice 4 (N2 = 4); com o ndice da varivel em 0 (N3 = 0); e padro 0 no N4 (N4 = 0).</p> <p>N1 = 4; N2 = 4; N3 = 0; N4 = 0</p> <p>Tag que envia uma pergunta ao microcontrolador (N1 = 4); utilizando o comando de ndice 4 (N2 = 4); padro 0 no N3 (N3 = 0); e padro 0 no N4 (N4 = 0).</p> <p>5. Aps configurados os tags, configure as telas conforme desejado.</p> <p>4. Consideraes Finais</p> <p> possvel comunicar com um equipamento microcontrolado utilizando o driver ASCII, desde que ele tenha suporte a escrita e leitura de mensagens com o supervisrio pela porta RS232. Estas mensagens so configuradas anteriormente no programa do microcontrolador.</p>