4x4 tipkovnico za povezovanje PIC18f458

C

csr1981

Guest
Živjo,

hočem inetrface 4x4 tipkovnico, da bi PIC18f458.

Jaz sem z uporabo spodaj vezje, vendar moja koda ne deluje.<img src="http://images.elektroda.net/15_1263875501.jpg" border="0" alt="4x4 Keypad interfacing to PIC18f458" title="4x4 Tipkovnica vmesnik za komunikacijo z PIC18f458"/>Ko sem simulacijo v proteus to tovarna šele doesnot delo v strojni opremi.

Please help.Če katera c koda je na voljo, plz pomoč s tem tudi.

Hvala.

 
Hi csr1981,

Kako simulirajo uporabljajo samo konektor namesto tipkovnice?Please post kodo, tako da bomo lahko pomagali vam.

 
Živjo,
Keyboard povezave<img src="http://www.imaginetools.com/documentation/docs/manuals/MicroStarterKit/images/hwmatrix.gif" border="0" alt="4x4 Keypad interfacing to PIC18f458" title="4x4 Tipkovnica vmesnik za komunikacijo z PIC18f458"/>Oprostite, toda morate prijavo na ogled te priloge

 
Živjo,
V tokokrog pod pogojem, si pozabil, da je MCLR pin visoke, tako da mikrokrmilniška v prikrivati način in ne stori ničesar.Connect MCLR zaponka, da v 5 z upor (okoli 10k) in poskusite to.
Upanje to pomoč.
Tahmid.

 
Hi Tahmid

sem imel pravkar objavil del mojega vezja.Imam povezan MCLR zaponka na Vcc.
Vse druge stvari delajo v redu.
Le tipkovnica ne deluje.

 
Živjo,
Mogoče bi morali pull-down RD0, RD1, RD2 in RD3 na zemlji, z 10k upori.
Storim, da ko sem uporabo tipkovnice.
Tahmid.

 
Tahmid wrote:

Živjo,

Mogoče bi morali pull-down RD0, RD1, RD2 in RD3 na zemlji, z 10k upori.

Storim, da ko sem uporabo tipkovnice.

Tahmid.
 
Hi Tahmid,

Ja ni problema, lahko jaz raba mikroC.
Tudi če lahko daste ckt strojno opremo.

Hvala.

 
csr1981 wrote:

Hi Tahmid,Ja ni problema, lahko jaz raba mikroC.

Tudi če lahko daste ckt strojno opremo.Hvala.
 
Predlagamo vam, da uporabite aktivno nizko logiko_Output nizko na kateri koli od 4 izhodi, nato pa poiščite na nizko 4 vhodi.Potrebovali boste pullup upori na 4 vhodi, lahko notranje šibke pullups je ok, če je pristanišče njih, bi šel za zunanje sebi 1-10k ok, jaz ponavadi uporabljajo 4K7.Dodano po 6 minutah:Simulacija daje dober pokazatelj, da lahko vezje dela, vendar pa je to v mnogih primerih ne upošteva dejanskih pogojih.V teoriji bi si vezje delo, v praksi ne.Dodano po 5 minutah:To je 3x4.Mogoče bo to vam nekaj idej.

/ / Read tipkovnico in vrne Digit Value

unsigned char GetKey (void)
(/ / Get Keypress Active Low
unsigned char Digit, KeyRead;
C1 = 0; C2 = 1; C3 = 1; / / stolpec 1 On
DelayMs (3);
KeyRead = (P2 & 0x0F);
if (KeyRead == 14) (Digit = 1; goto Preskoči;) / / Read Vrstice in Prevedi
if (KeyRead == 13) (Digit = 4; goto Skip;)
if (KeyRead == 11) (Digit = 7; goto Skip;)
if (KeyRead == 7) (Digit = 10; goto Preskoči;) / / Cancel Key

C1 = 1; C2 = 0; C3 = 1; / / stolpec 2 On
DelayMs (3);
KeyRead = (P2 & 0x0F);
if (KeyRead == 14) (Digit = 2; goto Skip;)
if (KeyRead == 13) (Digit = 5; goto Skip;)
if (KeyRead == 11) (Digit = 8; goto Skip;)
if (KeyRead == 7) (Digit = 0; goto Skip;)

C1 = 1; C2 = 1; C3 = 0; / / stolpec 3 On
DelayMs (3);
KeyRead = (P2 & 0x0F);
if (KeyRead == 14) (Digit = 3; goto Skip;)
if (KeyRead == 13) (Digit = 6; goto Skip;)
if (KeyRead == 11) (Digit = 9; goto Skip;)
if (KeyRead == 7) (Digit = 11;) / / Call Key

Skip:
Blip ();
DelayMs (30);
while ((P2 & 0x0F)! = 0x0F); ResetWD (); / / Počakajte Key Release
vrnitev Digit;
)

 
Živjo,
To je vzorčna koda, ki v mikroC v8.2:
Code:

unsigned kratko kp, CNT;

char txt [5];void main () (

CNT = 0;

Keypad_Init (PORTC &);

Lcd_Init (& PORTB); / / Initialize LCD na PORTC

Lcd_Cmd (LCD_CLEAR); / / Clear prikaz

Lcd_Cmd (LCD_CURSOR_OFF), / / Cursor offLcd_Out (1, 1, "Key:");

Lcd_Out (2, 1, "Times:");do (

kp = 0;//--- Počakajte, da je treba pritisniti tipko

narediti

//--- Un-comment eno od funkcij tipkovnice branje

kp = Keypad_Released ();

/ / kp = Keypad_Read ();

while (! kp);CNT ;//--- Pripraviti vrednost za izhod

if (kp> 10)

kp = 54;

še

kp = 47;//--- Natisnete na LCD

Lcd_Chr (1, 10, kp);

WordToStr (CNT, txt);

Lcd_Out (2, 10, txt);) While (1);

}//~!
 

Welcome to EDABoard.com

Sponsor

Back
Top