Olduino sz89S52

Opis

Jest to minimalistyczny system x51 z mikrokontrolerem AT89S51/AT89S52. Układ pozwala na załadowanie programu z PC przez RS232 do pamięci RAM, a następnie wykonanie go. Wewnętrzna pamięć flash zawiera tylko bootloader, program użytkownika ładuje się do adresu 2000h, ale wszystkie przerwania są tam przekierowywane, dlatego mogą być wykorzystane. W razie braku portu COM można używać konwertorów USB-COM. System może być wykorzystany dla bezpośredniego debugowania programu w sprzęcie lub używany jako uniwersalny układ peryferyjny w nietypowych, rzadko spotykanych sytuacjach. Połączenie z układem może być wykonane poprzez dodatkowe układy lub interfejs RS232. Ponieważ porty P0 i P2 są zajęte, tylko P1 i P3 są dostępne dla użytkownika (P3 jest dostępny częściowo, ponieważ używa sygnałów RXD, TXD oraz WR).

Układ jest wykonany na płytce z kartonu z połączeniami realizowanymi za pomocą lakierowanych przewodników. Zewnętrzna pamięć może być zapisana jako 'external memory' (przez WR), ale odczytana tylko jako 'command memory' (przez PSEN). Komplikuje to nieco proces programowania, ale upraszcza budowę sprzętu oraz uwalnia jeden pin (RD) dla systemowej diody LED.

Do tworzenia oprogramowania używany jest asembler fasmg oraz środowisko programistyczne WinAsm Studio. Ładowanie programu do układu odbywa się za pośrednictwem aplikacji w wersjach dla Linuksa oraz Windows (64 bit) (ze źródłem).

Tworzenie oprogramowania w języku C również jest możliwe: ta aplikacja jest zkomilowana przez Wickenhäuser Elektrotechnik kompilator uC51. Uważajcie, że nie można używać model pamięci large z takim układem!

firmware (hex+asm) (8051x.inc)

Użytkowanie

Aby korzystać z systemu, musimy połączyć układ z PC, oraz go przestawić przez przycisk „Reset”. Następnie uruchamiamy program ładujący, który będzie kopiować plik binarny do pamięci układu. Program ładujący wymaga podania numeru portu COM (Windows) oraz imię urządzenia (device) w przypadku wersji linuksowej. Dopóki program jest ładowany do pamięci układu, dopóty świeci się systemowa dioda LED. W momencie, gdy ładowanie programu zostanie zakończone, dioda zaczyna migać. Teraz należy nacisnąć przycisk „Start” w celu uruchomienia załadowanego programu użytkownika. W razie potrzeby, program można zrestartować poprzez naciśnięcie przycisku „Reset” przy wciśniętym przycisku „Start”. Dla zwiększenia wygody użytkowania program ładujący może zostać zintegrowany z IDE.

Monitor

Monitor nie jest kompletną aplikacją, raczej jest szablonem dla tworzenia na jego podstawie innych programów interaktywnych. Obsługuje on komendy „I” oraz „T”, które można łatwo zmodyfikować. Zbiór komend może być w prosty sposób rozszerzany o nowe polecenia. Szablon zawiera pewne przydatne procedury takie jak np. konwersja pomiędzy 32-bitowymi liczbami w zapisie dziesiętnym i szesnastkowym, wysyłanie wiadomości, pobieranie łańcucha znakowego. Przy pomocy Monitora można przeglądać zawartość pamięci, dokonywać edycji bajtów pamięci komend, uruchamiać procedury znajdujące się pod dowolnym adresem. Monitor komunikuje się z użytkownikiem tylko w trybie znakowym, modyfikacja linii komend jest możliwa tylko przez BackSpace, wprowadzanie komend można przerwać poprzez naciśnięcie klawisza „Tab” (klawisz „Esc” nie jest wykorzystywany w systemu). Komunikacja z Monitorem może się odbywać za pomocą programu PuTTY (9600, 8 bitów, brak kontroli parzystości, 1 bit stopu, włączone dodawanie CR do LF, lokalne echo włączone).

Monitor

Programator AT89S51

Układ ten może być wykorzystywany do programowania pamięci flash AT89S51. Dokładny opis tego zastosowania znajduje się wewnątrz archiwum.

Programator

Różne

Dialer

Miernik częstotliwości

Sekundomerz

Zegar


Ostatnia aktualizacja: 2013-04-28 14:18:56 EEST