tastaturet 4x4 & LCD probs!

N

nuarizzah

Guest
1.Jeg gjør programmeringen tastaturet 4x4 med pic16f877 (PIC C kompilator), men problemet er tegnet jeg inn Did'nt vises på lcd.LCD-skjermen også fått noen problemer ... noen ganger er det fungerer så bra som programmert, men få minutter etter at merkelige figurer dukket opp ... vet noen om dette ??...

2.da har jeg chganged den programmerte og brukt den med topptekstfilen på tastaturet (kbd.h).men jeg innså at dette topptekstfilen er 4x3 tastaturet .. men jeg er ikke sikker på dette? ..does noen har noen ide? men fortsatt ingenting happpened til tastaturet.!help please!

thankz ..... very much ...

 
Hei!
Hvis u dele ur-koden vil vi være i en bedre posisjon til å hjelpe.
Av veien som kompilatoren du bruker, PICC byCCSC jeg gjette?
Hilsen.

 
hvis du har probs med tastaturet, kan du bruke en nøkkel encoder med det.Se krets her er bare en 74922 kreves
http://booksbybibin.14.forumer.com/viewtopic.php?t=11

Hvis du bruker nøkkel koder, ingen probs vil oppstå knyttet til viktige debouncing

bibin john
www.bibinjohn.tk

 
LCD viser søppel verdi fordi den har fått falske data og styresignaler.Det kan skje på mange måter.Vennligst sjekk foolowing:

1.Did u kontrollere interface tilkobling til LCD?Noen ganger kan det være grunn til å miste loddetinn tilkobling eller miste kontakten på data / kontroll pins.

2.Er din krets gjør alle andre operasjoner? Er søpla verdien kommer etter en bestemt operasjon? Det kan skje at LCD er utløst av bytting av enkelte andre kretser i systemet.I dette tilfellet må du ta nødvendige skritt for å beskytte LCD fra eksterne forstyrrelser.

3.Is Micro-kontrolleren får tilbakestille på dette punktet?4.Bruker du havner der lcd / tastatur er koblet til et annet program?

5.Er portene har interne pull ups?Noen ganger Keyboard's kreve ekstern trekke opp.

 
JEG dont overveie det kan være ekte innganger til problemet ditt med mindre du deler skjematisk og kode eller flere detaljer som nevnt av "Prajit"

Kan være du ikke utstede LCD klare kommando, og andre kommandoer

 
Her er koden og krets ... beklager det "forferdelige" tegning ...
sjekk for meg.tq ....!!!

/ / BRUK PORTB for LCD,
/ / Bruk PORTA (a0, a1, a2, a3) FOR tastaturet i
/ / Bruk PORTC (C0, C1, C2, C3) for tastaturtoner OUT

# include <16f877a.h>
# bruke forsinkelse (klokke = 20000000)
# sikringer hs, noprotect, nowdt, nolvp

# byte Porta = 5
# byte portb = 6
# byte portc = 7

# define use_portb_lcd SANN
# include <lcd.c>

int indata;/ / rad detection modulen
void getkey ()
(
indata = 0;
if (input (PIN_C0) == 0)
(
indata = 0;
)
else if (input (PIN_C1) == 0)
(
indata = 1;
)
else if (input (PIN_C2) == 0)
(
indata = 2;
)

else if (input (PIN_C3) == 0)
(
indata = 3;
)
)

void main ()

(
int mysta;
byte i;
byte k;

setup_port_a (NO_ANALOGS);
set_tris_a (0x00);
set_tris_c (0x8F);

lcd_init ();

lcd_putc ( "\ fTRIAL1 ...!!! \ n");
delay_ms (1000);

gjøre
(
mysta = 0;

/ / Enable 1st column
porta = 0xF7; / / 11110111
getkey ();

if (indata == 0)
(
k = 1;
mysta = 1;
)

else if (indata == 1)
(
k = 4;
mysta = 1;
)

else if (indata == 2)
(
k = 7;
mysta = 1;
)

else if (indata == 3)
(
k ='*';
mysta = 1;
)

if (mysta == 1)
(
lcd_putc (k '0 ');
delay_ms (500);
mysta = 0;
)

/ / Enable 2nd column
porta = 0xFB; / / 11111011
getkey ();

if (indata == 0)
(
k = 2;
mysta = 1;
)

else if (indata == 1)
(
k = 5;
mysta = 1;
)

else if (indata == 2)
(
k = 8;
mysta = 1;
)

else if (indata == 3)
(
k = 0;
mysta = 1;
)

if (mysta == 1)
(
lcd_putc (k '0 ');
delay_ms (500);
mysta = 0;
)

/ / Enable 3dje COLUMN
porta = 0xFD; / / 11111101
getkey ();

if (indata == 0)
(
k = 3;
mysta = 1;
)

else if (indata == 1)
(
k = 6;
mysta = 1;
)

else if (indata == 2)
(
k = 9;
mysta = 1;
)

else if (indata == 3)
(
k ='#';
mysta = 1;
)

if (mysta == 1)
(
lcd_putc (k '0 ');
delay_ms (500);
mysta = 0;
)

/ / Enable 4de COLUMN
porta = 0xFE; / / 11111110
getkey ();

if (indata == 0)
(
k = 'A';
mysta = 1;
)

else if (indata == 1)
(
k = 'B';
mysta = 1;
)

else if (indata == 2)
(
k = 'C';
mysta = 1;
)

else if (indata == 3)
(
k = 'D';
mysta = 1;
)

if (mysta == 1)
(
lcd_putc (k '0 ');
delay_ms (500);
mysta = 0;
)) while (1);
)
<img src="http://images.elektroda.net/54_1174463826_thumb.jpg" border="0" alt="keypad 4x4 &lcd probs!!" title="tastaturet 4x4 & LCD probs!"/>
 

Welcome to EDABoard.com

Sponsor

Back
Top