J
jandreas
Guest
hello ..Neki sam problema sa mojim projektom nadam se da moete pomoć sa ovaj neki ...ovdje je problem, imam je napravio je zbor plan to ček lozinka Koji ...Program ide dobro s 3 lozinka biti provjereni.1 sadri lozinku od 4 znamenke, JA iskoriten za provjeru Svako DPTR malo informacija od tipkovnice.nah problem je sam htio poslati ime korisnika lozinku 24c64or moda LCD, nakon to program provjerava svaku malo lozinke i mora ispraviti previe.nah Moete li pomoć mene to poputanje Neki programi odnose s tim ..ao mi je objasniti najgore, ja ću, naravno, pokazati moje:Added nakon 5 minuta:ao mi je, ja se AT89s51.here je moj program
org 0h
start: mov DPTR, # odgovarajuće
poziva init_LCD
mov R3, # 0h
mov r2, # 04h;
mov R1, # 085h, Lokacija Prikaz RAM, row = 1 col = 5
poziva write_inst
sjmp key1
;------------------------------------------------- ----------------------;
; Potprogram LCD;
;------------------------------------------------- ----------------------;
Init_lcd:
mov r1, # 00000001b; Prikaz jasno
poziva write_inst
mov r1, # 00111000b; Funkcija postavlja, Podaci 8 bita, 2 linije fonta 5x7
poziva write_inst
mov r1, # 00001100b; Prikaz na, pokazivač off, kursor treperi izvan
poziva write_inst
mov r1, # 00000110b; Entry način, Set koracima
poziva write_inst
dijamant
;
Write_inst:
CLR P3.6, P3.6 = RS = 0
mov P0, R1; P0 = D7 s / d D0 = R1
setb P3.7, P3.7 = HR = 1
poziva kanjenja, nazovite vrijeme kanjenja
CLR P3.7, P3.7 = HR = 0
dijamant
;
Write_data:
setb P3.6, P3.6 = RS = 1
mov P0, R1; P0 = D7 s / d D0 = R1
setb P3.7, P3.7 = HR = 1
poziva kanjenja, nazovite vrijeme kanjenja
CLR p3.7; P3.7 = HR = 0
dijamant
;
kanjenje: mov R0, # 0
delay1: mov R7, # 0fh
djnz R7, $
djnz R0, delay1
dijamant
;------------------------------------------------- ---------;
; Potprogram Bounce:
;------------------------------------------------- ---------;
scan:; dio za provjeriti da paswword je ispravan ili ne
mov, R3
dodavanje, R4
mov R3,
djnz r2, key1
cjne R5, # 04h, krajend:
sjmp kraj
ponovno:
JNB p1.4, $
mov r0, # 0ffh
Bounce:
JNB p1.4, opet
djnz R0, odskočiti
sjmp skeniranje
lagi1:
JNB p1.5, lagi1
mov r0, # 0ffh
bounce1:
JNB p1.5, lagi1
djnz R0, bounce1
sjmp skeniranje
lagi2:
JNB p1.6, lagi2
mov r0, # 0ffh
bounce2:
JNB p1.6, lagi2
djnz R0, bounce2
sjmp skeniranje
;------------------------------------------------- -;
; Potprogram tipkovnicu;
;------------------------------------------------- -;
key1: mov P1, # 0feh; brojeva 1,2,3
jb p1.4, key2
mov r1, # '1 '
poziva write_data
poziva provjeriti
ponovno nazvati
key2: JB p1.5, key3
mov r1, # '2 '
poziva write_data
poziva provjeriti
poziva lagi1
key3: JB p1.6, key4
mov r1, # '3 '
poziva write_data
poziva provjeriti
poziva lagi2
key4: mov P1, # 0fdh; brojeva 4,5,6
jb p1.4, key5
mov r1, # '4 '
poziva write_data
poziva provjeriti
ponovno nazvatikey5: JB p1.5, key6
mov r1, # '5 '
poziva write_data
poziva provjeriti
poziva lagi1
key6: JB p1.6, key7
mov r1, # '6 '
poziva write_data
poziva provjeriti
poziva lagi2key7: mov P1, # 0fbh; brojeva 7,8,9
jb p1.4, key8
mov r1, # '7 '
poziva write_data
poziva provjeriti
ponovno nazvati
key8: JB p1.5, key9
mov r1, # '8 '
poziva write_data
poziva provjeriti
poziva lagi1
key9: JB p1.6, key0
mov r1, # '9 '
poziva write_data
poziva provjeriti
poziva lagi2
key0: mov P1, # 0f7h; znamenke 0
jb p1.5, key1
mov r1, # '0 '
poziva write_data
poziva provjeriti
poziva lagi1
;------------------------------------------------;
, Malo lozinku koja će se provjeriti;
;------------------------------------------------;
provjerite:
mov R4, # 03h
stane:
CLR
mov, R3
movc, @ DPTR
inc R3
djnz R4, re-
subb, R1
cjne, # 0h, fiksno
inc R5
fiksna:
dijamant
Re:
subb, R1
Tru:
cjne, # 0h, opremljen
inc R5
dijamantprimjereno:
db 31h, 34h, 32h
db 31h, 33h, 32h
db 31h, 32h, 32h
db 31h, 31h, 32h
;
krajAko te momački imati jo jedan način da to učinite mojim projektima, ja ću biti zahvalan.hvala vam
org 0h
start: mov DPTR, # odgovarajuće
poziva init_LCD
mov R3, # 0h
mov r2, # 04h;
mov R1, # 085h, Lokacija Prikaz RAM, row = 1 col = 5
poziva write_inst
sjmp key1
;------------------------------------------------- ----------------------;
; Potprogram LCD;
;------------------------------------------------- ----------------------;
Init_lcd:
mov r1, # 00000001b; Prikaz jasno
poziva write_inst
mov r1, # 00111000b; Funkcija postavlja, Podaci 8 bita, 2 linije fonta 5x7
poziva write_inst
mov r1, # 00001100b; Prikaz na, pokazivač off, kursor treperi izvan
poziva write_inst
mov r1, # 00000110b; Entry način, Set koracima
poziva write_inst
dijamant
;
Write_inst:
CLR P3.6, P3.6 = RS = 0
mov P0, R1; P0 = D7 s / d D0 = R1
setb P3.7, P3.7 = HR = 1
poziva kanjenja, nazovite vrijeme kanjenja
CLR P3.7, P3.7 = HR = 0
dijamant
;
Write_data:
setb P3.6, P3.6 = RS = 1
mov P0, R1; P0 = D7 s / d D0 = R1
setb P3.7, P3.7 = HR = 1
poziva kanjenja, nazovite vrijeme kanjenja
CLR p3.7; P3.7 = HR = 0
dijamant
;
kanjenje: mov R0, # 0
delay1: mov R7, # 0fh
djnz R7, $
djnz R0, delay1
dijamant
;------------------------------------------------- ---------;
; Potprogram Bounce:
;------------------------------------------------- ---------;
scan:; dio za provjeriti da paswword je ispravan ili ne
mov, R3
dodavanje, R4
mov R3,
djnz r2, key1
cjne R5, # 04h, krajend:
sjmp kraj
ponovno:
JNB p1.4, $
mov r0, # 0ffh
Bounce:
JNB p1.4, opet
djnz R0, odskočiti
sjmp skeniranje
lagi1:
JNB p1.5, lagi1
mov r0, # 0ffh
bounce1:
JNB p1.5, lagi1
djnz R0, bounce1
sjmp skeniranje
lagi2:
JNB p1.6, lagi2
mov r0, # 0ffh
bounce2:
JNB p1.6, lagi2
djnz R0, bounce2
sjmp skeniranje
;------------------------------------------------- -;
; Potprogram tipkovnicu;
;------------------------------------------------- -;
key1: mov P1, # 0feh; brojeva 1,2,3
jb p1.4, key2
mov r1, # '1 '
poziva write_data
poziva provjeriti
ponovno nazvati
key2: JB p1.5, key3
mov r1, # '2 '
poziva write_data
poziva provjeriti
poziva lagi1
key3: JB p1.6, key4
mov r1, # '3 '
poziva write_data
poziva provjeriti
poziva lagi2
key4: mov P1, # 0fdh; brojeva 4,5,6
jb p1.4, key5
mov r1, # '4 '
poziva write_data
poziva provjeriti
ponovno nazvatikey5: JB p1.5, key6
mov r1, # '5 '
poziva write_data
poziva provjeriti
poziva lagi1
key6: JB p1.6, key7
mov r1, # '6 '
poziva write_data
poziva provjeriti
poziva lagi2key7: mov P1, # 0fbh; brojeva 7,8,9
jb p1.4, key8
mov r1, # '7 '
poziva write_data
poziva provjeriti
ponovno nazvati
key8: JB p1.5, key9
mov r1, # '8 '
poziva write_data
poziva provjeriti
poziva lagi1
key9: JB p1.6, key0
mov r1, # '9 '
poziva write_data
poziva provjeriti
poziva lagi2
key0: mov P1, # 0f7h; znamenke 0
jb p1.5, key1
mov r1, # '0 '
poziva write_data
poziva provjeriti
poziva lagi1
;------------------------------------------------;
, Malo lozinku koja će se provjeriti;
;------------------------------------------------;
provjerite:
mov R4, # 03h
stane:
CLR
mov, R3
movc, @ DPTR
inc R3
djnz R4, re-
subb, R1
cjne, # 0h, fiksno
inc R5
fiksna:
dijamant
Re:
subb, R1
Tru:
cjne, # 0h, opremljen
inc R5
dijamantprimjereno:
db 31h, 34h, 32h
db 31h, 33h, 32h
db 31h, 32h, 32h
db 31h, 31h, 32h
;
krajAko te momački imati jo jedan način da to učinite mojim projektima, ja ću biti zahvalan.hvala vam