8051 mikrokontroléru s klávesnicí

E

eime

Guest
Ahoj všichni členové;

Vlastně, dělám můj projekt 8051 mikrokontroléru s klávesnicí ( 4 * 4), jak systém SMS pomocí assemply jazyk ......
Může někdo pomoci mne s samilar kód ....I mást hodně zvlášť když ikonu stiskněte tlačítko jednou, že by mělo dispaly první prvek Dvojím stisknutím tlačítka displej druhý prvek a tak dále .....

Mohu mít jakékoli pomoci ???????????

Děkuji

Hezký den

 
Zde je kód, který jsem vyslán před časem o připojení 4 x 4 klávesnicí s 8051 mikrokontroléru:
http://www.edaboard.com/viewtopic.php?t=229328
To může být nutné některé úpravy, aby se vešly do vaší aplikace, ale je to dobrý výchozí bod ..

IanP<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 
Zdravím všechny,

Děkuji moc IanP za vaši pomoc .....
Chci se vás zeptat, jestli vám to nevadí ....

Kodex by měl mít vstup z klávesnice a výstup bude dispaly na obrazovce ....
Mám kód, který se na jeden lisování pouze tak, jak to mohu udělat pro použití vyhledávací tabulku s více lisování .......Jsem matoucí s pulty a zpoždění

Vidíte prosím kód a pokusit se hep mě, jestli vám to nevadí ...
Děkuji vám moc ...
eime
Kód:
ORG 8100H; Start umístění ....
MOV SP, # 5FH; Stack Pointer ....

MOV A, # 10011001B, zatížení A = 99h jako výstup (B )....
MOV DPTR, # 0FF43H; kontrolu Zaregistrujte 8051 ....
MOVX @ DPTR, A; Přesun hodnoty z údajů ukazatele ....Znovu: MOV A, # 00001110B; První řada, že budeme kontrolovat na tom, která číslice je ON ....
MOV DPTR, # 0FF41H, Port B jako výstupní port ....
MOVX @ DPTR, A

MOV DPTR, # 0FF42H, Port C jako vstupní PORT ....
MOVX, @ DPTR; Přesuňte hodnotu dat ukazatel ....
ANL A, # 07h; Anded hodnota, která v 07h se dostat na první tři kousky ....

CJNE, # 6, druhé, Srovnání hodnoty a 6, pokud není rovná skočit na další ....
MOV A, # '1 ', a když se hodnota rovná se 6 displejem Char '1' ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaku 1 ....

Ostatní: CJNE, # 5, L, Srovnání hodnotu s 5, pokud není rovná skočit na L ....
MOV A, # '2 ', a když se hodnota rovná s 5 displejem Char '2' ....
LCALL 0093H; místo pro zobrazování na PC monitor ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znak 2 ....

L: CJNE, # 3, N, Srovnání hodnotu a 3, pokud není rovná skočit na N je místo pro druhé řady ....
MOV A, # '3 ', a když se hodnota rovná se 3 displeji Char '3' ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaku 3 ....

N: MOV A, # 00001101B, Druhá řada, že budeme kontrolovat na tom, která číslice je ON ....
MOV DPTR, # 0FF41H, Port B jako výstupní port ....
MOVX @ DPTR, A

MOV DPTR, # 0FF42H, Port C jako vstupní PORT ....
MOVX, @ DPTR; Přesun hodnoty z údajů ukazatele ....
ANL A, # 07h; Anded hodnota, která v 07h se dostat na první tři kousky ....

CJNE, # 6, OTHER1, Srovnání hodnoty a 6, pokud není stejný skok na other1 ....
MOV A, # '4 ', a když se hodnota rovná se 6 displejem Char '4' ....
LCALL 0093H; místo pro zobrazování na PC monitor ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaku 4 ....

OTHER1: CJNE, # 5, L1, Srovnání hodnotu s 5, pokud není rovná skočit na L1 ....
MOV A, # '5 ', a když se hodnota rovná s 5 displejem Char '5' ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaků 5 ....

L1: CJNE, # 3, N1, Srovnání hodnotu a 3, pokud není rovná skočit na N1 je místo pro třetí řadě ....
MOV A, # '6 ', a když se hodnota rovná se 3 displeji Char '6' ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaku 6 ....

N1: MOV A, # 00001011B, Třetí řada, že budeme kontrolovat na tom, která číslice je ON ....
MOV DPTR, # 0FF41H, Port B jako výstupní port ....
MOVX @ DPTR, A

MOV DPTR # 0FF42H; Port C jako vstupní PORT ....
MOVX, @ DPTR; Přesun hodnoty z údajů ukazatele ....
ANL A, # 07h; Anded hodnota, která v 07h se dostat na první tři kousky ....

CJNE, # 6, OTHER2, Srovnání hodnoty a 6, pokud není rovná skočit na other2 ....
MOV A, # "7 '; Pokud je hodnota ve stejný displej s 6 Char '7' ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaku 7 ....

OTHER2: CJNE, # 5, L2, Srovnání hodnotu s 5, pokud není rovná skočit na L2 ....
MOV A, # '8 '; Pokud je hodnota ve stejný s 5 displejem Char '8' ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaků 8 ....

L2: CJNE, # 3, N2, Srovnání hodnotu a 3, pokud není rovná skočit na N2 je místo pro čtvrtou řadu ....
MOV A, # '9 ', a když se hodnota rovná se 3 displeji Char '9' ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaku 9 ....N2: MOV A, # 00000111B; Forth řádek, že budeme kontrolovat to, který znak je ON ....
MOV DPTR, # 0FF41H, Port B jako výstupní port ....
MOVX @ DPTR A

MOV DPTR, # 0FF42H, Port C jako vstupní PORT ....
MOVX, @ DPTR; Přesun hodnoty z údajů ukazatel ....
ANL A, # 07h; Anded hodnota, která v 07h se dostat na první tři kousky ....

CJNE, # 6, OTHER3, Srovnání hodnoty a 6, pokud není rovná skočit na other3 ....
MOV A, # 'X', a když se hodnota rovná se 6 displejem Char '' X ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaků X ....

OTHER3: CJNE, # 5, L3, Srovnání hodnotu s 5, pokud není rovná skočit na L3 ....
MOV A, # 0 '; Pokud je hodnota ve stejný s 5 displejem Char '0' ....
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
ŽMP opět Přejít na hlavní program po zobrazení znaků 0 ....

L3: CJNE A, # 3, N3; Porovnání hodnoty se 3, jestliže to není rovná skočit na N3 ....
MOV ,#'#', a když se hodnota rovná se '#' .... 3 zobrazení Char
LCALL 0093H, místo pro zobrazení na monitoru počítače ....
CALL prodlení; Výzva Delay bloku ....
N3: JMP opět Přejít na hlavní program po zobrazení znak # ....

;################################################# #############################################
;############################################# Delay Blok # # ##################################
;################################################# #############################################

DELAY: MOV R5, # 4H, zpoždění, za 0,5 sekundy ....
L31: MOV R6, # 0FFH
L21: MOV R7, # 0FFH
L11: DJNZ R7, L11
DJNZ R6, L21
DJNZ R5, L31
RETORG 9000H
LUP1: DB 'A', 'B', 'C'
LUP2: DB 'D', 'E', 'F'

END, ukončení programu ....

 
Kód:

MOV A, # 10011001B; Založte = 99h jako výstup (B )....

MOV DPTR # 0FF43H; kontrolu Zaregistrujte 8051 ....

MOVX @ DPTR, A; Přesun hodnoty z údajů ukazatele ....Znovu: MOV A, # 00001110B; První řada, že budeme kontrolovat na tom, která číslice je ON ....

MOV DPTR, # 0FF41H, Port B jako výstupní port ....

MOVX @ DPTR AMOV DPTR, # 0FF42H, Port C jako vstupní PORT ....

MOVX, @ DPTR; Přesun hodnoty z údajů ukazatele ....

ANL A, # 07h; Anded hodnota, která v 07h se dostat na první tři kousky ....

 
Zdravím všechny;

Jak se vám IanP?Doufat, že jste v pořádku ....

I am using FLT_32 mikrořadiče trenér je založen na jeho MCS-8032/51 .. Intel
Projekt by měl předložit pomocí tohoto trenér ....Nemohu použít 8051 40Pins ...

IanP, co mám dělat teď??

Děkuji vám hodně IanP
Hezký den

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Very Happy" border="0" />
 
Z toho, co vidím, tento kód čte vstup a porovnává vstupní s některými čísly a výstupy 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, X a # ..a provoz je možné opakovat každých 0,5 s, jak je to zpoždění, které se vkládá číslo je rozesláno ..
Doposud tebe běh ono, to funguje tímto způsobem, nebo v čem je problém?

Neexistuje žádný odkaz v kódu do tabulek se nachází na 9000h, takže to vypadá, že je možné vynechat ..

IanP<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="Neutrální" border="0" />
 
Zdravím všechny,

IanP máte pravdu, co jsi řekl .....

Chci vědět přidat tento kód do způsobem, jak to funguje jako SMS MOBILE ...
Takže když jsem stiskněte icon 2 jednou musí zobrazovat 'A', a pokud jsem stisknutím stejnou ikonu dvakrát, musí zobrazovat 'B' a tak dále ....

MOV R1, # 00H; za kontraproduktivní
ČTĚTE: MOV DPTR, # LUP1
MOVX, @ DPTR
LCALL 0093H
CALL DELAY
INC R1
INC DPTR
ŽMP ČTĚTE
ORG 9000H
LUP1: DB 'A', 'B', 'C', '2 '

IanP co si myslíte jak mám udělat

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="Pláč nebo velmi smutný" border="0" />

??????

Děkujeme vám IanP

 

Welcome to EDABoard.com

Sponsor

Back
Top