• 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
#1
Dzień Dobry,
Mam do napisania programik na symulatorze edsim51 (do zainstalowania symulatora konieczne jest zainstalowanie środowiska JAVA pod Windows). 
Mogę dołączyć spakowany symulator na którym ma być zapisany kod programu.
Program jest następujący:
//proszę napisać program załączający i wyłączający diodę LED 6 (P1.6) po wciśnięciu przycisku SW 0 (P2.0) i odliczeniu czasu 5 sekund, korzystając z symulatora//
 
Odpowiedź
#2
Co to, jakieś zadanie ze studiów? XD
 
Odpowiedź
#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ź
  


Skocz do:


Przeglądający: 1 gości