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

Mikrokontroler 8051 z sklepu a praca w dowolnym układzie

rkliw 16 Paź 2009 15:47 5461 16
  • #1 16 Paź 2009 15:47
    rkliw
    Poziom 9  

    Witam.
    Kupiłem mikrokontroler 80c51 w sklepie(czysty-niezaprogramowany)
    Czytając forum zmontowałem płytkę
    - komunikacja przez RS232 na max (świetnie opisana z obrazkami na forum)
    - parę diodek do wizualizacji
    - dwa wyświetlacze 7-segmentowe
    - zasilacz 5V
    I tu zaczynają się schody .Robię tak jak każdy sugeruje czyli śledzenie forum ale po przeczytaniu dużej ilości postów okazuje się że na 8051 nic nie zrobię bo muszę zmontować zewnętrzną pamięć programu.Moje pytanie to jeżeli jest pamięć wewnętrzna 4k słów 8-bitowych to co tam jest , i czy niemożna nawet zaświecić jednej diodki. Drugie pytanie to jeżeli jest komunikacja przez RS232 to jaki program i jak to wygląda czy musi być jakiś wsad.
    Prośba moja jest aby z kimś o tym porozmawiać .Przeczytana literatura to dotyczące gotowych układów DSM-51 lub AVT 2250/1.
    Jestem ambitny i chciałbym sobie umieć z tymi problemami poradzić ale bez waszej pomocy nie dam rady.
    Czekam na dialog i pozdrawiam forum dziękując za dotychczasową pomoc.

    0 16
  • SterControl
  • Pomocny post
    #2 16 Paź 2009 16:03
    Freddy
    Poziom 43  

    Zwróć uwagę, że w jednym miejscu piszesz 8051, a w drugim 80C51, a to są różne procesory !
    Procesor serii 8051 jest rzeczywiście "czysty" i nie ma żadnej pamięci.
    Jeśli chodzi natomiast o 80C51, to są różne wersje OTP/ROM/ROMless. Ważne jest również literka za C51.
    Poczytaj trochę tutaj Link

    0
  • SterControl
  • Pomocny post
    #3 16 Paź 2009 16:03
    arturavs
    Poziom 38  

    Poszukaj AT89S51. jest kompatybilny noga w nogę ze zwykłą '51. A ma możliwość programowania w układzie docelowym , poprzez stosunkowo prosty programator.

    0
  • #4 16 Paź 2009 16:05
    AF51
    Poziom 11  

    Do każdego mikrokontrolera musisz napisać program (nawet dla zaświecenia jednej diody), tym bardziej do komunikacji przez RS232. Musze ci powiedzieć ze mikrokontrolery 8051 to już trochę stare wynalazki ;) Poczytaj coś o prockach z rdzeniem AVR np. ;)

    0
  • #5 16 Paź 2009 16:19
    rkliw
    Poziom 9  

    Jest on oczywiście 80c51 przepraszam .
    Jeśli chodzi o 89 to wiem że ma pamięć zapisywalną ale jestem zdecydowany na 80C51.

    Dodano po 5 [minuty]:

    jeśli chodzi o programowanie to chcę napisać w asemblerze ale nie wiem co jest po skonfigurowaniu rs232 w hterminalu a wgraniem programu jak można wgrać program i czy musi być jakiś program wsadowy do komunikacji w tym jestem zielony (czytałem o programach pisanych w języku c które to moją lukę zapełniają .Przepraszam za nieścisłości ale jak mówię jestem na etapie nauki i chcę to zrozumieć.

    Dodano po 7 [minuty]:

    Dane mojego procka
    Temic
    3513 303 38050
    P-80C51CAO-12
    Intel 80,82
    9709 20136A

    0
  • #6 16 Paź 2009 16:30
    arturavs
    Poziom 38  

    Musisz mieć zaprogramowany procesor aby uzyskać komunikację po RS.
    Dlatego '51 AVR jest prostsza. Myślę że chodzi Tobie o coś jak program monitora , który to umożliwia komunikację , sygnalizację błedów i uruchamianie własnego programu. Naprawdę o wiele wygodniej skorzystać z AVR , tym bardziej do nauki. Procek możesz programować ok. 1000 razy. Jak coś nie pasuje , to kasujesz , poprawiasz program i wrzucasz znowu.
    Można również zrobić symulację , czy dany program poprawnie zadziała.

    0
  • #7 16 Paź 2009 19:04
    kordirko
    Poziom 21  

    rkliw napisał:

    jak można wgrać program i czy musi być jakiś program wsadowy do komunikacji w tym jestem zielony

    Do wgrania skompilowanego programu musisz mieć programator.
    Do modelu 89C51 musisz zakupić programator równoległy (takie pudełko podłączane do komputera z podstawką do której wstawiasz procesor).
    Ja kiedyś używałem taki (klik) - działał ok, mogę go polecić.
    Wada takiego rozwiązania - do przeprogramowania procka (wgrania nowej wersji programu) musisz każdorazowo go wyciągnąc z układu
    i wsadzić do programatora - to jest uciążliwe. Poza tym programator kosztuje drożej.
    Nowsze wersje procesorów (np. AVR-y) mają możliwość programowania szeregowego (tańsze programatory) i w dodatku bez wyciągania z układu
    (procek lutujesz na stałe - i zawsze możesz wgrać nowy program).
    Dlatego koledzy polecają ci, żebyś jednak zaczął zabawę od AVR - to są generalnie lepsze procesory od rodziny C51.
    Jak mimo wszystko się upierasz na rodzinę c51, to kup procek 89s51 - tę wersję można programować szeregowo.
    Programatory szeregowe można zakupić na allegro, albo samemu zmontować z kilku części.
    Do programatora potrzebujesz program sterujący - zwykle do zassania z sieci.
    Natomiast aby uzyskać skompilowany wsad do zaprogramowania procka, musisz napisać program w jakimś języku
    i skompilować go kompilatorem (są kompilatory do assemblera, C, Basic - np. bardzo popularny BASCOM).
    Wszelkie informacje znajdziesz w FAQ forum.

    0
  • #8 16 Paź 2009 19:46
    kogiel
    Poziom 16  

    No własnie niewiem czemu wszyscy uparli sie na na AVR'y
    Przecierz wyzej wspomniany 89s51 tez nie potrzebuje zadnego programatora a jeszcze lepszy jest 89s2051 bo ma dodatkowo komparator i jest wydajniejszy prądowo (tyle,ze ma mniej portów)
    ale na początek wystarczy

    0
  • #9 16 Paź 2009 20:18
    kemot55
    Poziom 30  

    Wybierz jednak coś z pamięcią flash. Ja kiedyś też zaczynałem na 8051 z EEPROM'em zewnętrznym. Trochę było z tym zabawy i zdecydowanie nie polecam. Na tą chwilę warto poszukać mikrokontrolera z rdzeniem '51 i nowoczesnymi peryferiami (np coś z SiliconLaboratory). Nie zaśmiecaj sobie głowy AVR'ami. Tym bardziej, jeżeli chcesz się czegoś nauczyć (szczególnie jeżeli chodzi o język asemblera).

    0
  • Pomocny post
    #10 16 Paź 2009 20:39
    mikevein
    Poziom 13  

    Ja bym polecał AT89s52 - architektura '51, dodatkowy timer, 8k Flash i ISP - czyli programowanie w układzie, bardzo wygodne. (no i kosztuje jakieś 3PLN :D)

    0
  • #11 16 Paź 2009 20:46
    rkliw
    Poziom 9  

    Dzięki za wszystkie porady jest to dla mnie dobra lekcja.
    Tłumaczę się czemu upieram się na rodzinę 51-za cztery miesiące będę zdawał z tego egzamin i moje podejście jest następujące ..
    1.Zbudować układ (tu muszę się zastanowić )albo 80C51 z epromem zewnętrznym jaki pokazał kolega wcześniej pamiętają o programatorze i o niedogodnościach (w ostateczności posiądę kit 2250) lub wspomniany 89 z pokazanym programatorem.
    2.Posiąść wiedzę o programie który pozwoli mi się z nim połączyć (jakie adresy są ustawiane i czego dotycza)
    3.Opanować asemblera (umię C a każdy mówi że to jest podobne)
    4.Oprogramować świecenie jednej diody z różnymi wariantami.
    5 Następnie 7-segmentówkę od podstawówki
    6.Podstawa jest że ja to chcę dla własnej wiedzy, bo powiem że czytanie postów ,słuchanie porad dużo mi daję.(Mam wiedzę na temat sterowników przemysłowych napiszę program na plc500 ,controllogix,siemens oczywiście jakiś prosty bo głównie zajmuję sie diagnostyką sterowania)
    Zaczynając myślałem że łatwo będzie zaprogramować ale są to teoretyczne bzdury nic nie jest bez cięzkiej pracy dlatego biorę się za tą rodzinkę 51'.
    I duża prośba PPPPPPPProszę o dalsze porady sugestie
    Pozdrawiam i dziękuję.

    0
  • #12 16 Paź 2009 21:25
    kemot55
    Poziom 30  

    A co to za magik napisał (powiedział), że język C jest podobny do asemblera ????
    Z mojego doświadczenia mogę tylko powiedzieć, że rzeczywiście warto znać i asemblera i C (i stosować odpowiednio w zależności od potrzeb)
    Samo programowanie dla osoby początkującej może być wyzwaniem (chociaż to co chcesz zrobić na procesorze raczej skomplikowane nie jest) dlatego posłuchaj kolegów i raczej zainwestuj w Kit z procesorem reprogramowalnym i wewnętrzną pamięcią programu (a następny projekt sam zrobisz w "metalu" od podstaw na dowolnej maszynie). I na koniec pomyśl jeszcze o jakimś symulatorze (ja używałem AVSim'a 8051). Jest tego sporo w necie a czasem można sprawdzić jak dany fragment kodu się wykona.

    0
  • #13 16 Paź 2009 21:33
    kogiel
    Poziom 16  

    Ad 4 nie sugeruj sie tym ,ze jakis jezyk jest podobny
    ja zaczynałem od basic commodore c64 potem był basic z dosa jakis czs temu bascom (to tez jakis basic) mimo podobienstw są niuanse które przeszkadzają ,równie dobrze mozna powiedziec ,ze basic jest podobny do pascala (tez sie troche nim bawiłem)
    Jesli znasz c to znajdz sobie kompilator C do 80'dziesiatki
    ale ASM tez warto poznac ja np pisałem programy w bascomie ,a potem obserwowałem co ten bascom zrobił w asm i tak sobie przerabiałem programy dla własnych potrzeb potem juz został praktycznie tylko ASM

    0
  • #14 16 Paź 2009 21:38
    kordirko
    Poziom 21  

    Parę lat temu jak sie bawiłem 51-ami, to na tej stronce było sporo dobrych materiałów:
    Link
    Z w tym linku znajdziesz inne linki, ściągnij sobie i wypróbuj jakieś środowisko programistyczne, może być nawet wersje demo tych "drogich",
    np. Keil, IAR, wersje demo działają tylko mają ograniczenia kodu do 2 czasem 4 kb, ja używałem Raisonance i był fajny, potem robiłem we freewarowym SDCC.
    One oprócz C pozwalają także pisać i debugować w assemblerze.
    Do tego używałem - i polecam - darmowy 535 symulator: http://personales.mundivia.es/hvasquez/sim535/
    (symulator to program który pozwoli ci na komputerze debugować i symulować działanie programu na procku,
    wykonuje program, ustawia pułapki, wyświetla wartości rejestrów, pamięci itd.).
    Programator używałem Combo -w sumie to nadal go mam -łyka większość popularnych C51 z Atmela,
    także te szeregowe - oprogramowanie jest na ich stronce, można kupić gotowca
    albo taniej: procek+płytka do samodzielnego montażu, innych programatorów nie znam.
    Warto też na początek mieć jakąś płytkę testową, coś w takim stylu: Link
    - mam podobną płytkę, chociaż mnie szybko przestała wystarczać i dorobiłem sobie swoją własną.
    Z literatury ... to nie wiem, chyba warto coś zakupić w księgarni, krążyła po sieci jakaś "ośla łączka" z AVT,
    ale to jak na mój gust za proste (chociaż na sam początek OK) może inni koledzy coś podpowiedzą.

    0
  • #15 16 Paź 2009 23:03
    rkliw
    Poziom 9  

    Przejżałem i jest ok lekturka na dzisiejszy wieczór.
    Zacznę od zewnętrznego eproma z 80C51.I zbuduje nową na AT89
    Czyli do płytki którą złożyłem dorobie dwa układziki.
    Dołączam wypociny mojej dotychczasowej pracy.
    I jedno pytanie dotyczące podpięcia kwarcu ,spotkałem się z dwoma sposobami (dwa kondensatory około 30pF standart)
    1.z kondensatorem 100nF do plusa
    2. I bez kondensatora 100nF(oba pikowce do masy)
    który wybrać
    I jaki program konkretnie wgrać programatorem do mikrokontrolera abym mógł łączyć się przez RS232.
    Mikrokontroler 8051 z sklepu a praca w dowolnym układzie

    Proszę poprawić treść wiadomości - ortografia.
    [zumek]

    0
  • #16 19 Paź 2009 12:22
    rkliw
    Poziom 9  

    Kupiłem 89S52 i na nim będę próbował.
    Port szeregowy na RS232 zostawiłem jak widać na płytce.
    Sprawdzałem na sieci poszukując programu ale coś nie mam szczęścia bo to co trafiam to na port równoległy LPT.Czy mogę np zastosować <<dybkowskiego>>-nie wiem czy tak się pisze ale zainteresowani wiedzą o jaki chodzi
    Proszę o parę słów jaki musi być program aby chodził RS232 .
    Program wsadowy oczywiście będę pisał w Asemblerze.

    0