Página 1 de 1
PIC + Teclado + LCD

Enviado:
27 Jun 2009 20:12
por eduardo_gsp_oliveira
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

Enviado:
01 Jul 2009 17:26
por eduardo_gsp_oliveira
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

Enviado:
03 Jul 2009 09:15
por Francesco
Eduardo,
Não conheço essa KBD.c. coloque o fonte aqui para te ajudarmos.

Enviado:
06 Jul 2009 22:08
por Orcino
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

Enviado:
02 Ago 2009 15:23
por eduardo_gsp_oliveira
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

Enviado:
02 Ago 2009 16:00
por _blackmore_
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!

Enviado:
02 Ago 2009 19:30
por eduardo_gsp_oliveira
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

Enviado:
02 Ago 2009 19:33
por fabim
eduardo, onde você configura pinos como entrada ou saida, aí nesse fonte?
fabim

Enviado:
04 Ago 2009 19:24
por eduardo_gsp_oliveira
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 ?