|
AT89C2051
8-BITNI MIKROKONTROLER SA 2 Kb FLASH-A
Kompanija Atmel je uočila dve
važne stvari na tržištu, da je 80C31/51 zastareo i da je baza napisanih programa za
njega ogromna. Kao rezultat toga pojavio se mikrokontroler u malom kućištu u kome nema
adresne magistrale za spoljnu memoriju. Uvođenjem flash memorije rešenje je postalo
veoma upotrebljivo jer se sada program može menjati i u samom uređaju koji se razvija.
Atmelov AT89C2051je 8-mo bitni
mikrokontroler koji u sebi sadrži 2 Kbajta Flash memorije koju je moguće više puta
programirati i brisati (engl. Flash programmable and erasable read only memory). Potpuno
je kompatibilan sa setom naredbi i funkcijama pinova industrijskog standarda MCS-51ä.
Zbog ove kombinacije 8-bitne centralne procesorske jedinice i Flash memorije u jednom
čipu, Atmel-ov AT89C2051 predstavlja zanimljiv mikrokontroler sa kojim je moguće u
mnogim slučajevima napraviti veoma fleksibilne i jeftine aplikacije.

kliknite na sliku da bi je uvećali
Ovaj procesor odlikuju sledeće standardne osobine: 2 Kbajta Flash-a, 128 bajtova internog
RAM-a, 15 ulazno-izlaznih linija, dva 16-to bitna tajmera-brojača, 5 izvora prekida u dva
nivoa, potpuni dupleks serijski port, precizni analogni komparator, integrisan oscilator i
kolo za taktovanje. Uz to, AT89C2051 je projektovan za potpuni statički rad sve do
frekvencije 0 Hz, i podržava dva načina rada koje je moguće softverski birati, za
smanjenje sopstvene potrošnje. “Idle” mod zaustavlja centralnu procesorsku jedinicu,
pri čemu RAM, tajmeri-brojači, serijski port i prekidni sistem, nastavljaju da
funkcionišu. Power Down mod čuva sadržaj RAM-a ali zamrzava rad oscilatora,
onemogućavajući ostale funkcije čipa, sve do hardverskog reseta.
Opis
pinova
Port 1 - Port 1 je 8-bitni dvosmerni ulazno-izlazni port. Pinovi porta P1.2 do P1.7 imaju
interne otpornike prema pozitivnom naponu napajanja (eng. pullup). Pinovi P1.0 i P1.1
takođe služe i kao neinvertujući (AIN0) i neinvertujući (AIN1) ulaz-respektivno,
preciznog analognog komparatora, koji je ugrađen u samom procesoru. Izlazni stepeni Porta
1 mogu primiti 20mA, i mogu direktno pogoniti led indikatore. Kada se jedinice upišu na
pinove Porta 1,oni se mogu koristiti kao ulazi. Kada se pinovi P1.2 do P1.7 koriste kao
ulazi i spolja dovedu na nizak nivo (logičku 0), oni će odavati struju (IIL), zbog
internih pullup otpornika. Prilikom programiranja i verifikacije programa, Port 1 prima
podatke.
Port 3 - Pinovi
Porta 3 P3.0 do P3.5 i P3.7 su dvosmerni ulazno-izlazni pinovi, sa internim otprnicima
prema pozitivnom naponu napajanja. P3.6 je interno spojen na analogni komparator koji se
nalazi u komponenti, i nije dostupan kao ulazno-izlazni pin opšte namene.
Kao
i kod Porta1, izlazni stepeni Porta 3 mogu primiti struju intenziteta 20mA, a kada se
koriste kao ulazi (kada se na njih upiše jedinica), odaju struju zbog internih pullup
otpornika. Port 3 takođe prima neke upravljačke signale prilikom programiranja i
verifikacije EEPROM-a.
RST - Reset ulaz. Držanje ovog pina na “1” u trajanju od 2 mašinska ciklusa dovodi
do resetovanja komponente. Dok je reset ulaz na visokom potencijalu, svi ulazno-izlazni
pinovi se postavljaju na “1”.
XTAL1 - Ulaz invertujućeg pojačavača oscilatora
XTAL2 - Izlaz invertujućeg pojačavača oscilatora.
Ograničenja kod
određenih instrukcija
Procesor 89C2051 je potpuno kompatibilan sa MCS-51 arhitekturom, i može biti programiran
koristeći MCS-51 set instrukcija. Međutim, prilikom programiranja ove komponente mora se
imati u vidu sledeće:
Sve naredbe skoka i naredbe grananja, moraju biti ograničene tako da odredišna adresa
padne unutar fizičkog prostora programske memorije procesora, koja iznosi 2K za ovu
komponentu. Na primer, LJMP 7E0H je korektna naredba , dok LJMP 900H nije.
Naredbe grananja: ACALL, LJMP, ACALL, AJMP, SJMP, JMP @A+DPTR
Ove naredbe bezuslovnog grananja će se izvršavati korektno sve dok programer vodi
računa da odredišna adresa unutar fizičkih okvira programske memorije (adrese 00H do
7FFH za 89C2051). Prekoračenje ove fizičke granice može dovesti do nepoznatog
ponašanja programa.
Za sledeće naredbe takođe važe ista pravila CJNE [...], DJNZ [...], JB, JNB, JC, JNC,
JBC, JZ, JNZ
AT89C2051 sadrži 128 bajtova interne memorije za podatke, što je upravo i maksimalna
veličina steka. Pristup eksternoj memoriji za podatke, nije podržan kod ovog procesora,
kao ni izvršenje programa iz eksterne programske memorije. Zbog toga naredbe tipa
MOVX[...] nebi trebale da se koriste u programima.Uobičajeni 80C51 asembler će prevesti
naredbe, iako one krše prethodno nabrojana ograničenja. Isključiva je odgovornost
programera da izbegne greške ovog tipa.
U cilju smanjenja sopstvene potrošnje, AT89C2051 podržava dva načina rada:
IDLE MOD
U Idle modu procesor se prebacuje u stanje spavanja, dok periferije na čipu ostaju
aktivne. Ovaj mod se aktivira softverski. Sadržaj RAM-a na čipu i registri posebne
namene ostaju neizmenjeni dok se procesor nalazi u ovom modu. Idle mod se prekida bilo
kojim dozvoljenim prekidom, ili hardverskim resetom.
POWER DOWN MODE
U power down modu oscilator se zaustavlja, a naredba koja je izazvala ovaj mod je
poslednja izvršena naredba. Interni RAM i registri posebne namene zadržavaju svoje
vrednosti do prekida power down moda. Jedini izlaz iz ovog moda je hardverski reset. Reset
radefiniše registre posebne namene, ali interni RAM ostaje nepromenjen. Reset ne treba da
se aktivira dok Vcc ne uspostavi svoju normalnu radnu vrednost i mora ostati aktivan
dovoljno dugo da dopusti da se oscilator resetuje i stabilizuje.
| Pročitajte
više o ovoj temi |
|
|
|