Eletrônica Silveira
Olá, Seja Bem-Vindo ao Fórum Eletrônica Silveira!!!!
Para você poder ver os mais variados Projetos do nosso Fórum, você precisa fazer o cadastro!

Depois de se Cadastrar, não se esqueça de ler as regras do fórum!

http://eletronicasilveira.forumeiros.com/t3-regras-do-forum#3


Administrador do Fórum,
Rafael Silveira
HOMENAGEM

Na vida tudo passa tudo acontece mas alguém igual a você a gente jamais esquece




★ 22 de novembro de 1991

† 12 de março de 2016

Nosso eterno amigo, administrador e fundador deste fórum
Quem está conectado
25 usuários online :: 7 usuários cadastrados, Nenhum Invisível e 18 Visitantes :: 2 Motores de busca

amozuo, Andrew Lebon, Carlos Pereira, prensario, rgb audio, surachit, WR-ELETRONICS

[ Ver toda a lista ]


O recorde de usuários online foi de 264 em Seg 18 Mar 2013 - 11:54
Últimos assuntos
» FONTE SIMÉTRICA SEM CI - 280W - PROTEÇÃO CONTRA CURTO
Hoje à(s) 3:10 por surachit

» Presiso de esquema de ampli 5kwrms em 2homs, classe H.
Ontem à(s) 22:24 por inacioalberes5@gmail.com

» Projeto fonte automotiva chaveada 14.4v
Ontem à(s) 19:04 por elementoex

» fonte chaveada ir2156s diodo
Ontem à(s) 18:55 por EdyGuitar

» Detectar cabos e canos em uma parede.
Ontem à(s) 14:07 por Carioquenho

»  NS450 - FONTE CHAVEADA PARTE 2
Sab 19 Maio 2018 - 23:46 por Giovani Musician

» ligacao em ponte no bx
Sab 19 Maio 2018 - 22:58 por djanderson

» placa de fonte para amplificador
Sex 18 Maio 2018 - 14:21 por alex sandro f santos

» SMPS 2500W QUEIMANDO FET
Sex 18 Maio 2018 - 12:21 por foxeletronic

» Ajuda ESQUEMA fonte JFA TURBO 800
Qui 17 Maio 2018 - 22:07 por WR-ELETRONICS

» TRASMISSOR 30W troca transistor
Qui 17 Maio 2018 - 18:33 por oscartec

» Amplificador com TIP 105
Qui 17 Maio 2018 - 11:49 por Sander

» DETECTOR DE METAIS IDX-PRO
Qui 17 Maio 2018 - 9:44 por wagner poltronieri

» Dois Medidores de ESR!!!
Qua 16 Maio 2018 - 14:57 por adriano8959

» ajuda com auto trafo
Qua 16 Maio 2018 - 12:59 por Barsa

Top dos mais postadores
Rafael Silveira (7816)
 
Caca Silva (5986)
 
renatoscp (3862)
 
CMeletronica (3199)
 
michel chagas (2791)
 
Railson (2119)
 
alexsandro rodrigues de a (1798)
 
naldo santos (1599)
 
ablacon64 (1222)
 
gilvantexas (1061)
 

Medidor de Velocidade

Publicidade

Alguém pode me ajudar? Teclado e display no mesmo PORT

Ir em baixo

Alguém pode me ajudar? Teclado e display no mesmo PORT

Mensagem por Caca Silva em Sab 7 Out 2017 - 16:31

Pessoal aos poucos estou aprendendo a programar PICs com o PIC C Compilerseguindo video aulas e foi passado um exemplo aonde se mostra um display alfanumérico e um teclado 4x3 juntos no mesmo PORT mas fiz tudo exatamente como se pede mas não funciona de forma alguma.





Código
Código:

#include <16F628A.h>

#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#use delay(internal=4000000)
#define use_portb_kbd TRUE //Teclado definido para o port B
#include <KBD.C>

char tecla;
#include <lcd.c>

void main()
{
   kbd_init();

   lcd_init();

   while(TRUE)
   {
  tecla=kbd_getc();
  delay_ms(1);
  if (tecla!=0){ //tecla diferente de zero, foi pressionada
  printf(lcd_putc, "%c", tecla);
  delay_ms(200);
  
  }

    
   }

}

Segundo o próprio instrutor, o display é automaticamente definido para o PORTD mas em MCUs que não tem ele que é o caso do 16F628A o display já é definido automaticamente para o PORTB
Já tentei de tudo, mudei de display do LM044L para o LM016L, mudei de PIC do 16F628A para o F88 (refazendo claro todo o código) mas não adianta, o PIC C Compiler compila sem erros, o Isis simula sem erros mas ao pressionar o teclado nada acontece.

_________________
avatar
Caca Silva
ADMINISTRADOR
ADMINISTRADOR

Mensagens : 5986
Data de inscrição : 30/01/2011
Idade : 37
Localização : Ritápolis MG

Voltar ao Topo Ir em baixo

Re: Alguém pode me ajudar? Teclado e display no mesmo PORT

Mensagem por gantunes em Seg 9 Out 2017 - 7:55

Bom dia Caca Silva, primeiro você terá que descobrir quem não está respondendo , se é o teclado ou o LCD, para isso logo após a inicialização do LCD coloque uma linha para imprimir no LCD qq coisa, tipo:
...
void main()
{
  kbd_init();

  lcd_init();

  lcd_gotoxy(1, 1);                    
       printf(lcd_putc, "TESTE LCD");


  while(TRUE)
  {
 tecla=kbd_getc();
...

Se no LCD mostrar na primeira linha "TESTE LCD" o problema está no teclado, ai para testar se o teclado está funcionando, faça assim:
...
while(TRUE)
  {
 tecla=kbd_getc();
 delay_ms(1);
 if (tecla!=0){ //tecla diferente de zero, foi pressionada
 printf(lcd_putc, "%c", tecla);
output_high(PIN_A0);
 delay_ms(2000);
  output_low(PIN_A0);
 }
...

O led deve acender por 2s se qualquer tecla for pressionada, ligue o anodo de um LED ao pino A0 e o katodo a um resistor de 330R que vai ao terra, na simulaçao do ISIS, agora só acho estranho como um único porte vai funcionar como entrada e saída ao mesmo tempo, pode ser que seja tratado internamente pela biblioteca do teclado, não sei como é isso, espero ter ajudado
avatar
gantunes
Nível 1
Nível 1

Mensagens : 31
Data de inscrição : 28/11/2012
Idade : 49
Localização : João Pessoa

Voltar ao Topo Ir em baixo

Re: Alguém pode me ajudar? Teclado e display no mesmo PORT

Mensagem por Caca Silva em Seg 9 Out 2017 - 9:21

Muito obrigado meu amigo mas uma outra pessoa me ajudou aqui ontem e deu certo. Segundo ele tem que declarar sim o LCD no PORT B
#define LCD_DATA_PORT getenv("SFR:PORTB");
#define LCD_ENABLE_PIN  PIN_B0
#define LCD_RS_PIN      PIN_B1
#define LCD_RW_PIN      PIN_B2
#define LCD_DATA4       PIN_B4
#define LCD_DATA5       PIN_B5
#define LCD_DATA6       PIN_B6
#define LCD_DATA7       PIN_B7

Agora enfrento outro dilema kkkkkkk estou aprendendo a colocar senha, fiz tudo direitinho mas não funciona de jeito nenhum
Código:

#include <D628a.h>
#define use_portb_kbd TRUE //Teclado definido para o port B
#include <KBD.C>
#define LCD_DATA_PORT getenv("SFR:PORTB");
#define LCD_ENABLE_PIN  PIN_B0
#define LCD_RS_PIN      PIN_B1
#define LCD_RW_PIN      PIN_B2
#define LCD_DATA4       PIN_B4
#define LCD_DATA5       PIN_B5
#define LCD_DATA6       PIN_B6
#define LCD_DATA7       PIN_B7


char tecla;
char *senha="1122"; // Definição da senha
int i=0; // Contador
int1 errado=0;
#include <lcd.c>

void main()
{
   kbd_init();

   lcd_init();
  
   printf(lcd_putc, "\fDIGITE A SENHA:\n");
 

   while(TRUE)  {
  tecla=kbd_getc();
  delay_ms(1);
  
  if (tecla!=0){ //tecla diferente de zero, foi pressionada
  printf(lcd_putc, "%c", tecla);
  delay_ms(200);
  
  if (senha[i]!=tecla){
  errado=1;  
  }    
  i++;                     //Incremento
  }
  
  
  if (i==4 &&  errado==1){     //Senha errada
  printf(lcd_putc, "\fSENHA INCORRETA");
  delay_ms(5000);
  i=0;
  errado=0;
  printf(lcd_putc, "\fDIGITE A SENHA:\n");  
  }
  
  
  if (i==4 && errado==0){                     // Senha Correta    
  printf(lcd_putc, "\fSENHA CORRETA");
  delay_ms(5000);
  i=0;
  errado=0;
  }
      
  }
                  
  

}

_________________
avatar
Caca Silva
ADMINISTRADOR
ADMINISTRADOR

Mensagens : 5986
Data de inscrição : 30/01/2011
Idade : 37
Localização : Ritápolis MG

Voltar ao Topo Ir em baixo

Re: Alguém pode me ajudar? Teclado e display no mesmo PORT

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum