PIC -LENDO TECLA

Dando continuidade ao estudo dos microcontroladores PIC, vamos aprender a ler uma tecla na placa PIC Básico 28P e acionar uma LED quando tecla pressionada.

A figura abaixo exibe as teclas presente na placa PIC Básico 28P:

recursos placa pic

Conforme esquema elétrico da placa, pode-se observar que temos 4 teclas ligadas aos pinos, RE3, RA3, RA4 e RA5 como exibido na figura a seguir:

teclas

Para lermos o estado do pino, inicialmente precisamos configura a direção do pino através do registrador TRISX, correspondente ao port. Como os ports são divididos em grupos denominados de A, B, C,D…. conforme a quantidades de pinos, No lugar de X coloca-se a letra correspondente ao pino. O PIC 16F883 possui quatro PORTs:

PORTA, PORTB, PORTC E PORTE, onde cada um possui um registrador TRIS correspondente,

portanto tem-se:

TRISA, TRISB, TRISC e TRISE.

Para configura o pino como entrada o bit correspondente ao pino deverá ser configurado com o valor 1 e para configura o pino como saída o pino deverá ser configurado com o valor 0. A figura a seguir exibe esta configuração:

TRIS

Assim para configurar os pinos onde os botões estão ligados devemos configura os registradores da seguinte forma:

TRISA.RA3 = 1;
TRISA.RA4 = 1;
TRISA.RA5 = 1;
TRISE.RE3 = 1;

O código a seguir exibe como ler a tecla no pino RE3 e ligar o LED no pino RB0, quando a mesma for pressionada:


#define LED1 PORTB.RB0
#define DRIVE_LEDS PORTC.RC3
#define BT1 PORTE.RE3
#define BT2 PORTA.RA3
#define BT3 PORTA.RA4
#define BT4 PORTA.RA5

void main() { //função principal
TRISA = 0x00;
TRISA.RA3 = 1;
TRISA.RA4 = 1;
TRISA.RA5 = 1;
TRISE.RE3 = 1;
TRISB.RB0 = 0; //configura PORTB
TRISC.RC3 = 0; //configura PORTC
DRIVE_LEDS = 1; //habilita leds

 while(1) //loop infinito
 {
    if(!BT1)
    {
      LED1 = 1; //liga LED
    }
    else
    {
      LED1 = 0; //desliga LED
    }
 } //repete ciclo
}

Para quem precisar de uma ajuda com a linguagem C, segue link do Slideshare de uma apresentação que eu fiz sobre a linguagem C:

RESUMO LINGUAGEM C – PIC

Até a próxima.

 

Anúncios
Publicado em PIC
%d blogueiros gostam disto: