• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Zlecę napisanie programu na symulatorze edsim 51
#3
Ja przez pewien czas zastanawiałem się, czy to przypadkiem nie jest jakiś żart.
No bo, jeśli masz problem z miganiem diodą, to jesteś na pewno początkujący.
I na początku przygody z uC masz takie problemy ze zrozumieniem materiału, że jesteś gotowy zapłacić za jego napisanie innej osobie, to nie wróżę Ci w tej dziedzinie wielkiej kariery.

Ja w asm nie pisałem z 10 lat, a '51 widziałem ostatnio pewnie ze 20 lat temu, więc Ci nie pomogę.
Ale mogę coś podpowiedzieć:

Stwórz sobie pętlę główną, a w niej sprawdzaj stan przycisku. Jeśli został naciśnięty to skocz do funkcji obsługi diody, a stamtąd do pętli delay.

Kod:
  main: jnb p2.0, led            ;sprawdzam przycisk, a jeśli wciśnięty to ->led
         call main        ;zapętlam

   led: clr p1.6        ;zapalam diodę
        call delay        ;->delay
        setb p1.6        ;zgaś diodę
        call main        ; wróć do main

delay: mov r5, #50
petla0: mov r6, #200
petla1: mov r7, #250
petla2: djnz r7,petla2
        djnz r6,petla1
        djnz r5,petla0
        ret
Ten delay to sobie policzyłem tak, że każde djnz to dla 12MHz jest równe 2uS. Masz zagnieżdżone trzy pętle:
50x200x250x2uS=5000000uS=5S
Jeszcze dochodzą powroty, więc pewnie jest ze 30mS z górką, ale już mi się nie chciało.
Można to zrobić na timerach, to nie blokowało by programu, ale na początek nauki powinno być OK.

P.S: Daję Ci ten kod za darmo.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Zlecę napisanie programu na symulatorze edsim 51 - przez Robson Kerman - 06-11-2020, 10:33

Skocz do:


Przeglądający: 2 gości