1

Witam,
Mam ambitny plan nauczyc sie w miare krotkim czasie troche o uC.
Problem w tym, ze poza umiejetnoscia programowania moje wiadomosci sa zadne.
Prosba wiec do Was, rycerze lutownicy - powiedzcie od czego zaczac?
Jakis prosty schemat - tani uC, cztery guziki, cztery LEDy - tak zebym mogl sie pobawic (preferuje praktyke).
Moze jakies adresy stron? Sugestie? Uwagi?

Cokolwiek?

z gory dzieki

ps. zeby nie bylo ze to zly dzial: oczywiscie wykorzystam to do atari. nawet juz zaczalem jeden taki projekcik maly... tylko ze utknalem z ww powodow.

2

http://www.elektroda.pl/rtvforum/
http://www.elektroda.pl/

"wszystko się kiedyś kończy......."

3

Jezeli nigdy nie miales doczynienia z mikrokontrolermai to proponuje nastepujaca lekture:

http://www.btc.pl/index.php?id=zmuk

potem musisz sie zdecydowac jakie mikrokontrolery chcesz programowac, i ile chcesz przeznaczyc pieniedzy na narzedzia. Z tego co wiem to bardzo popularne w polsce u poczatkujacych w tej dziedzinie sa mikrokontrolery firmy ATMEL. Programator mozesz dla nich zlozyc sobie sam, dostepne sa darmowe srodowiska programistyczne i darmowy AVR-GCC. Ja nie korzystam z produktow firmy ATMEL, wiec wiecej Ci powiedziec o nich nie moge.

Do wyboru masz jeszcze kontrolery takich firm jak: ST (seria ST6,ST7 jest bardzo podobna do budowa do 650x, arch. CISC), Motorola (seria 68HC podobna do 650x, arch. CISC), Microchip (latwe do opanowania RISC'owe mikrokontrolery, tylko 36 instrukcji, szybkie, ale bardzo drogie programatory/ICD), ZILOG (seria Z8, ale to chyba tylko dla milosnikow architektury Z80 ;-). I wiele, wiele innych.

Na poczatek chyba proponowal bym Ci rozpoczecie zabawy od MCU (mikrokontrolerow) ATMEL, mysle ze sa one na tyle popularne w polsce ze duzo ludzi bedzie moglo Ci pomoc w rozwiazaniu pierwszych problemow z programowaniem tychze ;-) Gdy wybierzesz ATMELa mozesz wybrac rozne drogi i rozne rozwiazania. Mozesz rozpoczacz przygode od Atmeli zgodnych z architektura MCS8051 lub probowac swoich sil z riscowymi mikrokontrolermai serii AVR. Mozesz pisac w czystym ASM'ie, mozesz uzyc kompilatora C, mozesz nawet zaczac od czegos co sie nazywa BASCOM. Nie wiem na jakim poziomie jestes i jak szybko beddziesz "lapal wiedze", ale sadze ze BASCOM moze byc dobrym rozwiazamiem jako pierwszy kontakt z MCU. Jedni mowia ze BASCOM wyrabia zle nawyki, inni twierdza ze wrecz przeciwnie. Ja nie mam jednak opnii bo go nigdy nie uzywalem ;) . Jezeli poczytasz sobie wiecej o BASCOM i stwierdzisz ze moze Cie to zainteresowac to ostatnio w pismie ktore sie nawywa Elektronika Plus (dodatek dla elektroniki dla wszystkich) byl BASCOM + plytka prototypowa na ktorej siedzial jakis ATMEL 90Sxxxx zgodny z 8051. 

http://www.sklep.avt.com.pl/go/_info/?id=8213

tam jest chyba pelny kurs BASCOMA i kompilator dla serii zgodnej z '51 i AVR.

Jezeli zdecydujesz sie na serie AVR to mozesz sobie kupic ksiazke:

http://www.btc.pl/index.php?id=avr

Osobiscie nie korzystam z MCU od ATMEL'a. Ja zajmuje sie MCU od ST,MICROCHIPA i toszeczke MCU od Motoroli. Koszt programatorow/debuggerow wspolpracujacych z IDE (mam na mysli srodowisko programistyczne) poszczegolnych firm jest nastepujacy:

MICROCHIP - MPLAB ICD2 -> 1100zl+VAT
ST  - InDart STX/D -> 1000zl+VAT
MOTROLA - nie wiem, bo dostalem za free ;-)
Zilog - $100

Z tego co wiem w przypadku ATMELA, mozna sobie samemu zmontowac programator/debugger za naprawde niewielkie pieniadze. Ale tu musza sie wypowiedziec inni, bo ja Atmelem sie nie zajmuje ;-)

Oczywiscie do MCU microchipa czy ST tez sa schematy prostych programatorow w sieci, jednak zaden nie zapewnie pelnej funkcjonalnosci z IDE dostarczonym przez producenta.

A jeszcze jedno, MCU ATMEL sa dostepne praktycznie wszedzie po przystepnych cenach i mozna bez problemu kupic pojedyncze sztuki. Z dostepnoscia innych MCU dla szarego zwyklego uzytkownika jest mniejszy lub wiekszy problem, jezeli juz ktos zechce sprzedac nam jakies MCU w niewielkiej ilosci to tak wywinduje cene ze nam sie odechce. Dystrybutorzy zupelnie inaczej podchodza do firm a zupelnie inaczej do osob prywatnych. Mysle ze jednym z powodow popularnosci ATMELA jest to ze jest on "wszedzie" ;-)

ufff... to chyba wszystko co chcialem napisac!

powodzenia zycze!

pozdrawiam serdecznie
Seban/SLIGHT

ps) w polsce panuje niestety dziwna opinia na temat MCU od ATMEL'a. Duzo ludzi twierdzi iz ATMELe sa bardzo nie odporne na "silne zaklocenia". Probowalem wypytywac kiedys, co znaczy ze sa nie odporne, jednak nikt nie udzielil mi konkretnej odpowiedzi ;-) Wiem ze to nie doczyty tematu jednak, moze ktos z was ma jakies opinie na temat odpornosci na zaklocenia MCU od ATMELa?

4

Seban! Prawde mowiac to mialem cicha nadzieje, ze chociaz cos napiszesz ilekroc widywalem Cie na forum. Ale to, to jest totalne zaskoczenie! WIELKIE DZIEKI! Konkretnie, rzeczowo i na temat - wlasnie o to mi chodzilo.

Co u mnie sie zmienilo? Na razie wszedlem w x51 - assembler.
Zbudowalem sobie taki prosty ukladzik na bazie 8051 - RST/EA.VP/XTAL1.2/GND/VCC i kilka linii i bawie sie w oprogramowywanie tego i sprawdzanie czy dziala jak zalozylem (kilka przelacznikow jako WE i diod LED jako WY)

Na razie wyglada to prosto :)

Jeszcze raz WIEEELKIE dzieki za info!

pozdrawiam
mr uC-wannabe :)

5

Jeszcze jedno...
Moze ktos mi podac nazwy zastepnikow x51 i innych atmeli? Bo dostanie czegos takiego (tj 'oryginalnego') u nas w sklepach graniczy z cudem. Poza tym rozmowa z pionkami jest straszna.
Poki co wiem o MAX7651/52 ale to potwor (milion nozek) i DS87C550 ale to jeszcze wiekszy potwor...

Z gory dzieki za kazda pomoc.

6

Czesc!

Z moich szybkich poszukiwan wynika co nastepuje:

http://www.atmel.com/products/8051/ - atmelowskie zgodne z 8051 MCU

albo dokladniej, czyli gotowa lista:

http://www.atmel.com/dyn/products/devic … ily_id=604

pewnie zainteresuja cie sekcje:

#1)  Flash ISP (In-System Programmable)
#2)  Flash (Reprogrammable)

na poczatek mozesz probowac z malenstwami typu AT89C2051:

http://www.atmel.com/dyn/products/produ … rt_id=1938

na w/w stronach jest takze kupa dokumentacji ;-)
przyklady programow, gotowych urzadzen.
Atmel daje wiele aby przekonac do swoich mikrokontroerow ;-)

zreszta podobnie jest z Microchipem ;-)

Jezeli masz problemy z zakupieniem atmeli proponuje np:

http://www.seguro.pl/cgibin/shop?show=P … d=70382876

jak widac AT89C2051 kosztuje 5.36 juz z VAT ;-)

w/w sklep internetowy handluje glownie Atmelami wiec oprocz seri zgodnej z 8051 mozesz kupic takze AVR'y i ARM'y ;-)

http://www.seguro.pl/cgibin/shop?show=K … d=70382876

edited:
Przypomnialo mi sie ze jeszcze infineon produkuje sersie zgodna z 8051:

http://www.infineon.com/cgi/ecrm.dll/ec … ?oid=-8136

nie wiem jak z programatorami do tej serii, ale moze warto sprawdzic. Pojecia jednak nie mam gdzie to kupic ;-(

i jeszcze z tego co wiem Philips od wiekow promuje architekture 8051:

http://www.semiconductors.com/catalog/2 … html#45992

interesuje Cie sekcja "80c51 architecture", ale problem ten sam co wyzej. nie wiem gdzie kupic i nie wiem jak z narzedziami i srodowiskiem (IDE).



pozdrawiam serdecznie
Seban/SLIGHT

ps) troche to trwa zanim odpisze ale mam bardzo malo wolnego czasu ostatnio ;(

7

Seban: co powiesz nt. odporności na zakłócenia ST7 (72F264) ? Używam ten scalak jako sterownik klawiatury w falownikach (takie maleństwa o mocach od 1 do 250kW) właśnie ze względu na hipotetyczną odporność na zakłócenia co nie jest dobrą stroną atmela. Być może masz własne spostrzeżenia ?

pomidor

8

acha brak odporności 89C52 itp. (ATMEL) jest stwierdzony - nie lubi energoelektroniki - poza tym słabiutka wydajność prądowa pinów (np UART) też powoduje generację zakłóceń transmisji...

pomidor

9

Hm - powinienem o czyms wiedziec? Nie pakowac sie w cos?

10

Jedyne co - to nie ucz się 8051 - to już moim zdaniem historia. Atmel AVR, Microchip PIC, ST7, Texas Instruments MSP430 to podstawa dzisiaj.
I radzę programować w C - radzę wbrew swoim przekonaniom, ale
łatwiej cokolwiek zrobić bez nauki co chwila nowych asemblerów.
Zakłóceniami się na razie nie przejmuj.

pomidor

11

Tak uwazasz? Hm, parametry x51 (szczegolnie S52 :) sa bardzo interesujace. Jeszcze bardziej ich cena (nawet za 6-7 pln mozna dostac). Mysle zeby sobie kupic AT89S52 i AT90S2313. No i programowac je jednoczesnie - wtedy chyba najlepiej i najdokladniej bede widzial zady i walety obu :)
C powiadasz... hm, no zobaczymy, chociaz nie ukrywam, ze lubie maly i szybki kod. Swoja droga dziekowac wypada za GCC-AVT :)

Dzieki za info, po powrocie z Lornety biore sie ostro za uC :)

12

Seban: co powiesz nt. odporności na zakłócenia ST7 (72F264) ? Używam ten scalak jako sterownik klawiatury w falownikach (takie maleństwa o mocach od 1 do 250kW) właśnie ze względu na hipotetyczną odporność na zakłócenia co nie jest dobrą stroną atmela. Być może masz własne spostrzeżenia ?

Czesc!

Powiem tak, seria ST6 ma wprost legendarna odpornosc na wszelkiego rodzaju zaklocenia ;-) Seria ST7 ktora stosuje w urzadzeniach klasy "Automotive" jest moim zdaniem rownie odporna ;-) I moim zdaniem zastosowanie serii S7 w tak "zasyfialym" srodowisku jakim jest praca w otoczeniu falownika to bardzo trafny wybor! ;-)

A tak z ciekawosci zapytam, co steruje praca falownika (znaczy jaki MCU)? Nie zajmiuje sie co prawda sterowaniem falownikami ale zdarzylo mi sie grzebac w UPS'ach firmy PowerWare serii 9, ktore to maja pelne przetwarzanie, tzn. w wielkim uproszczeniu prostuja sobie napiecie sieci, a potem falownik od nowa wytwarza czysta sinusoide na wyjsciu ;-) W starszczej generacji tychze UPSow widzialem jakas duza Motorole 68HCxx, natomiast w nowych siedza juz mikrokontrolery Hitachi serii H8 (obecnie chyba Renesas).

W moich projektach "samochodowych" gdzie az roi sie od roznego rodzaju zaklocen (maksymalnie zasyfiale zasilanie, silne pola elektromagmetyczne, sterowanie obwodami zawierajace duze indukcyjnosci i wszytkie inne mozliwe obciazenia), powiem ze seria ST7 sprawuje sie rewelacyjnie ;-) chociaz na PIC'ki od Microchipa tez nie moge narzekac ;-)

Podsumowujac, tak naprawde to kazdy MCU moze sie okazac zawodny jezeli niewlasciwie zaprojektujemy urzadzenie, odpowiednio zaprojektowane PCB, dobre zabezpieczenie lini wchodzacych i wychodzacych z MCU to daje nam juz 90% sukcesu. Ale w rzeczywistosci nie jest tak latwo ;( jezeli mam minimalizowac koszty urzadzenia i nie moge wlozyc parudziesieciu elementow aby bardziej uodpornic dany projekt na wszelkiego rodzaju zaklocenia, to musze powiedziec ze przy minimalnej ilosci elementow zewnetrzych wlasnie seria ST7 i PIC'e radza sobie najlepiej ;-)

uffff.... tyle apropos moich wnioskow na temat odpornosci MCU na zaklocenia ;-) teraz pare slow o architekturze 8051.

Tez myslalem ze architektura 8051 to przezytek i tylko stare dziadki sie tym zajmuja, postanowilem ta czesc segmentu olac i nie zajmowac sie rozwiazaniami historycznymi ;-)

Niestety teraz sie to na mnie msci, to czego unikalem jest prawie wszedzie !!!  Lata obecnosci tej architektury na rynku sprawily ze cale stada ludzi zna wylacznie ta architekture i projektanci/programisci dalej wybieraja architekture 8051. Prosty przyklad... zagladamy np. do urzadzen firm Posnet lub Optimus-IC (mowimy o kasach i drukarkach fiskalnych). Otoz co tam widzimy.... o zgrozo seria 8051. Dwoch niezaleznych producentow stosuje ta sama architekture... niestety :(

Ja rozumiem ze mozna projektowac nowe urzadzenia na nowych MCU i nie wykorzystywac takich archaicznych rozwiazac jakim jest seria 8051, ale tu mozemy zauwazyc jeszcze jedno zjawisko. Wszystkie wieksze firmy uparcie ciagna ta architekture rozwijajac ja niesamowicie. Przykladem takiego dziwnego dla mnie posuniecia sa MCU kompatybilne z 8051 o wydajnosci 100MIPS, o np tu:

http://www.silabs.com/products/microcontroller/

Nie jestem bron boze zwolennikiem architektury 8051, ale sam juz nie wiem co o tym myslec ;( wszyscy narzekaja ze to starocie, ze sa inne rozwiazania ale wszyscy je nadal wykorzystuja. Mysle ze jest to podyktowane bardzo duza iloscia ludzi ktorzy "wyrosli" niejako na tej architekturze i wlasnie ten fakt wykorzystuja firmy sprzedajace MCU zgodne z ta architektura ;)

Co do assemblerow hmmm....  powiem tak ja nie mam innego wyjscia ;( kompilartor C moge wykorzystac jak mam do dyzpozycji chociaz ze 4KB pamieci w MCU, jednak obecne projekty ktore wykonuje maja byc tanie, bardzo tanie.... wiec MCU ktore moge wykorzytac maja od 1 lub 2 KB pamieci, no w ekstremalnych wypadkach dostaje MCU ktore ma 4KB na kod programu, i nie wiem co bym nie robil to kompilator C mi nie pomoze, bo nie dam rady przy jego pomocy upchnac calego kodu w pamieci MCU ;(

jednak gdy mam do dyspozycji wieksza ilosc pamieci to nie mysle nawet o assemblerze tylko pisze wlasnie w C, jednak pewne fragmenty zawsze bedzie sie oplacalo napisac w ASM. Zreszta kompilator, kompilatorowi nie rowny ;) kazdy dziala inaczej i ma inne wymagania ;)

Tu jednak natrafiamy na druga strone medalu, sa procesory dla ktorych moim skromnym zdaniem pisanie w ASM zeczywiscie mija sie z celem, bo kompilator na pewno wykona robote lepiej od nas. Mysle ze dobrym przykladem moze byc tu procesory oparte o rdzen ARM. Tu pisanie w ASM to czysta herezja ;)

Zawsze chcialem opanowac programowanie DSP (np. Texas Instruments) jednak nigdy nie mialem wystarczajacej ilosci czasu aby sie za to zabrac, no i odstraszala mnie cena zestawow startowych i programatorow ;(

ufffff.... ale truje ;) pora konczyc.

Reasumujac, teraz nadchodzi era programowalnych ukladow logicznych, za chwila kazdy bedzie mogl sobie wlozyc dowolnego MCU do wiekszej Altery, Xilix'a czy Cypress'a. Jezeli nawet nie bedzie w stanie sam "zrobic" sobie wlasnego MCU w VHDL'u to zawsze moze skozystac z gotowego "jadra" dowolnego CPU, sa nawet projekty ktore udostepniaja cale "klocki" za darmo: http://www.opencores.org/

Motorola 68HC05, czy 8051, AVR czy cokolwiek innego na 300MHz nie ma problemu ;-) bierzemy gotowy projekt z opencores i wpakowujemy go do naszej programowalnej struktury logicznej ;-)

Na razie koszty jeszcze wysokie, ale juz za chwile stanie sie to popularne, wiec i tanie ;-) no coz przyslosc pokaze ;-)

na tym koncze moj wywod ;-)

pozdrawiam serdecznie
Seban/SLIGHT

13

Seban: co do falowników: piszę w asemblerze na DSP TMS320LF2406A ... Sportowy wóz - troszkę toporny ale czysta frajda !!! :-)

pomidor

14

Wracam do zdrowia i na forum...
Wybralem 8051. Dokladnie to AT89S52 :)
No i jeszcze AT90S2313 ale to pozniej :)

Jak na razie prace ida ostrym tempem. Assembler mocno podobny do atarowego wiec problemu z programowaniem raczej nie ma (z czego sie ciesze). Na razie robie wszystko co mi do glowy wpadnie (ot tak dla treningu i dojscia do wprawy) i nawet wiekszosc dziala :)

Ale ale ale... mam kilka pytan: w jaki najlepszy (elegancki, szybki i prosty) sposob adresowac wieksza (np 2048KB) pamieci? Jak to sie zazwyczaj robi? Jak najlepiej obslugiwac wartosci >8bitowe? Dodawac z bitem C? Moze myslal ktos, jak za pomoca uC rozsadnie generowac dzwiek? Zrobic covoxa? To nie jest chore? Bedzie dzialac? Jakich problemow moge sie spodziewac?

Z innej beczki: kiedys widzialem ze byl na sieci projekt zrobienia przenosnego grajka do synthow (SAPow iirc) na jakims mikrokontrolerze. Kto to robil i w jakiej fazie to stoi?

Jakie mi polecacie dobre, tanie i latwe do obslugi wyswietlacze LCD graficzne - sa jakies problemy przy wiekszych rozdzielczosciach? Czy 64x64 wystarczy? A moze min. to 128x64? Jak radzicie? (btw: ile px ma wyswietlacz (najbardziej standardowy) od Nokii? nigdy w zyciu Nokii nie mialem to nie wiem :)

No i na koniec: czy w ogole sie da i jesli tak to jak najlatwiej wyswietlac z uC obraz na TV (oczywiscie nie chodzi mi o aerial i osobny kanal :)

Jaki RTC najlepiej zastosowac (coby nie zajmowal duzo portow a byl max funkcjonalny, np mial obsluge alarmu/generowal przerwania itp)

Ma ktos moze rozpisana obsluge IDE na 8051? Na sieci znalazlem ale same wielkie krowy - ja szukam czegos minimalnego... Wystarczy mi FAT16 albo nawet FAT12.

Sorry, za takie pytania (w tym lamerskie byc moze - o tym adresowaniu) ale nie mam ksiazek i ucze sie na tym co znajde na sieci... A ze czasem czegos nie znajde, albo znajde zamotane to i potem taka moja wiedza jest...

Z gory dzieki