Zdravím pana Tišnovského a ostatní,
obecně si myslím, že je architektura MCS51 pro práci s oblastí datové paměti větší než internich 128 nebo 256 byte dosti nešťastná. AVR nebo MSP430 je mnohem lepší volba.
Přesto někdy díky rozšířenosti architektury a zajímavých integracích s periferiemi nezbývá než ji používat.
Již zde byl zmíněný kompilátor SDCC
http://sdcc.sourceforge.net/
Příští verze 3.0 již bude alespoň o trochu blíže podpože C99 včetně inline funkcí a podařilo se mi s ní při testování zkompilovat docela složitý kód.
Mírně kuriózním odkazem je následující počin Altos. Využívá integraci MCS51 a ZigBee pro obousměrnou komunikaci s amatérsky stavěnými raketami
http://www.altusmetrum.org/AltOS/
Zajímavostí je, že jedním z hlavních vývojářů je Keith Packard. Pokud vám to jméno nic neříká, tak připomenu, že se jedná o člověka, který opustil XFree86, byl u zakládání X.org a v současné době je jedním z důležitých architektů X u Intelu.
Pěkný přehled různých mikrokontrolérových kytů, které se používají k výuce na univerzitách po celém světě připravili kolegové na Katedře měření FEL.
http://neuron.feld.cvut.cz/wiki/Analyzy/Prehled_uloh_na_skolach
Pokud někdo má čas a chuť, tak by možná stálo zatřídit mnou uvedené odkazy tady na Rootovi na MCU.cz nebo někam jinam, kam to víc přísluší.
Mate pravdu v tom, ze MCS-51 ve chvili pripojeni externi ROM a predevsim RAM uz neni tak elegantni, protoze se uz narazi na limity v instrukcni sade a vlastne i limity osmibitove architektury (adresovani pouze pres @R0, @R1 a jediny 16bitovy registr DPTR). Podobnym problemem trpi i PICy, ale ty nikdo (?) nenasazuje jako skutecny mikroprocesor, je to proste jednoduchy a levny programovatelny logicky obvod. Naproti tomu MCS-51 se (hlavne z historickych duvodu) nekdy pouziva i tam, kde se jiz prekracuje hranice snadne pouzitelnosti.
O AVR jeste bude rec, tam to maji vyresene o dost lepe a hlavne tech 32 registru hodne pomaha prekladacum cecka (co si budeme povidat, v pripade PICu a MCS-51 se zadne zazraky prekladace nedaji ocekavat).