Ir ao conteúdo
  • Cadastre-se
Romolo Gama

PIC PIC acionando LED e identificando no LCD

Posts recomendados

Boa tarde amigos! É minha primeira participação nesse forum de microcontroladores. Estou inciando meus estudos com PIC e CCS e fiz esse circuito:

 

PIC_LED_01.JPG.b1f7305431036a479857034d168d45e5.JPG

Funcionou, fiquei contente! Mas sou admirador de LCD display. 

Alguém poderia me ajudar com um código simples para escrever no LCD (16x2)  a palavra "LED 1" ou "LED 2" quando acionado os botôes?

E aproveitando, vi outros exemplos de estudo com apenas um botão e não dois. Cada pressionado, acende um led apenas.Dá para mudar esse?

Usei esse código para o teste: 

// PIC16F84A LED blink example

// https://simple-circuit.com/

// electronnote@gmail.com



#include <16F84A.h>;

#fuses HS,NOWDT,PUT,NOPROTECT

#use delay(crystal=8000000)



void main(){

   while(TRUE){                  // Endless loop

     if(input(PIN_B0) == 0){     // If RB0 button is pressed

       output_toggle(PIN_A0);    // Toggle RA0 LED status

       delay_ms(500);            // Wait 500 ms

     }

     if(input(PIN_B1) == 0){     // If RB1 button is pressed

       output_toggle(PIN_A1);    // Toggle RA1 LED status

       delay_ms(500);            // Wait 500 ms

     }

   }

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pic e display lcd é dúvida genérica demais e você acha com muita facilidade.

 

50 minutos atrás, Romolo Gama disse:

apenas um botão e não dois. Cada pressionado, acende um led apenas.Dá para mudar esse?

Claro. Apague o 2º if

while(TRUE){                  // Endless loop

     if(input(PIN_B0) == 0){     // If RB0 button is pressed

       output_toggle(PIN_A0);    // Toggle RA0 LED status

       delay_ms(500);            // Wait 500 ms

     }

Em C (de verdade) algo como...

for(;;)// o mesmo que while(1)
{
if (!RB0) {RA0^=1;delay(500);}
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado! Agora só preciso saber como montar um código para usar um LCD 16x2 básico para obter a informação na tela para cada vez que apertar o botão, nomear cada LED que acender. Eu só possuo 16f84A e 12f675, mas temo que o 12f675 não tem portas suficiente um comando desse com 2 LED e mais interface com LCD, por isso estou aprendendo com o 16F84A. Qualquer dica, agradeço muito!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá. De novo o google deve te ajudar nesta façanha genérica de escrever no display lcd. Depois de conseguir, escrever algo dependente de botão no display é fácil

Algo como:
 

#define bt1 RA1
#define bt2 RA2
#define bt3 RA3
...

if (!bt1) printlcd(''led1'');
if (!bt2) printlcd(''led2'');
if (!bt3) printlcd(''led3'');
...

Desculpe mas não uso ccs. A exemplo do arduíno, a sintaxe dele é muito xata e percebes que mais complexa que a acima

 

Pra usar o f675 com display você deve lançar mão de um shift register qualquer...

Schematic_21.png

http://www.electronics-lab.com/project/3-wire-serial-lcd-using-a-shift-register/

☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️☝️

Tem exemplo bacaninha no site acima

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, muito obrigado! 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!