logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Mikrokontrolery - Narzędzia i języki programowania

no2 21 Lut 2004 15:25 241682 384
Najlepsze odpowiedzi

Jakiego programu i języka użyć do napisania programu dla AT89S52 programowanego przez ISP?

Najpraktyczniej użyć Keil uVision/C51 z językiem C albo Raisonance C51; w wątku pada też rekomendacja C, bo daje większą kontrolę nad pracą układu i są dostępne darmowe wersje tych narzędzi [#513491][#512853][#525406] BASCOM AVR nie obsłuży AT89S52, a sam układ można co najwyżej pisać w BASCOM 8051, lecz wgrywanie kodu trzeba zrobić zewnętrznym programatorem lub innym programem, który obsługuje S52, bo wbudowane narzędzia BASCOM-a tego nie programują [#514446][#516268] Jeśli dopiero zaczynasz, asembler też jest wymieniany jako sensowna alternatywa, ale C jest polecany częściej jako lepsza baza do nauki [#512853][#513491]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
  • #1 512833
    no2
    Poziom 11  
    Posty: 15
    witam wszystkich
    mam pytanko dotyczące w programowaniu procka at89s52 poprzez ISP ,jakiego użyć programu aby napisac program dla niego,mam bascom'a ale on nie obsługuje tych procków.
  • #2 512838
    ACULA
    Poziom 34  
    Posty: 3005
    Pomógł: 105
    Ocena: 114
    pisacć czy programować, bo to są dwie rózne sprawy
    do pisania używam dowolnych, programuję w AEC
  • #3 512841
    no2
    Poziom 11  
    Posty: 15
    chodzi mi o program taki jak np.bascom 8051 tylko żeby obsługiwał at89s52.
  • #4 512853
    yarpen2
    Poziom 22  
    Posty: 549
    Pomógł: 39
    Ocena: 39
    Polecam C. Bawię się nim dość krótko niewiele jeszcze umiem ale jest super. W C masz większe panowanie nad tym co sie w procku dzieje, nie tak jak w bascomie (choć wcale nie mówie że bascom jest zły, wręcz przeciwnie żeby szybko coś prostego napisać jest wystarczający). Poza tym są dostępne darmowe wersje C i to jest duży plus. A dla mnie ważne jest to że ucząc się C poznajesz jak naprawdę działa procek ( a tego się w bascomie nie nauczysz).
    No chyba że bedziesz pisał w asemblerze, ale wtedy aplikacje bedą powstawały dłużej ( przynajmniej dopóki go nie opanujesz)

    Są jeszcze jakieś wersje pascala na 8051, ale tego nigdy nie próbowałem
    choć kolega kupił i się bawił i był zadowolony.
  • #5 512914
    no2
    Poziom 11  
    Posty: 15
    a masz jakis kurs programowania mikroprocesorów w c ?jakies komendy itp.?coś od czego mógłbym zaczac,bede wdzieczny za każde informacje
  • #6 512955
    PiRoman2
    Poziom 20  
    Posty: 337
    Pomógł: 22
    Ocena: 15
    Jak nie trzeba szybko (choć i tu bym polemizował, kwestia wprawy)
    to najlepiej w asemblerze (chyba,że potrzebne są operacje zmiennoprzecinkowe)
  • #7 512961
    no2
    Poziom 11  
    Posty: 15
    no ok ale czy mozecie mi powiedziec jakie komendy spowoduje ze na porcie np. p1.1 procka at89s52 wystąpi stan wysoki to na p2.1 zapali sie dioda LED.chodzi mi przedewszystkim jak mam napisac program w C takk żeby procek kumał o co mi chodzi,jestem w tej dziedzinie totalnym lamerem i dlatego prosze o pomoc ludzi bardziej doswiadczonych.
  • #8 513021
    yarpen2
    Poziom 22  
    Posty: 549
    Pomógł: 39
    Ocena: 39
    na stronce http://www.easy-soft.tsnet.pl/ w dziale akademia jest kurs programowania w C, inny kurs był też niedawno zamieszczany na łamach Elektroniki Praktycznej.
  • #9 513309
    roiman
    Poziom 14  
    Posty: 88
    Pomógł: 7
    Ocena: 2
    najprosciej bedzie jak wezmiesz na poczatek
    at90s2313 i bascom avr jest maly ale ma calkiem
    duze mozliwosci jak ma sterowac ledami to
    do wyjsc mozesz podlaczyc 8*7 czyli 56 led
    w bardzo prosty sposob bez dodatkowych ukladow
  • #10 513465
    Caladan
    Poziom 19  
    Posty: 242
    Pomógł: 33
    Ocena: 3
    Heh, asembler jest prostą rzeczą, a w dodatku podobną na wszystkie mikroprocesory i mikrokontrolery. Wiec raz nauczona rzecz, sposob myslenia w sposob czysto pod wzgledem instrukcji jest wygodne. Znam asma na kilka procków, nie żałuje.

    C natomiast jest fajne, jesli bedziesz pisal jakis mega program, jakiegos tetrisa albo cos. :D Zamierzam niedlugo pisac zegarek... Wlasnie w asmie chyba.... Polecam asma...
  • #11 513491
    dragan36
    Poziom 11  
    Posty: 25
    Ocena: 15
    Ja zaczalem swoja zabawe z programowaniem z AT89s8252 wydaje mi sie ze jst to bardzo dobry procesor do zabawy... jesli chodzi o programowanie to uVision Keil i oczywiscie C. do tego ksiazka Jacek Majewski, Krzysztof Kardach "Programowanie mikrokontrolerow z serii 8x51 w jezyku C". Jest to wydaje mi sie jedna z lepszych ksiazek jesli chodzi o procki.Jesli bylbys zainteresowany to zaprasam na priva.
    pozdrawiam
    dragan
  • #12 513704
    sigreg
    Poziom 10  
    Posty: 47
    Czesc,

    Jakis czas temu udalo mi sie uruchomic programator i stworzyc pierwszy dzialajacy uklad oparty na zaprogramowanym w Bascomie procku 2051. Uklad mruga diodami .. to wszystko. Na bardziej skomplikowane projekty brak mi niestety wiedzy. Zna ktos moze jakies strony z kursem programowania w Bascomie ? i2c, obsluga lcd (tekstowe i graficzne - np. z komorek)itp. sporo jest do poznania, a sam suchy program ktory uda mi sie czasem wyszperac w internecie to niestety za malo aby zrozumiec sposob w jaki uklad dziala. Z gory dzieki za wszelka pomoc.

    Grzesiek
  • #13 513814
    no2
    Poziom 11  
    Posty: 15
    dobra już wiem jakiego użyć języka,jakiego programu do kompilowania,jakiego do programowania ale dalej nie wiem jak w C napisac programik który po wcisnięciu przycisku zapali mi diode LED. :cry: proszę ludzie zlitujcie się jak tylko się dowiem jak to zrobić to z miejsca zmienie temat i już nie bedę przynudzał to co za dużo to nie zdrowo :)
  • #14 513960
    dragan36
    Poziom 11  
    Posty: 25
    Ocena: 15
    wyglada to mniej wiecej tak:
    ------------------------------------------
    #include <AT89S8252.h>

    void main(void)
    {
    while(1) {
    P1=P3; /*odczyt portu P3(przycisk) i kopiowanie do P1(dioda) */
    }
    }
  • #15 514446
    radek.kaba
    Poziom 15  
    Posty: 120
    Pomógł: 1
    Sprawa z 89s82 i programowanie ISP.
    Sposób programowania układu AT89S52 jest odmienny od programowania jego brata 89S8252, chociaż jego oznaczenie mogłoby wskazywać na to, że można podłączyć programator od 8252 i np. z BASCOMa go zaprogramować. ATMEL wymyślił sobie, żę 89S52 będzie sięprogramować tak jak AVRy.
    Możesz to stwierdzić studiując oba dataszity. A więc z wbudowanych w BASCOMa narzędzi nie zaprogramujesz 89S52, ale można to zrobić zewnętrzym programem który obsługuje ten mikrosterownik.

    Co do wyboru AT89S8252 dla początkujących - w pełni popieram, (właśnie programowanie ISP np. prosto z BASCOMa), ale także możliwość budowania bardzej zawansowqnych projektów, wewnętrzny EEPROM (2048 bajtów), nadaje się nie tylko do przechowywania ustawień ale także jako rejestrator, pozaty 32 piny portów pozwalają poszaleć z zewnętrzym hardwarem. jedyną jego wadą jest niewystarczająca wydajność wyjść do bezpośredniego sterowania LED.
  • #16 515198
    no2
    Poziom 11  
    Posty: 15
    w jakim bascom'ie (jeżeli w jakim kolwiek ) można napisać program który pózniej może zostac wprowadzony do AT89s52?Bo jesli 89s52 należy do rodziny '51 to dlaczego programuje sie jak avr'y. czy w bascom avr można napisać program dla niego?
  • #17 516268
    radek.kaba
    Poziom 15  
    Posty: 120
    Pomógł: 1
    Program dla AT89S52 trzeba pisać BASCOMie 8051 ale programować przez SPI z BASCOMa go nie idzie.
    Niestety trzeba albo znaleźć programator który obsługuje S52, tylko trzeba uważać bo niekiedy są to przechwałki projektantów którzy nie zauważyli tego niuansu, że S52 nie jest z tej samej beczki co S53 i prawdopobnie tylko dodali obsługę innej wielkości FLASH i już "mają" S52, albo wykożystać program dla AVR i próbować za jego pomocą władowac do niegoprogram.
    Szczerzy mówiąć, to po pierwszych niepowodzeniach przystałęm próbować programowania przez SPI. Mam dobry programator z RK-System (niestety nie tani) i programuję je równolegle, niestety był potrzebny update oprogramowania, bo pierwotna wersja niby obsługiwała S52, ale tego nie robiła.
  • #18 516276
    no2
    Poziom 11  
    Posty: 15
    z tymi wiadomośćiami które zdobyłem na tym forum odnosnie at89s52 powinno mi sie udać go w koncu zaprogramowac :roll: dziekuje wszystkim za pomoc w zrozumieniu tego.pozdrawiam grzesiek
  • #19 519138
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    to to jeszcze bajka. Wlasnie buduje programator równoległy do '51 i po paru dniach testów(ze zwykłych c5x czy s51..52 nie ma problemu) ale spruóbujcie chociaż szczytać sygnaturę układu s8252(albo s53 - bo procki są identyczne). Niby wszystko wygląda OK (komendy podobne - ustawienia mode też) ale trzeba podać cały czas 12v. Bez tego nawet nie zareaguje. Ot nowość. Natomiast S51..2 przez ISP wvale nie są podobne do AVR. No może tym że komenda też składa się z 4 bajtów. Ale nic pozatym. Dlatego trzeba poszukać nowego programatora ISP.
  • #20 519618
    j.szymanowski
    Poziom 13  
    Posty: 38
    Ocena: 3
    Nie wiem czy trafiam w temat, ale parę razy natknąłem się na pytania o możliwość ściągnięcia artukułów z serii "Mikroprocesorowa ośla łączka". Znalazłem taką stronę- jest wszystko w komplecie na:

    http://www.elektronika.qs.pl/arch.html

    Ja też przesiadam się z '51 na AVR-y i sądzę że na początek nic lepszego nie można wymyślić.

    Pozdrawiam i sukcesów :D

    Jan
  • #21 525406
    yego666
    Poziom 33  
    Posty: 2175
    Pomógł: 239
    Ocena: 564
    Gdy jeszcze pisalem na '51, oprocz asemblera uzywalem srodowiska i kompilatora C firmy Raisonance. Uwazam, ze jest prosty, ma wszystko co srodowisko i C miec powinien ( tzn unie, struktury, i inne rzeczy ), a ponadto posiada fajnie zrobiony debugger graficzny z roznymi fontannami. W zasadzie wszystkie procki rodziny '51 sa supportowane a jasli ich nie ma to wystarczy dodac odpowiedni header-file i gotowe. Freeware'owa wersje tego softu z ograniczeniem kompilatora do 4kB kodu mozna sciagnac tu: http://www.raisonance.com/download/dwnlform.php?TOOLS=51
    Latwo sie nauczyc tego bo srodowisko jest lopatologiczne i nie ma zaawansowanego sterowania wszystkimi projektami we wszechswiecie jak to maja inne srodowiska.
  • #22 525557
    j.szymanowski
    Poziom 13  
    Posty: 38
    Ocena: 3
    Wszystko rozumiem, tylko nie mogę pojąć dyskusji o wyższości, przjazności i innej przymiotnikowości jednego języka nad drugim. Przypomina to cokolwiek wykłady J.T. Stanisławskiego "O wyższości Świąt Bożego Narodzenia nad Świętami Wielkiejnocy". Pisząc program mam się skupić nad tym CO chcę, a nie JAK chcę to osiągnąć - oczywiście dot. to programowania dla celów hobbystycznych, a takie chyba jest nasze forum! Jeśli ktoś zna dobrze C, C++ itp i w nim programuje - to sukcesów mu życzę. Ale niech nie wmawia innym, że to łatwe, najlepsze i jedyne w swoim rodzaju, a pozostałe języki - a Basic czy Bascom to badziewie nic nie warte. Bo taki wniosek wysnuwam czytając powyższe wypowiedzi!

    Jan.
  • #23 525614
    yego666
    Poziom 33  
    Posty: 2175
    Pomógł: 239
    Ocena: 564
    Nie znam sie na swietach, a profesora mniemanologii stosowanej prawie juz nie pamietam, ale zdaje sie ze Kolega dosc dobrze go pamieta i dla tego wlasnie wysnowa bledny wniosek. Blad wnioskowania szanownego Kolegi polega na tym, ze jesli ktos poleca pewne rozwiazanie, to nie znaczy ze da sie za nie zabic. Wolnosc slowa zas, polega na tym, ze nawet jesli ktos nie ma racji, ma prawo wypowiedziec swoj poglad. W przypadku, zas programowania nie ma pogladow slusznych i nieslusznych. Wszystko jest dobre co prowadzi do celu i sprawia przyjemnosc. Nie uwazam by Basic byl gorszy tylko dlatego, ze sam wole C, jednak faktem jest, ze C oferuje duzo wiecej kontroli nad sprzetem i procesem niz Basic, i to jest powod dla ktorego do szybkich robotek preferuje wlasnie C. Gdy mam czas i moge pomarudzic wole asembler, bo jest najefektywniejszy i daje 100% kontroli. Poza tym wszystkim, wydaje mi sie ze tu, na forum Doradzamy a nie zmuszamy nikogo do takich czy innych wyborow. Kazdy ma swoj wlasny rozum i wybierze to co Jemu pasuje, kierujac sie wszystkimi wypowiedziami na zadany temat. Dziwi mnie zatem tak alergiczny ton wypowiedzi szanownego przedpiscy. :(
  • #24 538868
    katarcza
    Poziom 12  
    Posty: 33
    Pomógł: 2
    Ocena: 2
    Witam serdecznie,

    osobiście polecam jakiegość AVR'a (większe możliwości) oraz język klasy C (C++). Do tego programator ISP oczywiście, głównie aby przyspieszyć i ułatwić pracę. Osobiscie używam takiego zestawu, programator własnej konstrukcji zgodny z KANDA SYSTEM 200, ATMega 128 oraz CodeVision jako kompilator. No i oczywiście koniecznie AVrStudio firmy atmel do symulacji.

    W razie pytań lub potzreby pomocy prosze pytać.

    Pozdrawiam
  • #25 552654
    fantom
    Poziom 31  
    Posty: 1649
    Pomógł: 108
    Ocena: 41
    Z tym C++ to chyba kolega troche przesadzil.W zasadzie nie ma czegos takiego jak C++ na mikrokontrolery bo i po co ? Jest zwykle C i juz a C++ to inna bajka i ma zupelnie odmienne zastosowania.
  • #26 569734
    piotrwzk
    Poziom 11  
    Posty: 85
    Dobrze jest znać asemblera bo to ułatwia życie i wiemy co sie dzieje w mikrokontrolerze, ale od czasu jak przeszedłem na C to już mi się niechce wracać do niego. W asemblerze napisalem kiedyś program do fikuśnego rejestratora , zajeło mi to kupe czasu i 4kB programu. Teraz mogę śmiało powiedzieć, że w C zaoszczędziłbym dużo nerwów i czasu. Pozdrawiam 8)
  • #27 569823
    fantom
    Poziom 31  
    Posty: 1649
    Pomógł: 108
    Ocena: 41
    :arrow: piotrwzk

    Mam dokladnie takie same odczucia.Nauke nalezy zaczac od asemblera ale w miare jak piszemy wieksze kawalki kodu nalezy przeniesc sie na wysoki poziom czyli np C.Ja tez niechetnie wracam do asm-a (chyba ze musze) ale nauke warto od niego zaczac.To naprawde bardzo logiczny jezyk na ktorym mozna sie wiele o samym programowaniu nauczyc no i oczywiscie o sprzecie.Jeden z moich wykladowcow powiedzial kiedys ze kod powyzej 2kB powinno sie juz pisac w C i chyba cos w tym jest.Pozdrawiam maniakow asma ktorzy pisza w nim wszystkie swoje kody :lol: Trzeba miec do tego zdrowie :lol:
  • #29 569974
    fantom
    Poziom 31  
    Posty: 1649
    Pomógł: 108
    Ocena: 41
    No niestety musze cie zmartwic ale nie mam.Ja uzywam avr-gcc i korzystalem z helpa do niego,albo z Keila i RIDE (dla 51) i rowniez uczylem sie z helpa.Wykladow zadnych z tego nie mialem a programy pisac trzeba bylo wiec to byla jedyna droga.Niestety prawda jest taka ze dostac dokumentacje po polsku graniczy z cudem chyba ze komus sie chcialo i to przetlumaczyl ale ja nic takiego nie mam.Pozdrowka.
REKLAMA