Ir ao conteúdo
  • Cadastre-se

Dúvidas com relaçao configuraçao do microC para teclado matricial 4x3


silvio.kaneko

Posts recomendados

Ola! pessoal,estou desenvolvendo um projeto do meu curso de mecatronica,em que utilizarei um teclado matricial 4x3.O problema é que só achei exemplos de programaçao para teclado 4x4.Na biblioteca do microC existe um exemplo em que se convertia algo em valores ACSII,pensei em deletar os valores dos botões que nao iria utilizar,mas ficava uma bagunça,o botao que aparecia no lcd nao era o que apertava!

Link para o comentário
Compartilhar em outros sites

amigo o problema não deve ser difícil de achar,

aposto que era um pino que devia em uma linha ou coluna de botões mas estava em outra mas te aconselho a programar na unha o teclado matricial sem ajuda de bibliotecas as bibliotecas são praticas, mas não ajudão no entendimento da eletronica por traz da brincadeira

sabe como funciona o teclado matricial????

Link para o comentário
Compartilhar em outros sites

Ola! mister nintendo! No meu curso de mecatronica me ensinaram o basico do basico!muita coisa estou correndo atras!Noites sem dormir direito só pesquisando,porém tenho muito a aprender,mas muito mesmo!

Sei que deixamos o as colunas ou as linhas em nivel logico alto,e o programa faz a varredura,detectando qual botao foi pressionado!É isso mesmo?

Bom irei expor aqui o meu problema:

      switch (kp) {

case 1: kp = 49; break; // 1
case 2: kp = 50; break; // 2
case 3: kp = 51; break; // 3
case 4: kp = 65; break; // A
case 5: kp = 52; break; // 4
case 6: kp = 53; break; // 5
case 7: kp = 54; break; // 6
case 8: kp = 66; break; // B
case 9: kp = 55; break; // 7
case 10: kp = 56; break; // 8
case 11: kp = 57; break; // 9
case 12: kp = 67; break; // C
case 13: kp = 42; break; // *
case 14: kp = 48; break; // 0
case 15: kp = 35; break; // #
case 16: kp = 68; break; // D

Essa configuração é para teclado 4x4, como faço para utilizar o 4x3?Simplesmente apagando os valores que nao for utilizar?

preciso de ajuda para registrar uma senha de quatro digitos e ir aparecendo ****

Consegui chegar ate aqui!

#define Coluna_1  PORTD.B1
#define Coluna_2 PORTD.B2
#define Coluna_3 PORTD.B3

#define Linha_1 PORTD.B4
#define Linha_2 PORTD.B5
#define Linha_3 PORTD.B6
#define Linha_4 PORTD.B7


char keypadPort at PORTD;

sbit LCD_RS at RB1_bit;
sbit LCD_EN at RB0_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;

sbit LCD_RS_Direction at TRISB1_bit;
sbit LCD_EN_Direction at TRISB0_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;

int tecla1,tecla2,tecla3,tecla4,tecla5,tecla6,tecla7,tecla8,tecla9,tecla0;
int teclaasteristico,teclasharp;
void main()
{
TRISA = 0b11111111;
PORTA = 0b00000000;
TRISB = 0b00000000;
PORTB = 0b00000000;
TRISC = 0b00000000;
PORTC = 0b00000000;
TRISD = 0b11111111;
PORTD =0B00001110;
TRISE = 0b00000000;
PORTE = 0b00000000;



Keypad_Init();
Lcd_Init();
Lcd_Cmd(_Lcd_Cursor_Off);
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"digite a senha");
Delay_ms(100);
do {

Keypad_Key_Press();


Coluna_1 = 1;
Coluna_2 = 0;
Coluna_3 = 0;
delay_ms(100);


if(Linha_1 && Coluna_1 )
{tecla1=1;
}
if(Linha_2 && Coluna_1)
{tecla4=1;
}
if(Linha_3 && Coluna_1)
{tecla7=1;
}
if(Linha_4 && Coluna_1)
{teclaasteristico=1;
}

Coluna_1 = 0;
Coluna_2 = 1;
Coluna_3 = 0;

if(Linha_1 && Coluna_2)
{tecla2=1;
}
if(Linha_2 && Coluna_2)
{tecla5=1;
}
if(Linha_3 && Coluna_2)
{tecla8=1;
}
if(Linha_4 && Coluna_2)
{tecla0=1;
}

Coluna_1 = 0;
Coluna_2 = 0;
Coluna_3 = 1;

if(Linha_1 && Coluna_3)
{tecla3=1;
}
if(Linha_2 && Coluna_3)
{tecla6=1;
}
if(Linha_3 && Coluna_3)
{tecla9=1;
}
if(Linha_4 && Coluna_3)
{teclasharp=1;
}


}



while(1);
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!