PIC + Teclado + LCD

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

PIC + Teclado + LCD

Mensagempor eduardo_gsp_oliveira » 27 Jun 2009 20:12

ola a todos

estou querendo fazer um programa que mostre no LCD o numero que eu aperto no teclado (4linhas e 3 colunas), mas naum sei como fuinciona a lib KBD.c e se alguem tiver uma mais atualizada ou modificada "pra melhor claro rs"para me passar tb agradeço

uso o CCS C e gostaria de desenvolver esse prog para pic16f877 ou 628

obrigado
eduardo_gsp_oliveira
Bit
 
Mensagens: 29
Registrado em: 25 Jun 2009 18:31

Mensagempor eduardo_gsp_oliveira » 01 Jul 2009 17:26

e ai ninguem responde pq a pergunta foi muito boba? :? :?
peço desculpa a todos do forum mas eu sou iniciante se alguem puder me ajudar fico muito grato

novamente obrigado
eduardo_gsp_oliveira
Bit
 
Mensagens: 29
Registrado em: 25 Jun 2009 18:31

Mensagempor Francesco » 03 Jul 2009 09:15

Eduardo,

Não conheço essa KBD.c. coloque o fonte aqui para te ajudarmos.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor Orcino » 06 Jul 2009 22:08

Nos exemplos que vem com o CCS tem o arquivo EX_LCDKB.C que é um exemplo de teclado 4X3 e LCD 16x2. Veja se ajuda, se tiver alguma duvida, coloca aqui.

Orcino
Orcino
Bit
 
Mensagens: 19
Registrado em: 06 Dez 2006 22:07

Mensagempor eduardo_gsp_oliveira » 02 Ago 2009 15:23

obrigado pela ajuda
depois de tanto vasculhar no ccs, acho que meu problema não esta sendo a programação e sim como ligar o teclado no pic.

se vc puder me dar alguma informação sobre isso ajudaria muito

outra coisa, na lib fala pra conectar o teclado atraves de pull up resistor nas colunas, mas não consegui fazer isso, e tambem vi uns artigos dizendo que vc configura no programa se vai ter pull up resistor ou pull down resistor

como ainda sou novo nisso gostaria de mais ajuda, informações e exemplos de programas com teclado

desde ja agradeço
eduardo_gsp_oliveira
Bit
 
Mensagens: 29
Registrado em: 25 Jun 2009 18:31

Mensagempor _blackmore_ » 02 Ago 2009 16:00

eduardo_gsp_oliveira

bixo ... qual é a tua dificuldade ... programação ou eletrônica ...
No livro do fábio pereira, programação em C tem um exemplo e tem esquema simples para utilização de teclado e LCD ...
algo importante, muitas vezes é passar mais detalhes sobre o teu esquema e exatamente qual é a tua dificuldade, seja eletrônica ou programação.
E vá chamando que tentaremos ajudar ...

abrax!
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor eduardo_gsp_oliveira » 02 Ago 2009 19:30

ok vou deixar claro
esse é o circuito que estou tentando fazer

http://spa.fotolog.com.br/photo/42/0/67 ... 0049_f.jpg

esse é o programa
Código: Selecionar todos

#if defined (__PCH__)
#include <18F452.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
#FUSES HS                       //High speed Osc (> 4mhz)
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOOSCSEN                 //Oscillator switching is disabled, main oscillator is source
#FUSES NOBROWNOUT               //No brownout reset
#FUSES BORV27                   //Brownout reset at 2.7V
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOSTVREN                 //Stack full/underflow will not cause reset

#use delay(clock=8000000)
#use rs232(baud=9600, xmit=PIN_C5,rcv=PIN_C4)

#define LCD_ENABLE_PIN PIN_B0
#define LCD_RS_PIN     PIN_B1
#define LCD_RW_PIN     PIN_B2
#define LCD_DATA0      PIN_B4
#define LCD_DATA1      PIN_B5
#define LCD_DATA2      PIN_B6
#define LCD_DATA3      PIN_B7
#include <lcdnovo.c>
#include <kbd.c>


void funcreg()                                 //Função secundaria - contagem regressiva no LCD
{
   signed int conta;                      //declara variavel conta como int com variação de sinal +/-
   for (conta=5; conta>=0; conta--)       //mostra no LCD uma contagem regressiva de 5 a 0
   {                                      // \f= limpa LCD - %u= mostra um valor int sem sinal
      printf(lcd_putc,"\fcontagem regressiva %u", conta);
      delay_ms(300);                      //tempo de 300ms
   }
}


void main()
{
   char k;
   
   lcd_init();
   kbd_init();
   
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   //Setup_Oscillator parameter not selected from Intr Oscillotar Config tab

   
   output_a(0x00);                        //seta todas as portas A, B, C, D
   output_b(0x00);                        //para zero - 0x00 significa 0 em hexadecima
   output_c(0x00);                        //sendo assim 00000000 em binario assim zerando
   output_d(0x00);                        //x0,x1,x2,x3,x4,x5,x6,x7
   funcreg();                             //chama a função contagem regressiva
   while (true)
   {
      k=kbd_getc();
      lcd_putc(k);
      delay_ms (2000);
   }
   


   // TODO: USER CODE!!

}


mas na hora de simular não funciona, peço desculpa caso seja um erro muito bobo, mas é que sou iniciante em pic

desde ja agradeço
eduardo_gsp_oliveira
Bit
 
Mensagens: 29
Registrado em: 25 Jun 2009 18:31

Mensagempor fabim » 02 Ago 2009 19:33

eduardo, onde você configura pinos como entrada ou saida, aí nesse fonte?

fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor eduardo_gsp_oliveira » 04 Ago 2009 19:24

ola fabim,
então eu não configurei entradas nem saidas pq quando quero usar o LCD naum preciso configurar isso, somente configuro as portas de acesso

Com o KBD tem de configurar isso ?
eduardo_gsp_oliveira
Bit
 
Mensagens: 29
Registrado em: 25 Jun 2009 18:31


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x