problem z napisaniem programu

Tu piszemy wiadomość, jeżeli zadanie domowe sprawia kłopot
i szybko potrzebujemy pomocy w rozwiązaniu.
ODPOWIEDZ
maxxx_89
-
Posty: 1
Rejestracja: 01 cze 2008, 8:31
Lokalizacja: BTM

problem z napisaniem programu

Post autor: maxxx_89 » 06 cze 2008, 17:00

Mam takie zadanko i nie wiem jak je zrobic?? jestem nowy na forum i nawet nie wiem czy w dobrym miejscu to zamieszczam prosze o pomoc pozdro


1.Konieczne jest poprawienie i uruchomienie nastepujacego programu. Program ma powodować mruganie diody świecącej.

Kod: Zaznacz cały

mov p1,#255 
uczen: 
cpl p1.2 
lcall czas 
ljmp uczen 
czasy: 
mov r0,#250 
leniuch: 
mov r1,#250 
osiol: 
djnz r0,osiol 
djnz r1,leniuch 
ret 
2. Należy zmienic program tak aby po naciśnieciu i przytrzymaniu klawisza C dioda nie mrugała. Puszczenie klawisza C ma wznowic mruganie.
Ostatnio zmieniony 07 cze 2008, 7:12 przez maxxx_89, łącznie zmieniany 1 raz.

Awatar użytkownika
Luminofor
Użytkownik
Posty: 1373
Rejestracja: 27 lis 2007, 17:17
Lokalizacja: Polska

Post autor: Luminofor » 06 cze 2008, 19:07

Widzę kilka błędów:
Po pierwsze pisz kod drukowanymi literami, stosuj wciecia programistyczne i komentarze
Po drugie nie mov p1,#255 tylko MOV R1,#255
Po trzecie dioda jest na innym pinie pierwszego portu, a na jakim to już sobie poszukaj :D

ZbeeGin

Post autor: ZbeeGin » 07 cze 2008, 7:22

MichalKaszuba pisze:Po drugie nie mov p1,#255 tylko MOV R1,#255
Tu się kolega myli. 8051 przewiduje sytuację, że chcesz stałą wpisać pod adres w pamięci. Zatem instrukcja mov p1, #255 jest jak najbardziej poprawna, gdyż "p1" zostanie zamienione przez asembler na adres - w tym wypadku portu P1 w przestrzeni SFR tego procesora.
Po pierwsze pisz kod drukowanymi literami, stosuj wciecia programistyczne i komentarze
Tak byłoby najlepiej. Jednak większośc asemblerów nie wymaga by mnemoniki pisać z dużej litery. A co do ułożenia tekstu to rzeczywiście źle się czyta ten program. Komentarze w takim krótkim fragmencie są prawie zbędne, wszystko widać jak na dłoni co program robi.

Błędy w tym programie są inne niż te co "wykrył" kol. MichałKaszuba. Podpowiem tylko, że są dwa.

ODPOWIEDZ