Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Program prosze o analize i ewentualne poprawki i wyjasnienie

dawidopl
-
-
Posty:4
Rejestracja:27 mar 2012, o 11:49
Program prosze o analize i ewentualne poprawki i wyjasnienie

Postautor: dawidopl » 27 mar 2012, o 11:51

Chciał bym się upewnić czy program dobrze został napisany.

W programie wykorzystaj rejestry R4 R5 R6 R7 z banku 2 a wartości liczbowe w postaci heksadecymalnej.
Początek programu zasygnalizuj włączeniem diody LED na czas 2 s, następnie w akumulatorze umieść wartość X(X=4Ah+"plus") swój numer w dzienniku ( ja rozwiazuje to zadanie dla numeru w dzienniku 26). Wykonaj 3 zmiany zawartości akumulatora tzn. wyzeruj bit 0,2,5 zaneguj bit 0, 4, 6 oraz ustaw bit 3 i 7 w akumulatorze. Po wykonaniu wszystkich operacji na wyswietlacz LCD ma byc wpisana zawartość przed i po zmianach i po każdej zmianie ( na LCD powinno pojawić sie 4 wartości w odstępie 1 s)


PROGRAM
LJMP START
ORG 100H
START:
LCALL LCD_CLR
SETB RS1
CLR P1.7
MOV A,#14H
LCALL DELAY_100MS
SETB P1.7
MOV A,#64H >>> 4AH czyli 64+10 +26 = 100 = 64H
MOV R7,A
CLR ACC.0
CLR ACC.2
CLR ACC.5
MOV R6,A
CPL ACC.0
CPL ACC.4
CPL ACC.6
MOV R5,A
SETB ACC.3
SETB ACC.7
MOV R4,A
MOV A,R7
LCALL WRITE_HEX
MOV A,#0AH
LCALL DELAY_100MS
LCALL LCD_CLR
MOV A,R6
LCALL WRITE_HEX
MOV A,#0AH
LCALL DELAY_100MS
LCALL LCD_CLR
MOV A,R5
LCALL WRITE_HEX
MOV A,#0AH
LCALL DELAY_100MS
LCALL LCD_CLR
MOV A,R4
LCALL WRITE_HEX
MOV A,#0AH
LCALL DELAY_100MS
LJMP $

Awatar użytkownika
Tomasz Gumny
-
-
Posty:685
Rejestracja:4 lut 2004, o 23:31
Lokalizacja:Trzcianka/Poznań

Re: Program prosze o analize i ewentualne poprawki i wyjasni

Postautor: Tomasz Gumny » 27 mar 2012, o 14:40

MOV A,#64H >>> 4AH czyli 64+10 +26 = 100 = 64H
MOV R7,A
CLR ACC.0
CLR ACC.2
CLR ACC.5
MOV R6,A
Ze względu na te "wartości liczbowe w postaci heksadecymalnej" chyba bardziej będzie pasować:

Kod: Zaznacz cały

MOV A,64H MOV,R7,0DAH ;11011010b ANL A,R7 MOV R6,A
Analogicznie można zrobić pozostałe operacje.

dawidopl
-
-
Posty:4
Rejestracja:27 mar 2012, o 11:49

Re: Program prosze o analize i ewentualne poprawki i wyjasni

Postautor: dawidopl » 27 mar 2012, o 16:31

czyli normalnie wykonac to rozkazami ALN XRL i ORL?? a czy możemy tak zmieniąc wartości gdy są one wpisane w akumulator czy jednak trzeba pisac przykladowo CLR ACC.0

dawidopl
-
-
Posty:4
Rejestracja:27 mar 2012, o 11:49

Re: Program prosze o analize i ewentualne poprawki i wyjasni

Postautor: dawidopl » 27 mar 2012, o 17:30

jakoś tego nie moge rozkminic

dawidopl
-
-
Posty:4
Rejestracja:27 mar 2012, o 11:49

Re: Program prosze o analize i ewentualne poprawki i wyjasni

Postautor: dawidopl » 27 mar 2012, o 18:28

aaaaa dobra juz wszystko wiem dziekuje za wyjasnienie

Wróć do „8051”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości