C
csdominik
Guest
Hej, jeg er i løbet af min 1wszego projekt AT89S52.
For nylig var jeg den heldige ejer af tastaturet knappen "Download" 12 (dette er desværre ikke et tastatur matrix, og har 14 pins), men jeg kunne ikke det gode "håndtag".
Jeg vil gerne scanne 4 byte-kode ind fra tastaturet (fx 1234), og derefter gemme den i registreringsdatabasen (i dette tilfælde i regnskaberne, fordi hver kan rumme 0-255) til at sammenligne den med den rigtige koder, for eksempel, er beliggende i tab1.
Please help.
Jeg tilslutter mig mine forsøg:
Kode:MOV R0, # 0
KEYBOARD:
MOV P1, # 11111111B;
SETB P2.2;
SETB P2.3; er de havne, som jeg har en tilsluttet tastatur
SETB P2.4; sende dem en logisk 1 for at kontrollere dem ved hjælp af "0"
SETB P2.5;
JNB P2.4, Star
JNB P1.0, ZERO
JNB P2.5, Krzyz
JNB P1.7, SEVEN
JNB P2.2, OTTE, her kontroller for at se, om nogen nøgle blev trykket
JNB P2.3, ni
JNB P1.4, FIRE
JNB P1.5, FURNACE
JNB P1.6, seks
JNB P1.1, ONE
JNB P1.2, TO
JNB P1.3, TRE
KEYBOARD JMPZERO:
JNB P1.0, $; forsøg på at fjerne vibrationer?
MOV A, # 00000000B, jeg træder hvad der er blevet presset ind i (eller 0) til A
LCALL DESUDEN her, jeg ville tilføje disse værdier (i 4 faser, tusinder, hundredvis af registreringsdatabasen til 1, og snesevis og enhed til en anden?, Osv.)
MOV m-, # MESSAGE0, sende værdien på LCD-presset
CALL LCD_STRING; jw
INC R0
CJNE R0, # 4, KEYBOARD, kontrolciffer, der er på tur, hvis 4 er et spring ind i maskinskrevet
JMP alarm, hvis ikke gå tilbage til at vente på den næste presning af en af tasterneONE:
JNB P1.0, $
MOV A, # 00000001B
DEC R0
LCALL UD
MOV m-, # MESSAGE0
INC R0
CJNE R0, # 4, KEYBOARD
JMP INDTASTNINGosv.
For nylig var jeg den heldige ejer af tastaturet knappen "Download" 12 (dette er desværre ikke et tastatur matrix, og har 14 pins), men jeg kunne ikke det gode "håndtag".
Jeg vil gerne scanne 4 byte-kode ind fra tastaturet (fx 1234), og derefter gemme den i registreringsdatabasen (i dette tilfælde i regnskaberne, fordi hver kan rumme 0-255) til at sammenligne den med den rigtige koder, for eksempel, er beliggende i tab1.
Please help.
Jeg tilslutter mig mine forsøg:
Kode:MOV R0, # 0
KEYBOARD:
MOV P1, # 11111111B;
SETB P2.2;
SETB P2.3; er de havne, som jeg har en tilsluttet tastatur
SETB P2.4; sende dem en logisk 1 for at kontrollere dem ved hjælp af "0"
SETB P2.5;
JNB P2.4, Star
JNB P1.0, ZERO
JNB P2.5, Krzyz
JNB P1.7, SEVEN
JNB P2.2, OTTE, her kontroller for at se, om nogen nøgle blev trykket
JNB P2.3, ni
JNB P1.4, FIRE
JNB P1.5, FURNACE
JNB P1.6, seks
JNB P1.1, ONE
JNB P1.2, TO
JNB P1.3, TRE
KEYBOARD JMPZERO:
JNB P1.0, $; forsøg på at fjerne vibrationer?
MOV A, # 00000000B, jeg træder hvad der er blevet presset ind i (eller 0) til A
LCALL DESUDEN her, jeg ville tilføje disse værdier (i 4 faser, tusinder, hundredvis af registreringsdatabasen til 1, og snesevis og enhed til en anden?, Osv.)
MOV m-, # MESSAGE0, sende værdien på LCD-presset
CALL LCD_STRING; jw
INC R0
CJNE R0, # 4, KEYBOARD, kontrolciffer, der er på tur, hvis 4 er et spring ind i maskinskrevet
JMP alarm, hvis ikke gå tilbage til at vente på den næste presning af en af tasterneONE:
JNB P1.0, $
MOV A, # 00000001B
DEC R0
LCALL UD
MOV m-, # MESSAGE0
INC R0
CJNE R0, # 4, KEYBOARD
JMP INDTASTNINGosv.