Proč používám Atmel 2051?
Myslím si, že asi značná část čtenářů neví, co si pod tímto nadpisem představit. Jedná se o pojem, který patří mezi ty odborné a bude něco říkat jen určité skupině lidí. Mohl bych tedy tento článek napsat jen pro ně, ale to mi přijde být zbytečné. Proto se pokusím jej napsat tak, aby byl alespoň trochu přínosný i pro ostatní.
Co je to tedy ten Atmel 2051? Atmel je firma, která vyrábí elektronické součástky. Atmel 2051 či přesněji AT89C2051 je mikrokontrolér, který patří do řady MCS-51, vyvinuté firmou Intel.

To je sice hezké, ale co je to ten mikrokontrolér? Zjednodušeně řečeno se jedná o součástku, která je vlastně mozkem mnohých domácích spotřebičů, které mají nějakou elektroniku. V ní je předem napsáno, co se má udělat, když se stane to či ono. Zmáčknu-li třeba na kalkulátoru tlačítko s číslicí 6, zobrazí se mi tato číslice na displeji. A už jen o tohle zobrazení se stará mikrokontrolér, natož pak o provádění početních operací.
A teď trochu odborněji. Mikrokontrolér je vlastně jednočipový počítač, který je určen k řízení nějakého celku. Dnes se nalézá ve většině elektrospotřebičů, ať už se jedná o mikrovlnnou troubu, televizor či klávesnici u počítače. Jejich výhodou je totiž nízká cena a jednoduchost použití, což vede ke snižování cen výrobků a rovněž i k jejich miniaturizaci.
Mikrokontrolér se zpravidla skládá z procesoru, paměti programu, paměti dat, oscilátoru (obvod, který svými kmity řídí časový průběh jednotlivých operací; zpravidla se jedná o krystalový oscilátor) a vstupně - výstupních rozhraní (porty). To vše je ukryto v jediném integrovaném obvodu a k tomu bývají přidány i jiné obvody, což záleží už jen na vybraném typu a výrobci.
Na trhu je možné nalézt veliké množství obvodů, od několika různých výrobců. Liší se svými parametry, mezi něž patří například rychlost, počet vývodů, velikost paměti či velikost instrukčního souboru, což je předurčuje k určitému způsobu použití.
AT89C2051 není zdaleka jediný mikrokontrolér a firma Atmel jediný výrobce. Mezi další výrobce patří kupříkladu ZiLOG, Motorola či Microchip Technology, jenž vyrábí proslulé mikrokontroléry PIC, které bych klidně mohl používat namísto těch z řady MCS-51. Jejich parametry jsou srovnatelné, v něčem je lepší ten v něčem onen obvod. Proč jsem si tedy vybral zrovna model AT89C2051?
Na střední škole jsme měli předmět, který se jmenoval Mikroprocesorová technika. V něm jsme se učili programovat slavný mikrokontrolér 8051 z řady MCS-51. 2051 má shodnou instrukční sadu a obdobnou architekturu, takže mohu těžit ze získaných zkušeností, což je hlavní důvod, proč jsem si vybral tento obvod. Ale proč jsem nezůstal u obvodu 8051, na který jsem byl zvyklý? Důvodů je několik. Pokud však pominu nepatrně nižší cenu a některé drobné přednosti v parametrech, hlavním z nich je jeho velikost. 8051 má 40 pinů (nožiček), kdežto 2051 jen 20. Pro člověka, který není v tomto oboru zběhlý, se to může zdát spíše jako nevýhoda, avšak pro mě je výhodou menší velikost součástky. Hlavně když ji pak mám někam připájet, tak je jednodušší připájet 20 nožiček než 40. Někdy je 20 pinů docela málo, ale to se dá vyřešit použitím speciálních obvodů, které lze sehnat za pár korun.
Štítky: AT89C2051
© Copyright Pavel Voborský 2008
22. 10. 2008 v 21:33
Mel bych prosbicku.
Obracim se na tebe jako na nekoho, kdo ma skusenosti s elektronikou.
Chtel bych si postavit “mluvici metronom”.
Mohl bys mi prosim poradit, jestli by muj napad byl takto realizovatelny?
Napadlo me vyuzit obvod AT89C2051 na ktery mam programator,
ale zatim jsem do programovani vlastniho kodu nedospel.
A jako modul zvuku bych to videl na obvod ISD 1420.
Moje predstava je asi takova, ze by se vybral typ pocitani:
1) raz, dva tri, ctyri
2) pr-vni dru-ha tre-ti ctvr-ta
3) ta-pr-va, ta-dru-ha, ta-tre-ti, ta-ctvr-ta
4) pr-va-do-ba, dru-ha-do-ba, tre-ti-do-ba, ctvr-ta-do-ba
Dale by se vybralo do kolika to ma pocitat
1) do dvou
2) do trech
3) do ctyrech
A nakonec by se mu zadalo tempo - pocet dob do 1 minuty.
O vlastni casovani a vyber adres pro audiopamet (ISD 1420) by se staral mikroprocesor.
Diky Vasek
23. 10. 2008 v 21:35
Tento nápad se mi jeví jako velmi zajímavý. Vše záleží na možnostech obvodu ISD 1420. Pokud vím, umožňuje 20 sekund záznamu. Jestli se ti podaří do nich vměstnat všechny nahrávky, tak by to bylo v pohodě. Další věc je, jestli obvod umožňuje vytváření více nahrávek a přistupovat k nim zvlášť nebo alespoň přistupovat jen k určitému úseku v záznamu. Tento obvod jsem nikdy nepoužil, takže nevím, co umí a co ne.
Jinak AT89C2051 by neměl být nijak omezující. Snadno se k němu dá připojit paměť či jiný digitální nebo analogový obvod. Pokud tedy lze pomocí vstupu na pinech obvodu ISD 1420 přehrát část nahrávky, bude možné tento přístroj vyrobit.
22. 11. 2008 v 0:03
Dobrý deň, do programovania mikrokontrolerov sa velmi nerozumiem no mam nejake zaklady.
Prosím Vás o radu ohladom jedného zapojenia ktoré chceme zrealizovat za pouzitia 2051.
Budu sa snímať otáčky kolesa a ja by som potreboval merať dobu jednej otačky, to znamena čas medzi dvoma impulzami. Tento čas by som následne programovo delil určitým pevne stanoveným číslom.
Mohli by ste mi prosím poradit ako to pocitanie doby jednej otacky mohlo vyzerat v programe? Ako vyzerá informacia o “napočitanom” čase? Dakujem za pripadnu odpoved.
28. 11. 2008 v 21:37
Dobrý den,
asi bych to řešil tak, že bych snímač zapojil na jeden z vývodů, který umí externí přerušení (P3.2 a P3.3). Pak je potřeba v programu povolit externí přerušení a napsat kód, který bude obsluhou tohoto přerušení. Dále to chce nějak měřit čas, což se dělá pomocí časovače. Nastaví se délka časovače a po uplynutí určitého počtu kmitů krystalu se vyvolá přerušení a provede se část kódu, která bude počítat čas. To by byla teorie, realizace asi nebude úplně nejsnadnější.