Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki
  • #61 03 Wrz 2004 12:23
    Jacu$
    Poziom 27  

    Cytat:
    Wedlug mnie poczatkujacy nie powinien zaczynac od asemblera, bo się zniecheci.


    Według mnie początkujący powinien zaczynać od assemblera. Jeśli zacznie od Bascom'a to znaczy, że nigdy nie dowie się jak działa mikrokontroler (nic go nie zmusi do przeczytania data sheet). Jeśli w programie coś nie zadziała jak chciał, to sam nigdy nie zgadnie dlaczego (bo nie wie jak działa mikrokontroler). I tak dalej...

    Assembler jest prosty, prosty i jeszcze raz prosty. Trudne jest to, że trzeba znać dokładnie budowę i działanie mikrokontrolera oraz myśleć tak jak mikrokontroler a nie jak człowiek. Nikt mnie nie przekona, że trudno nauczyć się kilku - podkreślam kilku - mnemoników dla PIC16F84. Wszystkich jest 33 albo 35 ale do napisania przeciętnego programu zazwyczaj używa się kilku. Ja do dzisiaj nie mogę się nauczyć C czy Bascom'a bo są dla mnie za trudne. Po prostu za stary jestem. A assemblera dla PIC-ów nauczyłem się w dwa dni, tzn. po dwóch dniach od przeczytania PDF-a ze strony producenta napisałem pierwszy program.

    Jeśli program napisany w assemblerze nie działa od pierwszego uruchomienia (jak działa to chyba są w nim jakieś błędy :wink: ) to znając budowę i działanie mikrokontrolera zazwyczaj potrafię sam dojść do rozwiązania problemu.

    Argument typu "assembler nadaje się tylko do małych programów" nie przemawia do mnie gdy dyskutujemy o osobach zaczynających zabawę w te klocki. Nauki programowania nie zaczyna się od napisania nowej wersji Boulder dash'a tylko od mrugania diodką na jednym z pinów (to taki odpowiednik "Hello, World!" w Turbo C 2.0).

    Jeśli już się trochę zatrybi to później też nie trzeba wyważać otwartych drzwi. Gotowych procedur jest w sieci od groma i ciut. Magistrala i2c jest przerobiona na 1001 sposobów dla PIC-ów, Motorolek 05/11, MCS-51, AVR i czego tam jeszcze ludzie nie wymyślili. Podobnie z wyświetlaczem LCD. Sterowanie 4/8 bitów a nawet rozwiązania na dwóch drutach z rejestrem przsesuwającym. Można skopiować, wkleić do własnego programu i działa.

    Najgorsze jest to, że mnóstwo osób pisze o assemblerze choć nie maja zielonego pojęcia o pisaniu w tym języku. Zaawansowani programiści mają od dawna skompletowane własne biblioteki makroinstrukcji i czasami może się zdarzyć, że cały skomplikowany program napiszą w dziesięciu linijkach. A obsługa i2c będzie wyglądała wtedy jak napisana w Bascom'ie.

    No dobra, będzie tego na dzisiaj. Szkoda, że nie można na AVR-y pisać w Fortranie. Dla mnie był the best! No i te karty dziurkowane...

  • #62 03 Wrz 2004 13:48
    shg
    Specjalista techniki cyfrowej

    rtom napisał:
    Asembler jest dobry, ale w dobrych rekach i tylko do pisania malych i srednich programow.

    Na mikrokontrolerach, to są chyba tylko małe programy :D
    Duże programy są na dużych (w porównaniu z uC) komputerach.
    Przykład:
    Kompilator języka E (konkretniej to CreativE) na amigę został w całości napisany w asemblerze :D prawie 800kB kodu źródłowego, bardzo mało komentarzy :D I to jest średniej wielkości program, po asemblacji kod wynikowy zajmuje "tylko" 170kB. (asm procków 68k jest jeszcze bardziej rozbudowany niż uC - ponad setka instrukcji, kilkanaście trybów adresowania :D , ale co tam, nawet tego się nauczyłem (to był mój drugi z kolei asm) )

    A ja tam myślę, że najlepiej uczyć się wszystkich języków na raz :D
    Wtedy napiszesz program w tym języku, w którym Ci będzie najwygodniej :D

    Jacu$ napisał:
    No i te karty dziurkowane...

    I te czytniki taśm perforowanych w Odrach, pamięci ferromagnetyczne...

  • #63 05 Wrz 2004 17:32
    august_a
    Poziom 21  

    Dla początkujących najlepszy jest BASCOM!!

  • #64 06 Wrz 2004 08:30
    PLASTUS
    Poziom 13  

    Prosiłem jako zielony w temacie o pokierowanie mnie tam gdzie mogę zdobyć podstawową wiedzę. Tylko KryceK zaproponował książkę "Mikrokontrolery AVR".To w czym pisać po pewnym czasie mam nadzieję rozstrzygnę sam.Myślę że to co jednym opowiada wcale nie musi być najlepsze dla innych.

  • #65 09 Wrz 2004 19:04
    UDMA
    Poziom 15  

    Ja zdecydowanie polecam w pierwszej kolejności naukę ANSI C. Parę luźnych uwag w odniesieniu do asemblera :
    1. Najważniejsze - dobrze napisany kod będzie w większości przenośny między różnymi procesorami i nie trzeba od 0 pisać wszystkiego (jak w asm ...) gdy chcemy przejść np. z '51 na PIC.
    2. Przy pisaniu kodu można skupić się na algorytmie a nie na rejestrach czy trybach adresowania procesora (asm...) stąd mniejsze prawdopodobieństwo popełniania głupich błędów.
    3. C bardzo dobrze nadaje się do bezpośredniej obsługi sprzętu (wskażniki, pola bitowe, wstawki asm).
    4. Możliwość deklarowania własnych typów danych, struktur, unii, tablic, funkcji, podział na obiekty lokalne/globalne niesłychanie ułatwia (ba umożliwia !) napisanie większego kawałka kodu podczas gdy asm to tylko mozolne rozmieszczanie zmiennych globalnych w RAM i rejestrach.
    5. Biblioteki standardowe rozwiązują sprawę arytmetyki 16 i 32-bitowej na platformach 8-bitowych.
    6. Bajecznie proste korzystanie z gotowych bibliotek, funkcji, kodu np. open source nawet z innych platform (pkt. 1).
    7. Obsługa przerwań w C jest trywialna.
    8. Wykrywanie błędów (debugging) jest o wiele prostsze niż w asm pod warunkiem że kompilator nie ma błędów ...
    9. Znajomość ANSI C (i C++) jest bezwględnie konieczna przy migracji na 32 bity (np. ARM !). Nie zaszkodzi oswojenie się z tematyką już teraz jeśli ktoś poważnie myśli o zarabianiu w przyszłości kasy na systemach embedded. No i na kompa czasem trzeba coś napisać.


    Wady tego interesu :
    1. Trzeba nauczyć się ANSI C. Niestety wypada przeczytać jakąś książkę i z miesiąc (na początek ...) posiedzieć przy gcc czy innym borlandzie na PC dopiero później można dłubać na uC.
    2. Trzeba mieć i _poznać_ jakiś kompilator (dodatkowe kilkaset stron dokumentacji do przeczytania po angielsku ...).
    3. C nie zwalnia wręcz wymusza dokładną znajomość architektury uC (rejestry, stos, przerwania, I/O, dostęp do pamięci).


    Parę linków :
    - C na '51 :
    http://www.hitex.co.uk/c51primer/c51primer.pdf

    - C na AVR:
    http://www.avrfreaks.net/AVRGCC/

    - C na PIC (16 i 18 ):
    http://www.htsoft.com/products/pic18ccompiler.php
    http://www.microchip.com/stellent/idcplg?IdcS...E&nodeId=1406&dDocName=en010014&part=SW006011

    - C na ARM (a jak :) )
    http://www.gnuarm.org

  • #66 13 Wrz 2004 19:17
    bolek
    Specjalista - oświetlenie sceniczne

    Panowie, a co zproponujecie do pisania w asm51 na pod XP? nie chce trzymać (robić bajzlu) z dwoma sytsemami tylko po to aby napisaś programik- miałem taki fajny dosowy... a to pod "nowymi" windami nie hula :(

  • #67 14 Wrz 2004 01:43
    shg
    Specjalista techniki cyfrowej

    :arrow: bolek
    W praktycznie każdym języku dla '51 jest możliwość pisania w asm.
    BASCOMA da się tak skonfigurować, że będzie działał prawie jak pełnowartościowy asm, tylko chyba preprocesora nie ma, więc trzeba się będzie z makrami pożegnać

    Ewentualnie jakiś C, tam też da się wywalić cały kod startowy dodawany przez kompilator i pisać w asm, a przy okazji używać makr.

  • #68 23 Wrz 2004 13:39
    mradowski
    Poziom 14  

    HAY!!! W czy pisać program do procka AT89S52, programatorek sobie złoże, piszę w C, potrzebne by były pliki nagłówkowe do obsługi AT89S52, czytałem o Keil a czy on obsługuje AT89S52? Jestem nowicjuszem to moja pierwsza przygoda z procem. Materiały na temat timera też mile widziane, bo nie wiem czy procek działa bez zdefiniowania timera w programie (czarna magia) i co jeszcze muszę wiedzieć na temat procków?


    Proszę o wszelkie informacje, pliki i tp.

    Z góry dziękuje i jak mogę tak pomogę.

  • #69 24 Wrz 2004 00:23
    macias21
    Poziom 14  

    Witam!
    Ja rowniez zaczynam przygode;) z AT89S52.Zlozylem juz ukladzik i programator ale jeszcze go nie odpalilem.

    cyklonb wejdz na stronke Keila i sciagnij plik nagłówkowy do uC.Podaje adres:
    http://www.keil.com/dd/chip/3411.htm to jest dla AT89S52

    Sciagnij poznij pakiet :
    C51 Evaluation Software z tej stronko o At89S52 a nawet nie bedziesz musial sciagac plikow naglowkowych.Wlaczasz Keil uVision2:) a tu niespodzianka :) on sam tworzy szkielet programu z zaimplementowana binlioteka do twojego procka czyli at89s52.

  • #70 10 Paź 2004 15:19
    Morthyr
    Poziom 14  

    Znaczy dokladniej to chodzi mi o to jak to sie robi, chodzi o taki prosty opis. Widzialem juz "miliony" jakis urzadzen, ukladow itp. gdzie jest napisane ze trzeba posiadac jakas tam kosc z zaprogramowanym programem i pytanko nasunelo sie jak to sie robi. Przeczytalem gdzies ze jakis tam uklad pracuje z jakims programem i np. autor dal nizej link do tego programu, ale jak go wrzucic do tej "kosteczki" uzywa sie do tego jakis specjalnych urzadzen? A i jeszce w czym (jezyk prog.) pisze sie takie programy ?

  • #71 10 Paź 2004 16:17
    TheMonter
    Poziom 17  

    Hmmm, przedewszystki trzeba mieć programator czyli urządzonko podłączane najczęściej do PC do którego wpinamy programowany układ i wgrywamy program/dane za pomocą softu z PC. Programatorów jest wiele, drogich, tanich, dobrych i niedziałających :D Ogólnie na początek polecam Willem'a www.willem.org - ma w miarę dobry stosunek cena/możliwości (sprzedawane są na Allegro), na gieldach elektronicznych itp. Jeśli chodzi o pisanie programów to jest wiele języków i nie ma sensu ich porównywać bo każdy ma swoje wady i zalety. Najczęściej stosowane to Asembler, C, Bascom.
    Z tego co wiem to Asm jest trudny ze względu na niski poziom programowania ale daje za to czysty i zwięzły kod wynikowy. C jest językiem wysokiego poziomu i ma dość przyjemną i jasną składnię. Natomiast Bascom jest oprogramowaniem latwym, lekkim i przyjemnym generujacym najwiecej śmieci z calej trójki. Np. w Asm program ma 1kB, w C będzie 2kB a w Bascomie może być 3kB (to był przykład, ale z reguły tak jest). A jeśli weźmiesz sobie jakąś notę katalogową układu np. AT89C2051 to tam jest opisana krok po kroku procedura programowania.

    Jeżeli gdzieś minąłem się z rzeczywistością to napewno koledzy z Elki mnie poprawią ;)

    Pzr.

  • #72 30 Paź 2004 12:42
    hint
    Poziom 9  

    proszę o jakieś materiały odnośnie mk avr (linki do stron, schematy zestawów uruchomieniowych itp) z góry dzięki

  • #74 03 Gru 2004 20:04
    ma_g
    Poziom 9  

    Pewnie pytanie zadawane tysiac razy, ale prosze nie smiac sie, bo dla mnie to problem.
    Musze napisac, dla powaznej firmy program do systemu sterowania, wizualizacje systemu sterowania. Napisac to jako aplikacje windows. Wizualizacja bedzie zawierac bazy danych, raporty, wizualizacje obiektow itp. ZALEZY MI NA PROFESJONALNYM PROGRAMIE, KTORY BEDZIE STABILNY I PEWNY. i dzialal wiecznie :)) (np miesiac) ZADNYCH ZWISOW. w koncu ktos to bedzie sprzedawal. Jaki kompilator wybrac ??? Moge kupic cos firmowego np Borland Builder C, albo pisac to w jakims opensource. CO PROPONUJECIE ??

  • #75 03 Gru 2004 20:27
    elektryk
    Poziom 42  

    A może napiszesz jakie masz wymgania i co potrafisz pisać?

  • #76 03 Gru 2004 20:46
    SACZI
    Poziom 16  

    Hehehe, troche mnie rozśmieszyłeś! Chcesz sprzedawać soft, a nie wiesz jaki kompilator do tego celu wykorzystać!
    Po pierwsze, jeżeli chcesz cos przedawać, to musisz mieć pewne doświadczenie z kompilatorem. Jak to mówią: "znac cos na wylot".

    Stabilne działanie programu w 99,9% zależy od roboty, jaką wykonał programista, a nie od kompilatora. Można przyjąć, że kompilatory pisza i testują "artyści swojego rzemiosła". Pozbawione są zatem błędów.

    Jaki kompilator wybrać? Ten, który znasz i lubisz. Równie dobrze możesz pisać w C++ Builder jak i w Visual C++. Delphi i VB również są doskonałe!
    Wybór zależy zatem od Ciebie i od Twoich umiejetności.

    Ja bardzo lubię C++ Builder (ale Delphi już nie). Ostatnio jestem zachwycony Visual Basic'iem, głównie ze względu na jego prostotę i dostępność dokumentacji.

  • #77 21 Gru 2004 10:16
    BluDeVil
    Poziom 9  

    Witam,
    Jak w temacie. Jakich narzedzi uzywacie i jakie jest Wasze zdanie na ich temat (wady - zalety) ? Wystartowalem z avr-gcc (AVRSide) ale troche zaczyna mnie draznic , spojrzalem na Code Vision i wyglada dosc atrakcyjnie...Zastanawiam sie czy sie nie zmienic otoczenia. Wszelkie komentarze mile widziane :-)

    Pozdrawiam,

    BluDeVil

  • #78 21 Gru 2004 11:13
    Darcio
    Poziom 12  

    Ja również korzystałem z gcc i CodeVision i muszę przyznać, że znacznie lepiej pracuje mi się w środowisku CodeVision. Pierwsza jego zaleta jest przejrzysty interface i duże wsparcie w postaci gotowych biblitek i generatora codu, który szczególnie początkującym ułatwia uruchomienie programu na AVR-ki. Obecnie przesiadlem się na AtmanAVR IDE, który bazuje na gcc i muszę przyznać, że jest to chyba najlepsze środowisko do pracy z AVR-kami i w dodatku za przystępną cenę - licencja na 2 kompy kosztuje 100$. Pozdrawiam

  • #79 21 Gru 2004 15:46
    takow
    Poziom 12  

    Bardzo was proszę koledzy pomóżcie mi zdobyć jakieś materiały(przykłady,help,kurs) na "C" mam CodeVisionAVR bo ten mi się nabardziej podoba. Chyba, że macie jakieś inne łatwiejsze dla początkującego w "C". Prockami zajmuję się już kilka lat, ale pisałem w Bascomie, który już mnie drażni. Z góry dziękuję.

  • #80 24 Gru 2004 14:12
    sq8lst
    Poziom 12  

    Witam:)
    Mam takie pytanko
    Zainteresowaly mnie procesory z seri '51 ale nie wiem od czego zaczac w programowaniu mam juz prakyke.
    Prosze o pomoc, od jakiego modelu '51 zaczac oraz jaki programator, najlepije najproszczy do montarzu i najtanszy - poczatki :]
    pozdrawiam

  • #81 24 Gru 2004 14:17
    Dexter77
    Poziom 28  

    Najprosciej to chyba zaczac od prockow Atmela. Np. AT89C2051. Maja wewnetrzna pamiec programu typu FLASH programowana przy pomocy bardzo prostego programatora. Poszperaj po elektrodzie w tym dziale a znajdziesz cale mnostwo tematow o niemalze identycznej tresci gdyz taki watek pokazuje sie tu regularnie co tydzien ;(
    Pozdro
    Dexter

  • #83 13 Mar 2005 14:55
    Akord
    Poziom 10  

    Witam!

    Zrobiłem programator do AVR na gotowej płytce (ZL2PRG) i gdy chcę
    zaprogramować procka, wyskakuje mi okienko z komunikatem: Could not identify chip with ID:FFFFFF. Używam programu BASCOM AVR DEMO. Czy ktoś mógłby mi coś doradzić?
    Roman

  • #84 21 Mar 2005 00:35
    LordBlick
    VIP Zasłużony dla elektroda

    Akord napisał:
    Witam!

    Zrobiłem programator do AVR na gotowej płytce (ZL2PRG) i gdy chcę
    zaprogramować procka, wyskakuje mi okienko z komunikatem: Could not identify chip with ID:FFFFFF. Używam programu BASCOM AVR DEMO. Czy ktoś mógłby mi coś doradzić?
    Roman

    Przyrządem pomiarowym obadać co się dzieje na poszczególnych pinach scalaka (napięcia), które są podłączone do "programatora"
    Pzdr. LightI

  • #85 14 Kwi 2005 12:52
    marek_Łódź
    Poziom 36  

    sq8lst napisał:
    Witam:)
    Mam takie pytanko
    Zainteresowaly mnie procesory z seri '51 ale nie wiem od czego zaczac w programowaniu mam juz prakyke.
    Prosze o pomoc, od jakiego modelu '51 zaczac oraz jaki programator, najlepije najproszczy do montarzu i najtanszy - poczatki :]
    pozdrawiam


    AT89Cx051 są fajne, ale wymagają równoległego programatora. Jeśli nie potrzebujesz komparatora analogowego, prościej (bo szeregowo) będzie zaprogramować minimalnie droższe kości ATMEL AT89S51..52..53 a przy większych potrzebach AT89S8252... A nie lepiej jakiś AVR (jest duży wybór)? Też są niedrogie i dają znacznie większe możliwości.

    Schemat programatora i oprogramowanie np. PonyProg z http://www.lancos.com/ppwin95.html Adama Dybkowskiego http://www.amwaw.edu.pl/%7Eadybkows/elka/ispprog.html itp.w uproszczonej wersji można go zrobić w postaci kawałka przewodu z portu LPT do wejścia procesora (ew z niewielkimi opornikami separującymi i na liniach).

  • #86 29 Kwi 2005 15:36
    wojteksct
    Poziom 15  

    Akord napisał:
    Witam!

    Zrobiłem programator do AVR na gotowej płytce (ZL2PRG) i gdy chcę
    zaprogramować procka, wyskakuje mi okienko z komunikatem: Could not identify chip with ID:FFFFFF. Używam programu BASCOM AVR DEMO. Czy ktoś mógłby mi coś doradzić?
    Roman


    Proszę sprawdzić czy w menu kompilatora został ustawiony właściwy typ programatora, no i oczywiście sprawdzić połączenia między procesorem i programatorem, gdyby to nic nie dało proszę sprawdzić czy port pod który podłączony jest programator działa poprawnie:)
    No i jeszcze jedna sprawa : Odnosnie BASCOMA - pracuje w tym środowisku od ponad roku i rzeczywiście może kod wynikowy programu jest dłuzszy niż np. w C i może pisząc w C wydaje sie, że lepiej panujemy nad tym co się dzieje... Tylko , że w bascomie są odpowiednie biblioteki, które można modyfikować i wiele innych funkcji które umozliwiają nam pełną kontrolę nad tym co ma robić mikrokontroler - jak komuś nie odpowiadaja gotowe funkcje, może przy pomocy wstawek asemblerowych stworzyć sobie nowe :))
    Dodam jeszcze, że właśnie kończę program (BASCOM) do zaprojektowanej przeze mnie rozbudowanej centrali alarmowej z powiadomieniem gsm (modem WAVECOM - fastrack) - w tym momencie program ma już ponad 29k. Gdy skoncze projekt postaram sie umieścić na forum zdjęcia i opisać jakie mozliwości daje to urządzenie :))) i co można zrobić z bascom'a ;)

  • #87 23 Lip 2005 18:18
    lukasb9
    Poziom 28  

    Witam - wszystkich którzy mają zamiar zbesztać mnie za to że nie uzyłem przycisku szukaj prosze żeby sobie darowali - to tak na poczatek:), przejdźmy do sedna, ktoś powiedział mi niedawno że niewarto zajmować sie procesorami z rdzeniem 51 ponieważ wychodzą z uzycia, zmartwiło mnie to, pewne postępy w asemblerze już zrobiłem, przyzwyczaiłem sie do niego nawet liste rozkazów pamiętam mniej więcej i niewiem czy zostawić go zupełnie a zając sie AVR-ami? czy może nadal poświęcać mu czas - pytanie dla wielu wyda sie pewnie głupie, ale taki problem mnie "dotnął" i chciałbym usłyszeć opinie bardziej biegłych w temacie:)

    pozdrawiam Łukasz

  • #88 23 Lip 2005 19:06
    Dexter77
    Poziom 28  

    Sam Atmel wypuszcza nowe procesory z rdzeniem 51 mimo ze AVR-y maja ogromna popularnosc i wydajnosc. Stara poczciwa 51 ma tez swoje zalety a w wersjach z ulepszonym rdzeniem 1 taktowym stanowi bardzo silna konkurencje dla innych procesorow wiec stwierdzenie ze wychodzi z uzycia jest mocno przesadzonym stwierdzeniem.Moim zdaniem warto jest znac kazdy asembler procesora ktorego sie uzywa mimo dobrodziejstw jakie oferuja jezyki wyzszego rzedu. Czasem poprostu wstawka asemblerowa jest niezastapiona.
    Pozdro
    Dexter

  • #89 23 Lip 2005 19:39
    morph13
    Poziom 25  

    Zawsze jest warto nauczyć się asemblera, przynajmniej podstaw a "zamykanie się" tylko dla jednego procka to delikatnie mówiąć "nie inteligentne".
    Posiedzisz troche w mikrokontrolerach to sam zaczniesz eksperymentować z różnymi rodzinami procesorów: 51, AVR, PIC, DSP i stwierdzisz, że użycie procesora o takiej a nie innej architekturze jest podyktowane wymaganiami projektu i szybkośćią realizasji go na tym a nie innym układzie.
    Asembler pomaga rozwiążać problemy nie dające się rozwiązać przez dostępne funkcje języka wyższego poziomu (popularne wstawki w asm).

    Powodzenia.

  • #90 23 Lip 2005 21:46
    lukasb9
    Poziom 28  

    Witam ponownie, dziękuje za wsparcie :) ciesze sie że ten ktoś niemiał racji, wobec tego wróce do asm-a dla 51' :), rozumiem również ,że stwierdzenie "89C51 i 89C2051 to przezytki " też jest przesadzone? jakośmam sentyment do tych procesorów ..

    pozdrawiam Łukasz

  Szukaj w 4mln produktów
Przeglądaj produkty