Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Dekoder kodu RC5 na PIC16F84

pawel_na_chwile 03 Mar 2011 17:14 1986 3
  • #1 03 Mar 2011 17:14
    pawel_na_chwile
    Poziom 11  

    Witam wszystkich, mam mały problem, muszę zbudować 6 urządzeń sterowanych pilotem na podczerwień w kodzie RC5, budowa pilota, nie sprawiła mi kłopotu, wybrałem najłatwiejsze rozwiązanie jak dla mnie, w oparciu o kostkę SAA3010, jej nota katalogowa w załączniku, ale mam problem z zdekodowaniem tego kodu z pilota, otóż w moich urządzeniach siedzą mikrokontrolery PIC16F877, mimo iż zarówno w internecie, jak i na forum znalazłem setki tematów opisujących kod RC5, to naprawdę wstyd mi się przyznać, ale nie potrafię z tego skorzystać i stworzyć dekoder RC5, z względu iż goni mnie czas nie mogę sobie pozwolić na doświadczenia, dlatego postanowiłem skorzystać z jakiegoś przykładu, jednak nigdzie nie znalazłem kodu źródłowego koniecznie w asemblerze który odbiera kod i zapisuje go w jakimś rejestrze, co prawda znalazłem kod oparty na pic16f84, ale jest po pierwsze po niemiecku, po drugie nie mogę go rozgryźć, kod w załączniku wraz z schematem, urządzenie docelowo z tego co zrozumiałem miało być testerem pilotów, dla mnie to rozwiązanie jest idealne, gdyż także wykorzystuje kwarc 4MHz, taki jak ja w swoich układach, i tu rodzi się moja prośba, czy ktoś mógł by rzucić okiem na ten kod, i powiedzieć, co trzeba wyrzucić, tak żeby zlikwidować, obsługę wyświetlacza, a dane odebrane z pilota, bez jakiejkolwiek konwersji pojawiały się na porcie B, bardzo byłbym wdzięczny za pomoc, z góry dziękuję

    0 3
  • #2 04 Mar 2011 06:55
    pawel_na_chwile
    Poziom 11  

    Widzę że temat nie należy do łatwych, a może ktoś może udostępnić skompilowany wsad do mikrokontrolera 89c2051, z zestawu 115-k firmy Nowy elektronik, nie potrzebuję kodu źródłowego bo i tak nie będę wiedział co z nim zrobić, potrzebuję tylko gotowy do wgrania skompilowany plik do hex, i jakieś informacje, jeżeli w jakiś charakterystyczny sposób należy ustawić bity konfiguracyjne, w czasie programowania

    0
  • #3 04 Mar 2011 23:08
    adamwesola
    Poziom 24  

    Sprawa nie była b.trudna, wyrzuciłem obsługę wyświetlacza, teraz program wysyła na PORTB "gruppencode: gr_e" - cokolwiek to znaczy, czeka 2 sekundy i wysyła na PORTB "commando : co_e" - cokolwiek to znaczy, czeka 2 sekundy i idzie do procedury odebrania nowego kodu.
    Schemat działania już masz, wiec dostosuj program do 16f877 i będzie grało.

    0
  • #4 17 Kwi 2011 20:37
    pawel_na_chwile
    Poziom 11  

    Chciałem podziękować koledze Adamowi, ale program który podesłał nie do końca ruszył, jednak jego pomysł naprowadził mnie na rozwiązanie i bardzo mu dziękuję za pomoc, dokonałem tylko drobnej kosmetycznej zmiany w programie i ruszył, odczytuje kod i wystawia go na portb, i trzyma tak długo ustawiony dopóki nie przyjdzie kolejny, jeżeli chcemy go kasować, to można najprościej uruchomić przy programowaniu WDT i po sprawie, lub zrobić to fachowo i dopisać kilka linijek kodu powodujących kasowanie, ja poszedłem po łatwiźnie i żeby kasować co około 1s odebrany kod mam uruchomionego watchdoga, w załączniku plik z programem oraz schemat układu w uproszczonej warsji

    0
    Załączniki: