Skocz do zawartości

80C51 Intel - Nauka 80C51


lednpn

Pomocna odpowiedź

Witam!

Muszę nauczyć się asemblera na mikroprocesorze 80C51(nie jakieś innej wersji 8051 typu 89XX z isp itp.) Obcowałem trochę z avr. Gotwe programy,ewentualne przeróbki małe itp. Nic wielkiego. Teraz moje pytania. Przeczytałem pfd kitu AVT2250. Zamierzam się uczyć z kursu edw-19 częściowego. I nasunęły mi się pewnie pytania. Czy pisanie na 8051 wygląda tam samo jak na avr? Tzn że napisany program wgrywamy do pamięci flash? W zestawach dsm 51 nie wiem jak to się robi ale tam się programuje kostkę bez jej wyciągania z pcb. Czy w dsm 51 też jest jaki by taki BIOS-monitor? Z tego co zrozumiałem z kitu avt 2250 to ten monitor daje nam możliwość zaprogramowania układu bez jego wyciągnięcie,tak? Czy on jak by tylko uruchamiany na 8051 ale nie wpisywany w pamięć? Po co stosuję się pamieć SRAM i EPROM zewnętrzny? Czy da radę tak zaprogramować 80C51 jak avr? Program w hex,bin i wgrywamy? Czy na win 7 ewentualnie xp są jakieś programy do pisania w asemblerze na 8051? Czy jak bym chciał sam wykonać jakąś pcb. Beż żadnych pamięci zewnętrznych itp. Tylko lcd, led, microswitch, jakieś czujnik DS, tsop itp. To mogę zrobić jakieś programator(jest coś na usb? czy tylko lpt i com. Jakie to są programatory?) I po napisaniu programu i uzyskaniu hex odrazu go wgrać jak do zwykłego avr? Wiem że wtedy za każdym razem muszę wyciągać scalaka. Jeżeli asembler jest nisko poziomowym językiem to co pisze muszę kompilować? Wiem że nauka 8051 jest w dzisiejszych czasach bzdurą, bo cena układów, pamięci do niego itp jest droższa niż jakiś atmega32. Nie mówiąc o oprogramowaniu...Ale muszę...

Z góry dziękuję za odp na moje pytania.

Pozdrawiam:)

Link do komentarza
Share on other sites

No może coś więcej? Serio przeglądałem rożne tematy na elektrodzie ale nie uzyskałem odp. na moje pytania.Więc może jak to nie jest problem to ktoś by mi poświęcił 10 min i odpisał szczegółowo na moje pytania.

Pozdrawiam:)

Link do komentarza
Share on other sites

Zewnątrzną pamięć używa się tylko dla starych układów które mają pamięć programowaną na poziomie produkcji. Obecnie te które zakupisz będą miały flash EEPROM wewnątrz siebie więc nie musisz podłączać zewnętrznych.

Assemblera oczywiście że musisz kompilować. To jakby nie było jest język a nie kod maszynowy.

Osobiście miałem okazję "wpisywać" ręcznie kod maszynowy do właśnie 8051 ale to było bardziej w celach doświadczalnych;) Tłumaczenie assemblera na maszynowy jest co prawda proste ale żmudne i łatwo się pomylić.

Potrzebujesz tylko jakiegoś 89c51, programator i kompilator.

  • Lubię! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Układy 8051 (nawet z C w środku) miały wewnętrzną pamięć programu tak jak AVR, ale niestety była to pamięć typu ROM a to oznacza, że nie mogłeś w żaden sposób zmienić jej zawartości. Jeśli układ był zamówiony w fabryce Intela z konkretnym programem w środku, to do końca życia zostawał w środku ten sam kod. Na szczęście producent wyposażył te procesory w możliwość wyłączania tej pamięci (wejście EA - External Access) i po podaniu tam stanu 0 pamięć wewnętrzna znika a procesor usiłuje pobierać cały kod z zewnątrz. W tym celu musisz do niego podłączyć jakiś rejestr 8-bitowy żeby mieć 16-bitową szynę adresową oraz właśnie pamięć. To może być równoległy EEPROM, FLASH, cokolwiek. Trochę to dziwne, że wymaganie jest na konkretnie 80C51, bo sposób pisania oprogramowania dla niego nie różni się niczym od nowszych wersji np 89C51 (i dziesiątek innych podobnych układów), które mają pamięć programu typu FLASH i można je wielokrotnie przeprogramowywać bez wyjmowania z płytki. Dowiedz się dokładnie, bo może jest to tylko takie hasło "8051" oznaczające generalnie jądro procesora rodziny 51 ale już ralizacja sprzętowa może być dowolna. Gdyby jednak Twój "zleceniodawca" upierał się na 8051, byłoby to moim zdaniem głupie i nieuzasadnione wymuszanie komplikacji sprzętowej. Dołączanie pamięci zewnętrznej od razu zjada 16 linii portów a ten procesor wcale dużo ich nie ma. Acha, uwaga na porty - miały zupełnie inną konstrukcję niż w AVR więc i sposób podłączania urządzeń zewnętznych był troszkę inny.

Nie wszystkie firmy tę regułę zachowywały ale zwykle było tak, że początek nazwy 80 lub 83 oznaczał wewnętrzną pamięć programu typu ROM, 87 oznaczało pamięć EEPROM (programowanie w programatorze, kasowanie ultrafioletem) a 89 to już FLASH. C wśrodku oznaczało technologię CMOS bo (jeśli nie pamiętasz) to były to czasy, gdy warto było się tym chwalić. Tuż obok leżały procesory robione w N-MOSIE potrzebujące np. 3 napięć zasilania i zegara 12V...

Niektóre wersje FLASH mają wbudowany bootloader w dodatkowym małym ROMie po to, by np. wciągać kod z komputera przez port szeregowy.

Pisanie w asemblerze 8051 jest zupełnie inne niż dla AVR. Jest to architektura CISC zorientowana na akumulator. Bardzo szybko zauważysz (szczególnie przy przejściu z AVR) całkowity brak ortogonalności listy instrukcji. Większość operacji arytmetyczno-logicznych przechodzi przez akumulator, który od razu staje się wąskim gardłem. Zwykle brakuje też pamięci RAM, 8051 nigdy nie miał jej za dużo a podział na łatwo dostępną pamięć "wewnętrzną" ograniczoną z definicji do 256 bajtów i na pamięć "zewnętrzną" którą trzeba dołączyć - jak się domyślasz - z zewnątrz, dodatkowo komplikował sprawę. Architektura samego 8051 powstawała w czasach, gdy nikt nie myślał o kompilatorach na tak małe procesory i dlatego zupełnie nie jest przygotowana do wykonywania kodu napisanego w C. Kompilator musi stawać na głowie by np. przekazywać parametry do fukcji przez stos, mało jest rejestrów a dostęp do sensownej wielkości, zewnętrznej pamięci RAM to już masakra (jeden rejestr 16-bitowy DPTR bez adresowania bazowego, indeksowego itp). Poza tym jądro 8051 wykonywało jeden cykl maszynowy w 6 zegarów więc instrukcje zużywały min. 6 cykli a to "na dzień dobry" dawało 2 MIPSy nawet przy wykręconym do 12MHz kwarcu (to był wtedy limit). Potem powstały konstrukcje "turbo" robione przez Cypressa czy Microchipa zjadające tylko 2 zegary na cykl maszynowy ale zbytnio to tej trochę przestarzałej architekturze już nie pomogło. Mimo to 8051 stał się na długi czas standartem mikrokontrolera a to, że do dzisiaj produkuje się jego wciąż nowsze klony świadczy o silnym przyzwyczajeniu środowiska i dużej liczbie projektów zrobionych i ciągle utrzymywanych na ten procesor.

Co do sposobów wpisywania kodu w konkretnej platformie sprzętowej to musisz pozaglądać do instrukcji albo chociaż schematów tych płytek. Procesor 8051 w odróżnieniu od AVR nie ma sam z siebie instrukcji zapisu do pamięci programu więc albo wykorzystany jest scalak mający bootloader w ROM wpisujący kod do wewnętrznej pamięci FLASH (np. układy ATMELa) albo do podstawowego 8051 dostawiono na PCB zewnętrzną pamięć FLASH i poprzez kilka sztuczek "oszukuje się go", że np. pisze do pamięci RAM a w tym czasie programuje sobie FLASH. Rozwiązań może być mnóstwo. O ile pamiętam są też "pięćdziesiątki jedynki" z pamięcią programu typu RAM, wciągające swój kod (bootujące się) z zewnętrznej, szeregowej pamięci EEPROM/FLASH ale to już egzotyczne rozwiązanie. Istnieją też wersje z 480MHz USB High-speed (który AVR ma?) a 51 znajdziesz też np. w scalakach do komunikacji RF czy po liniach zasilania (PLC).

Ja osobiście bardzo miło wspominam 8051, zrobiłem na nim dziesiątki projektów a niektóre sterują maszynami czy co tam klient chciał podłączyć, jeszcze do dzisiaj.

  • Lubię! 1
Link do komentarza
Share on other sites

Witam. Dzięki wielkie za tak wyczerpującą odpowiedź. Mój "zleceniodawca" to polska edukacja, która siedzi jeszcze w jaskiniach odkrywając ogień...Chcę czysty 8051 ponieważ w szkole mamy DSM-51 i chcę jak najbardziej nauczyć się jakby odzwierciedlenia tego. Stosując nowe 51 kod nie będzie taki sam jak starym 8051. Mam racje? I jeszcze 4 pytanka:

1)Czy kod pisany na DSM-51 i na pcb z AVT2250 będzie wyglądał tak samo? Pomijając że pod inne porty się podczepi peryferia.

2)Gdyby ktoś mógł rzucić okiem:

http://sklep.avt.pl/photo/_pdf/AVT2250.pdf

Ostatnie strony i polecenia z klawiatury na pcb. Czy ten sam program co jest pod dos /znajdę jakiś odpowiednik na xp albo 7? Czy może to być inny ale i tak zadziała z tą pcb?

3)Czy pamięć eprom mogę zastąpić EEpromem? Bo w tym kicie jest monitor wgrany na eprom jak bym odpowiednio to "elektrycznie" zmienił na EEprom i wgrał wsad to by ruszyło? I czy wsad do eprom będzie pasował do eeprom?

4)Czy kurs z edw 19 częściowy to dobra lektura? Jakieś jeszcze inne pozycje książkowe na temat 8051 ktoś by mógł mi polecić?

Pozdrawiam:)

Link do komentarza
Share on other sites

Jeżeli pominiesz fragmenty programu współpracujące z peryferiami oraz zaniedbasz to, że program lub dane mogą być umieszczone w pamięciach pod innymi adresami to kod binarny na procesor 51 będzie taki sam dla starego 8051 jak i dla nowego cośtam_51. W odróżnieniu od AVR, gdzie różne generacje obsługują różne zestawy instrukcji (i słusznie), w 51 nic się nie zmieniło od.. no, od wieków. Wciąż masz to samo mnożenie 8x8, dziwne i bezużyteczne dzielenie 8/8, dekrementację rejestru i skok gdy różny od zera (DJNZ), jedną instrukcję dostępu do zewnętrznej pamięci RAM (MOVX) itd..

Na płytce z AVT masz pamięć stałą EPROM która przechowuje kod "monitora" czyli mikrosystemu operacyjnego umożliwiającego współpracę komputerka z Tobą (poprzez wyświetlacz/klawiaturę) i z PC (port szeregowy). Możesz w to miejsce wstawić równoległy EEPROM jeśli akurat masz (archaiczne 29C64 lub FLASH 27F64) ) tylko nie bardzo rozumiem po co. Procesor i tak nie może tam nic zapisywać a Ty jeśli będziesz chciał zmienić jej zawartość i tak musisz ją wyjąć z podstawki i przełożyć do jakiegoś programatora. Tu na pewno oszczędzasz na kasowaniu ultrafioletem - to zwykle trwało ok 15-20 minut więc zysk jest spory ale na razie chyba jeszcze daleka droga do modyfikacji nietrywialnego kodu napisanego przez autora tej konstrukcji? Natomiast wpisywany przez Ciebie z klawiatury (lub przysłany z PC) kod binarny programu 51 trafia tutaj do RAMu (traktowanego wtedy przez 51 jak pamięć danych) a następnie, po wydaniu komendy JUMP jest on wykonywany jakby była ona pamięcią programu. Jeśli chcesz wiedzieć dokładnie co która pamięć robi, prześledź bieg sygnałów PSEN i RD/WR oraz dekodowanie adresów. Pierwszy jest odczytem pamięci programu (Program Storage Enable) a dwa pozostałe (Read/Write) sygnalizują, że procesor czyta/pisze pamięć danych.

Na PC musisz mieć oczywiście jakiś edytor plików źródłowych, środowisko do tłumaczenia programów (assembler lub kompilator C choć - o ile pamiętam na 51 powstał też Pascal, BASIC itd) plus coś prostego (Hiperterminal?) do wypchnięcia kodu wynikowego w formacie HEX przez port szeregowy. W zależności od tego jaki RAM został na kicie zainstalowany (8 lub 32Kbajty) tak długi program będziesz mógł napisać i uruchomić. Przy pisaniu w assemblerze 8K to naprawdę dużo miejsca.

Nie znam kursu z EDW, podobnie jak systemu DSM ale jeśli wskażesz jakieś schematy, dokumentację - to mogę na pytania odpowiadać. Jeżeli te systemy (AVT i DSM) nie są identyczne, niestety będziesz musiał pisać inne procedury obsługi np. wyświetlacza czy klawiatury dla każdej wersji sprzętu. Port szeregowy jest zawsze obsługiwany tak samo podobnie jak podstawowe timery, więc z tym problemu nie będzie.

Na 51 napisano też kiedyś w assemblerze interpreter języka BASIC wyposażony w arytmetykę zmiennoprzecinkową. Umieszczony w 8K pamięci wewnętrznej procesora (były wersje 87C52 w pięknej, ceramicznej obudowie z okienkiem) lub od biedy w zewnętrznym EEPROMie zamieniał prosty mikrokontroler w "potężny" kalkulator programowany. Komunikacja oczywiście przez port szeregowy. Kod źródłowy tego interpretera na pewno jest dostępny w sieci.

Przy okazji: spróbuj jakoś połączyć ten temat z robotyką bo czuję, że grozi Ci kosz za brak kompatybilności z tematyką Forum...

Link do komentarza
Share on other sites

PDF kitu od avt:

http://sklep.avt.pl/photo/_pdf/AVT2250.pdf

Czy pod xp,linux alob 7 64 bit jest jakieś środowisko do asemblera? I czy potem dowolnym terminalem com prześle plik hex na pb avt2250? Tam jest program do tego pod dosa, to jak wgrać to przez terminal z com?

"Jeżeli pominiesz fragmenty programu współpracujące z peryferiami oraz zaniedbasz to, że program lub dane mogą być umieszczone w pamięciach pod innymi adresami to kod binarny na procesor 51 będzie taki sam dla starego 8051 jak i dla nowego cośtam_51"

Będą się różniły ponieważ peryferia są np. podłączone pod inne porty 8051?

Pozdrawiam:)

Ps. A tu PDF DSM-51 http://www.elektronika.iee.put.poznan.pl/Noty/DSM/DSM51_full.pdf

Link do komentarza
Share on other sites

Nie bardzo rozumiem dlaczego tak krążysz wokół rych różnic. Jeśli dwa systemy mają te same procesory to różnice w kodzie będą tylko tam, gdzie te różnice program może "zauważyć" a więc np. tam, gdzie występują różnice w sprzęcie. Jeżeli w jednym jest multipleksowany wyświetlacz LED i w drugim też ale inaczej podłączony to chyba jasne, że trzeba go inaczej obsługiwać. To samo z klawiaturą, LCD itd. Jądro programu będzie to samo, te same obliczenia i sprawdzane warunki ale gdy przyjdzie do pokazania czegoś na wyświetlaczu, będziesz musiał wywołać taką lub inną funkcję.

Nie bawiłem się kitem AVT ale jeśli napisali otwartym tekstem:

".. system czeka na dane z komputera PC. Dane przesyłane są przez port szeregowy w formacie Intel−HEX."

to dla mnie oznacza po prostu wysłanie pliku wynikowego .hex na port szeregowy. Pliki przez port COM możesz wysyłać pod Windows chyba w każdym programie terminalowym. Gdyby jednak kit AVT oczekiwał czegoś więcej niż zwykły plik (jakieś dodatkowe nagłówki, potwierdzenia itp) to wtedy rzeczywiście jesteś skazany na program napisany przez autora artykułu. Byłaby to moim zdaniem lekka skucha.

W systemie DSM sytuacja z pamięcią programu jest bardzo podobna jak w AVT. Procesor 80c32 (to 51 z większym RAMem wewnętrznym, fabrycznie "pozbawiona" pamięci programu ROM) jest zmuszony sygnałem EA=0 do pobierania kodu z pamięci zewnętrznej. Jest nią tutaj FLASH 29C512 bo pewnie mniejszych nie można już było kupić. Układ ma 64K ale wykorzystane jest tylko max. 32K (linia A15=0). Jak zauważyłeś, także i tutaj procesor nie może pisać do pamięci FLASH bo jej wejście WE jest na stałe przypięte do Vcc. Tak więc kod który wpisujesz trafia do pamięci RAM a potem jest z niej wykonywany. Za "widzenie" pamięci danych RAM również jako pamięci programu odpowiada tutaj dekoder zrobiony z prościutkiego układu programowalnego GAL16V8 (U11). Jest tam jeszcze wstwiony myk z przełączaniem przestrzeni adresowych ale to już szczegóły. GAL generuje m.in. sygnał CSIO "odpalający" dekodery układów peryferyjnych. "Zapisywalne" są sterowane z U3 a "odczytywalne" z U4. Po ich podłączeniu możesz się zorientować pod jakimi adresami w przestrzeni pamięci danych procesor widzi poszczególne układy. To typowe rozwiązanie w takich systemach.

Na zapytanie "8051 simulator" albo "8051 assembler" Google wyrzucił mi mnóstwo fajnych stron. Są dostępne darmowe asemblery i środowiska z wygodnymi symulatorami. Wybierz coś i do roboty. Będziesz mógł pisać i uruchamiać swoje programy zanim jeszcze odpalisz jakąkolwiek płytkę. Powodzenia.

Link do komentarza
Share on other sites

O różnice chodzi mi dlatego, że nie wiem czy jak nauczę się asmblera na avt2250 to jak mi przyjdzie zrobić coś na dsm-51 to czy nie dam rady tego napisać. Jeszcze taki małe odbiegnięcie od tematu.Poszukuję jakiegoś programatora kości eprom. Konkretnie muszę zaprogramować kość 27C64. Na elektrodzie tylko znalazłem odpowiedzi aby zakupić jakieś np.willem. Ja chcę zrobić sam programator aby wyszło dużo taniej. Coś pod ltp,com. Taki niezbyt skomplikowany(znaczy jak będzie jakiś avr to zaprogramowania to ujdzie jeszcze). I jeszcze jedno pytanie. Eprom kasuję się ultrafioletem. A czy jak zamrożę tą kość na 24h to program się wykasuje? Bo jeszcze czytałem że zbitą żarówką rtęciową skasuję się eprom lub jak na słońcu posiedzi z 3 tyg. Co jeszcze może skasować eprom w domowych warunkach?

Czy np. takie się nadadzą żarówki łapmy

http://allegro.pl/zarowka-lampa-rteciowa-250w-e40-4000k-i3051943215.html

http://allegro.pl/lampa-zarowka-rteciowa-tesla-250w-gwint-e40-i3046458690.html

Pozdrawiam:)

__________

Komentarz dodany przez: Sabre

_allegro

Link do komentarza
Share on other sites

Taniej??? To chyba bardzo nisko cenisz swój czas. Na aukcji znalazłem przed chwilą kompletny programator Willem poniżej 200zł. Jak długo będziesz go robił łącznie z PCB, zakupami/wyszukiwaniem elementów, montażem i uruchomieniem? OK, możesz zrobić jeszcze prostszy, dedykowany specjalnie do 27C64 - gdybyś zajrzał do danych katalogowych tego EEPROMa to w ciągu 10 minut sam wymyśliłbyś programator a jeśli umiesz robić coś na AVR to i oprogramowałbyś go sam tylko wciąż nie bardzo rozumiem PO CO? Chcesz mieć browar na własność, by napić się trochę piwa? Jak rozumiem zostałeś zmuszony przez taki a nie inny program nauczania w szkole do poznania tajników rodziny 8051. Świetnie. Po kilku dniach jakie minęły od poprzednich postów masz już pewnie działające środowisko dla 51. Ja z ciekawości ściągnąłem sobie jakiś assembler i w ciągu minut miałem kod hex programiku składającego się z kilku linii kodu. Zacznij pisać pierwsze programy w assemblerze, odpalaj je na symulatorze i sprawdzaj, czy dobrze rozumiesz działanie poszczególnych instrukcji i składnię języka - to jest najbardziej bolesny etap nauki nowego procesora. Oswój się z nazwami rejestrów, dostępnymi trybami adresowania i zacznij wypracowywać swój własny sposób widzenia architektury procesora. Żeby dobrze pisać w asemblerze musisz model programowy procesora widzieć przed oczyma bez żadnych papierowo-internetowych pomocy. Musisz też dobrze znać zestaw instrukcji by za każdym razem nie szukać czy jakaś akurat potrzebna istnieje czy nie. Do osiągnięcia tego stanu nie potrzebujesz żadnych płytek, EEPROMów i całego tego sprzętowego badziewia. Symulator na poziomie rejestrów wraz z pracą krokową i jazda. Natomiast zabawa z podłączaniem i odpalaniem konkretnej platformy sprzętowej może odbywać się równolegle. Jak już będzie działało będziesz miał wiele funkcji już napisanych i nawet nie zauważysz, kiedy płynnie wejdziesz w tworzenie programów dla konkretnej płytki. Nie ma różnic w rozkazach wykonywanych przez różne generacje procesorów 51. Mogą być minimalne różnice między konkretnymi realizacjami assemblerów ale to trywialne. "Core" - lista instrukcji się nie zmienia. Z resztą po miałbyś zmieniać program assemblera? Ten sam program tłumaczący będzie generował dobry kod hex zarówno dla kitu AVT jak i dla DSM. Wciąż nie widzę tu konieczności programowania EEPROMu. Po to zrobiono te platformy, byś właśnie nie musiał tego robić. Ładujesz program do RAMu i działa. Wyłączasz, przychodzisz jutro, znów ładujesz i znów działa. Wydaje mi się, że doszukujesz się problemów tam, gdzie (na razie) ich nie ma.

Inna sprawa, gdy planujesz w dalszej przyszłości zrobienie jakiegoś projektu użytkowego. Wtedy przechowywanie kodu i start po włączeniu zasilania jest istotną cechą ale nie widzę nigdzie w tym wątku choćby namiastki takich zamiarów.

Kasowanie na słońcu sam robiłem ale trzeba mieć dużo EEPROMów (albo niesamowitą cierpliwość) by uruchamiać program z czasem nawrotu (przy dobrej pogodzie) 3 dni.. Na kasowanie pod typową lampą kwarcową do opalania (ludzi) (nie dosłownie pod, ale z odległości 1m) wystarcza pół godziny a typowy czas w dedykowanej kasowarce to 20minut choć po 10 niektóre już są czyste. Zamrażanie jakoś do mnie nie przemawia, istotne pogorszenie izolacji bramki (i tym samym upływ ładunku z komórek MOS) następuje raczej w wyższych temperaturach ale nawet stare układy miały gwarancje rzędu 1 roku w najgorszych warunkach. O lampach rtęciowych nie słyszałem choć rzeczywiście, generują ultrafiolet więc może to też jest wyjście.

Mam wiele nadmiarowych, niezmontowanych płytek z dawnych projektów. Niektóre (te późniejsze) są np. na 89S8252 ATMELa. To procek programowany przez SPI jak AVRy (S to pewnie od "serial") tylko inny protokół więc i programator powinien mieć opcję 89S8252. Układ ma w środku 8K FLASHa na program, trochę RAMu, taka "51 w pigułce", oczywiście w pełni z nią zgodna programowo. Może tego byś spróbował?

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.