Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki

[8051] zbieranie danych z myszki

Astem 16 Kwi 2011 12:32
  • #1 16 Kwi 2011 12:32
    Astem
    Poziom 7  

    Witam!
    Muszę przygotować kod, najlepiej w assemblerze, dla 8051 tak, aby pobierał dane ze starej myszki (mam tu produkt Mitsumi Electronics, model ECM-S31 z układem MM74C14N).
    Chwilowo nie mam jeszcze pojęcia jak się za to zabrać. Moglibyście mnie jakoś nakierować? Możliwe, że będę musiał zdobyć informacje, jak wygląda jakaś ramka komunikacyjna czy podobne? Prosiłbym o pomoc, to zupełnie nowe zagadnienia dla mnie.

  • #4 15 Maj 2011 23:05
    Astem
    Poziom 7  

    Dziękuję za pomoc. Chwilę mnie tutaj nie było, ale byłem zajęty innymi projektami, dużo tego...
    Chciałem zapytać bardziej doświadczonych użytkowników o jedną kwestię. Otóż, muszę sam odgadnąć, który przewód jest od którego sygnału. Problem pojawia się przy enkoderze. Generuje on dwa sygnały prostokątne:
    [8051] zbieranie danych z myszki
    Jestem w stanie namierzyć, który przewód jest od którego sygnału bez użycia oscyloskopu? Jakąś sprytną sztuczką?

  • #6 20 Maj 2011 13:46
    Astem
    Poziom 7  

    Dziękuję za dotychczasową pomoc. Mam teraz taką wątpliwość - to możliwe, że podczas naciśnięcia przycisku od myszy nie dostaję na mikrokontroler ładnego sygnału, tylko jest "poszarpany" (niby 0, ale po drodze kilka bardzo krótkich pików czy coś takiego)?

    kaj3k napisał:
    Też kiedyś walczyłem z tym tematem, fajna zabawa.

    Mnie to już bokiem wychodzi ;)

  • #8 20 Maj 2011 19:32
    Astem
    Poziom 7  

    Dokładnie o to chodziło, dzięki. Już jestem uświadomiony.

    Jeśli miałby ktoś cierpliwość jeszcze mi z jednym podpowiedzieć...
    Programuję w asemblerze. Enkoder daje dwa sygnały (fi1 i fi2). Potrzebuję, aby przy każdej zmianie sygnału fi1 zwiększało/zmniejszało mi wartość jakiegoś tam bajtu. Tylko raz na jedno zbocze. Poradziłem już sobie z tym, ale teraz pojawia mi się problem. Kolejny krok, to rozpoznawanie kierunku obrotu ów enkodera. Stwierdziłem, że być może program i mikroprocesor będą na tyle szybkie, że zdążą zawsze sprawdzić sygnał fi2 tuż po wystąpieniu zbocza na fi1. Okazuje się jednak, że przy szybkim ruchu myszą, co któryś raz odczyt następuje dużo później i ruch rozpoznawany jest, jakby odbywał się w odwrotną stronę. Można to jakoś sprytnie ominąć? Może ma ktoś jakieś porady w tej kwestii, linki, doświadczenia?

  • #10 20 Maj 2011 19:48
    Astem
    Poziom 7  

    Ok, rozwiązania tego problemu prowadzący chyba już nie będzie ode mnie wymagał ;) Wielkie dzięki, za pomoc, dondu. Oszczędzasz mi sporo czasu, a kurcze, mam go w strasznym deficycie w tym semestrze.

  • #11 20 Maj 2011 19:51
    dondu
    Moderator Mikrokontrolery Projektowanie

    Astem napisał:
    Ok, rozwiązania tego problemu prowadzący chyba już nie będzie ode mnie wymagał ;)

    Gdyby jednak chciał to już wiesz czemu to niemożliwe i że ratuje jedynie optyczny lub magnetyczny encoder.


    Astem napisał:
    Wielkie dzięki, za pomoc, dondu. Oszczędzasz mi sporo czasu, a kurcze, mam go w strasznym deficycie w tym semestrze.

    Nie ma sprawy, powodzenia!