51

Nov 14, 2006 61 Replies

Witam



Do urządzenia, które projektuję, idealnie pasuje mi AT89C2051. Jest b.tani i ma wszystko co mi potrzebne. Jedyny problem w tym, że nigdy nie miałem styczności z rodziną 51. Właściwie to pracowałem tylko na ATMegach i ATTiny.



Zacząłem poszukiwania od programatora: znalazłem BlowIt na LPT (ale nie moge znaleźć programu obsługującego pod XP), oraz bardziej złożony prog89cx051 na porcie szeregowym. Porywać się na prog89cx051 czy blowit wystarczy?



Sprawa najważniejsza: czy istnieje zintegrowane środowisko programistyczne pod te procesorki? Myślę, że będę klepał w assemblerze, więc coś takiego jak AVRStudio byłoby idealne. Mocno zależy mi na symulatorze zintegrowanym z edytorem kodu. Gdybym jednak zechciał oprogramować sprzęt w C, czy istnieje środowisko takie jak CodeVision?



Pozdrawiam!


W dniu 14-11-2006 10:18, scx napisał:

Nie kojarzę jak ma 89c2051, ale mikrokontrolery 89s52 programowałem przez SPI ISP Programmerem Adama Dybkowskiego (sprzęt taki sam jak dla AVRów). Do pisania kodu pod '51 jest całkiem sporo narzędzi, lepszych i gorszych. Sprawdź Raisonance'a i 8051IDE - w tym pierwszym można pisać także w C. Więcej sobie nie przypomnę, bo z tą platformą rozstałem się jakies 2 lata temu.

Tue, 14 Nov 2006 10:18:21 +0100 jednostka biologiczna o nazwie scx snipped-for-privacy@wu-pe.pe-el> wyslala do portu 119 jednego z serwerow news nastepujace dane:

Skoro używałeś AVRów to po jaką cholerę chcesz się cofać do 51 ? Toż to zabytki. Jeżeli pasuje Ci 89C2051 to ATTiny2313 też będzie, a ma bez porównania bogatsze peryferia, jest szybszy i ma lepszy rdzeń.

scx snipped-for-privacy@wu-pe.pe-el> napisał(a):

Zbudowałem 2 takie programatory i żaden nie działał. Przypuszczam, że to kwestia oprogramowania (pod w2k).

2kb kodu to Keil w wersji demo starczy.

Tue, 14 Nov 2006 12:10:33 +0000 (UTC) jednostka biologiczna o nazwie "Dino" snipped-for-privacy@gazeta.SKASUJ-TO.pl> wyslala do portu 119 jednego z serwerow news nastepujace dane:

Ja tam jak się jeszcze w 51 bawiłem, używałem SDCC.

Niebałdzo. Każdy kompilator C wlinkowuje (no dobra, wlinkowuje linker ;-) ) sporo rzeczy i zazwyczaj plik wynikowy już na dzieńdobry, po skompilowaniu programu z samym int main(); ma z 1,5KB albo i więcej.

U¿ywam BolowIt'a (mimo, ¿e brzydzê siê takimi rozwi±zaniami korzystaj±cymi z portu LPT). Dzia³a bez wiêkszch kaprysów. Oprogramowanie pod WinXP znajdziesz chocia¿by tu:

formatting link

Keil. Mo¿liwo¶æ pisania zarówno w C i asemblerze. Je¶li piszesz tylko w asemblerze to masz mo¿liwo¶æ osobnej kompilacji i linkowania, której to mo¿liwo¶ci nie ma wiêkszo¶æ programów asembluj±cych 51. Mo¿liwo¶æ symulowania.

Alternatywnie mo¿esz skorzystaæ z kompilatora jêzyka C o nazwie SDCC (darmowy) wykorzystuj±cego program asembluj±cy ASxxxx. No, ale musisz go sobie zintegrowaæ z jakim¶ edytorem. No i do tego jaki¶ symulator.

pzdr mk

BLE_Maciek <i80c586@cyberspace_NO_SPAM_.org> napisał(a):

Abstrahując od tego, to mi się przypomniało, że demo keila wypluwa kod który się zaczyna dopiero powyżej jakiegoś adresu, i już się do

2051 nie zmieści... Sorry za błędną informację.

pozdro Dino

Program o tre¶ci:

int mian() { while (1) {} return 0; }

Keil: 18 bajtów. SDCC: 105 bajtów.

Bez stosowania ¿adnych mo¿liwo¶ci optymalizacyjnych (np. napisanie w³asnego kodu startowego).

pzdr mk

mk <REVERSE snipped-for-privacy@myzskm.remove pisze:

He he, jak zdefiniowa³e¶ funkcjê 'mian' to nic dziwnego, ¿e tyle zajê³o. Zdefiniuj maina i pochwal siê :-)

Literówka pojawi³a siê tylko przy pisaniu obwieszczenia. W kodzie by³o dobrze.

pzdr mk

Tue, 14 Nov 2006 14:11:15 +0100 jednostka biologiczna o nazwie "mk" <REVERSE snipped-for-privacy@myzskm.REMOVE wyslala do portu 119 jednego z serwerow news nastepujace dane:

^^ Po co "{}" zamiast ";" ? Wiem, czepiam się :-)

U mnie 525 bajtów

Pamiętam że jak robiłem pracę dyplomową w technikum to po napisaniu większości kodu na gwałt szukałem 89C4051, a wtedy było o nie jeszcze dość trudno.

Dnia Tue, 14 Nov 2006 11:37:09 +0100, BLE_Maciek napisał(a):

Bo ten akurat w zupełności mi wystarczy do mojego zastosowania, a na dokładkę jest tańszy niż najmniejszy attiny. bedę robił kilkadzisiąt urządzeń więc każda złotówka się liczy. A poza tym czekają mnie 51 na studiach, więc nie zaszkodzi ciut wcześniej się tematem zainteresować :)

A roznica w cenie naprawde tak porazajaca ?

A jak zdaza zmienic laboratorium ? :-)

J.

Tue, 14 Nov 2006 19:55:59 +0100 jednostka biologiczna o nazwie scx snipped-for-privacy@wu-pe.pe-el> wyslala do portu 119 jednego z serwerow news nastepujace dane:

Uhm szkoda że rodzina 8048 nie doczekała się wersji z pamięcią flash ;->

Tak, ale traktuj je wówczas raczej jako coś co już było i nie wróci więcej. A swoją drogą to niektórzy wykładowcy pewnie i za 10-15 lat będą uważać za celowe uczenie o 51 :-)

Chciaż z drugiej strony to może i trochę sensu w tym jest bo 51 to jeden z ostatnich (ostatni ?) kontrolerów o w miarę klasycznej architekturze i poznanie go może być łatwiejsze niż poznanie współczesnych mikrokontrolerów. Jednocześnie po takich podstawach prawdopodobnie łatwiej jest poznać nowe "udziwnione" kontrolery niż gdyby się ich uczyć jako pierwszych. Ja tam w sumie czieszę się że zaczynałem od Z80, x86 i 51 (w tej kolejności).

scx napisał(a):

Zrób przysługę światu i nie używaj żadnej '51. Może w końcu to badziewie umrze śmiercią naturalną i producenci nie będą nas zasypywać kolejnymi klonami technologii (C) Intel 1980.

Rozejrzyj się wśród nowych ATtiny'ch, ostatnio wyszedł jeden fajny w obudowie 14-nóżkowej. Idealny pośrodku maluchami 8-pinowymi a 20-pinowym ATtiny2313.

Nie umawiali¶my siê co do "coding standards", wiêc "De gustibus non est disputandum".

Jaki kompilator? Która wersja?

pzdr mk

Wed, 15 Nov 2006 00:26:34 +0100 jednostka biologiczna o nazwie "mk" <REVERSE snipped-for-privacy@myzskm.REMOVE wyslala do portu 119 jednego z serwerow news nastepujace dane:

Zacytuję za dokumentacją:

" SDC51 - A FreeWare Optimizing ANSI-C Compiler for 8051 Based Micrcontrollers

Beta Version 1.02 "

Dostêpna jest ju¿ wersja... 2.6.0

pzdr mk

Dnia Tue, 14 Nov 2006 20:07:39 +0100, J.F. napisał(a):

Przy zakupie 50 sztuk, różnica 1,5 zł jest dla mnie znacząca :)

Co mnie tak od tych 51 odpędzacie? Jak zmienią (baaaaardzo w to wątpię) to nic straconego, nie ma czegoś takiego jak zbędne umiejętności :)

scx napisał(a):

Nabierzesz złych nawyków w programowaniu. Oczywiście dotyczy to asemblera bo w C jest wszędzie prawie tak samo. Niezależnie czy '51, czy AVR, czy ARM.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required