Witam wszystkich bogów programowania mikrokontrolerów!
Chciałbym poprosić Was o pomoc w stworzeniu programu do AT89C2051.
Dopiero zaczynam sie "bawić" w programowanie mikrokontrolerów, a początki sa bardzo trudne i właśnie dlatego proszę was o pomoc.
Schemat jest podany na rysunku.
To ma być układ sterujący za pomocą pewnego rodzaju joysticka.
Joystick się składa z 4 przycisków (B1, B2, B3, B4) i przełącznika obrotowego (S1,S2,S3). Na rysunku ten samy przełącznik przedstawiłem w postaci 3 przycisków (w zielonej ramce) żeby było bardziej zrozumiale jak to ma działać. Powyżej jest przedstawiony ten sam przełącznik. Chyba poprawnie go nazywam przełącznikiem, myśle, że impulsatorem go nazwać nie można, gdyż po obrocie kontakty zostają złączone. Np.: Złączone są kontakty (jak na rysunku) S i S3. przy obrocie przełącznika w prawo (według wskazówki zegara) kontakty S i S3 sie rozłączają i złączają się kontakty S i S2 i tak zostają, przy kolejnym obrocie S i S2 się rozłączają i złączają się kontakty S i S1 i tak zostają. Przełącznik ma trzy kroki, przy których robi pełne kolo i dalej idzie w kółko (S-S3/S-S2/S-S1/S-S3/S-S2 itd.) jeżeli będziemy go "kręcili" w lewą stronę to będzie odwrotnie.
Ma to działać w ten sposób:
1. Po wciśnięciu przycisku B1 na porcie P1.2 ma być 1 i tak ma zostawać aż puścimy przycisk.
2. Po wciśnięciu B2 na porcie P1.6 ma być 1 i tak ma zostawać aż puścimy przycisk.
3. Po wciśnięciu B3 na portach P1.6 i P1.7 ma być 1 i tak ma zostawać aż puścimy przycisk.
4. Po wciśnięciu B4 na porcie P1.3 ma być 1 i tak ma zostawać aż puścimy przycisk.
5. Po wciśnięciu jednocześnie przycisków B2 i B3 na portach P1.4 i P1.5 ma być 1 i tak ma zostawać az puścimy przyciski.
6. Przy obrocie przełącznika obrotowego S w prawo na Portach P1.5 i P1.6 ma być 1 - impuls o długości ~0.2s.
7. Przy obrocie przełącznika obrotowego S w lewo na porcie P1.5 ma być 1 - impuls o długości ~0.2s.
Będę wdzięczny za wszelkiego rodzaju pomoc w tworzeniu tego programu
Chciałbym poprosić Was o pomoc w stworzeniu programu do AT89C2051.
Dopiero zaczynam sie "bawić" w programowanie mikrokontrolerów, a początki sa bardzo trudne i właśnie dlatego proszę was o pomoc.
Schemat jest podany na rysunku.
To ma być układ sterujący za pomocą pewnego rodzaju joysticka.
Joystick się składa z 4 przycisków (B1, B2, B3, B4) i przełącznika obrotowego (S1,S2,S3). Na rysunku ten samy przełącznik przedstawiłem w postaci 3 przycisków (w zielonej ramce) żeby było bardziej zrozumiale jak to ma działać. Powyżej jest przedstawiony ten sam przełącznik. Chyba poprawnie go nazywam przełącznikiem, myśle, że impulsatorem go nazwać nie można, gdyż po obrocie kontakty zostają złączone. Np.: Złączone są kontakty (jak na rysunku) S i S3. przy obrocie przełącznika w prawo (według wskazówki zegara) kontakty S i S3 sie rozłączają i złączają się kontakty S i S2 i tak zostają, przy kolejnym obrocie S i S2 się rozłączają i złączają się kontakty S i S1 i tak zostają. Przełącznik ma trzy kroki, przy których robi pełne kolo i dalej idzie w kółko (S-S3/S-S2/S-S1/S-S3/S-S2 itd.) jeżeli będziemy go "kręcili" w lewą stronę to będzie odwrotnie.
Ma to działać w ten sposób:
1. Po wciśnięciu przycisku B1 na porcie P1.2 ma być 1 i tak ma zostawać aż puścimy przycisk.
2. Po wciśnięciu B2 na porcie P1.6 ma być 1 i tak ma zostawać aż puścimy przycisk.
3. Po wciśnięciu B3 na portach P1.6 i P1.7 ma być 1 i tak ma zostawać aż puścimy przycisk.
4. Po wciśnięciu B4 na porcie P1.3 ma być 1 i tak ma zostawać aż puścimy przycisk.
5. Po wciśnięciu jednocześnie przycisków B2 i B3 na portach P1.4 i P1.5 ma być 1 i tak ma zostawać az puścimy przyciski.
6. Przy obrocie przełącznika obrotowego S w prawo na Portach P1.5 i P1.6 ma być 1 - impuls o długości ~0.2s.
7. Przy obrocie przełącznika obrotowego S w lewo na porcie P1.5 ma być 1 - impuls o długości ~0.2s.
Będę wdzięczny za wszelkiego rodzaju pomoc w tworzeniu tego programu