58
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA ELEKTRONIKU REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU MIKROKONTROLERA AT89S8253 Studenti: Edin Biševac 10756 Milan Stefanović 9800 Niš, Januar 2008.

REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

Embed Size (px)

Citation preview

Page 1: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET

KATEDRA ZA ELEKTRONIKU

REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU

MIKROKONTROLERA AT89S8253

Studenti: Edin Biševac 10756 Milan Stefanović 9800

Niš, Januar 2008.

Page 2: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

1

SADRŽAJ

1. UVOD ..............................................................................................................................................2

1.1. PROJEKTNI ZADATAK.........................................................................................................3 1.2. RAZRADA ...............................................................................................................................3

2. PRENOS PODATAKA....................................................................................................................4 2.1. UPOREDNE KARAKTERISTIKE PARALELNOG I SERIJSKOG PRENOSA.............................................4 2.2. PRIMER KOMBINACIJE PARALELNOG I SERIJSKOG PRENOSA .......................................................6 2.3. HANDSHAKE PARALELNI U/I PRENOS..........................................................................................7 2.4. REZIME.......................................................................................................................................8

3. MIKROKONTROLER AT89S8253..............................................................................................10 3.1. UNUTRAŠNJA STRUKTURA MIKROKONTROLERA ........................................................................10 3.2. REDUKOVANI REŽIM NAPAJANJA..............................................................................................11 3.3. PROGRAMSKA MEMORIJA .........................................................................................................12 3.4. MEMORIJA PODATAKA .............................................................................................................13 3.5. PROGRAMSKI STATUSNI REGISTAR ...........................................................................................17 3.6. TAKTOVANJE MIKROPROCESORA..............................................................................................18 3.7. MAŠINSKI CIKLUSI ...................................................................................................................19 3.8. STRUKTURA PREKIDA...............................................................................................................20

3.8.1. Prioriteti prekida..............................................................................................................20 4. PROGRAMIRANJE MIKROKONTROLERA AT89S8253 ........................................................21

4.1. BOOTSTRAP LOADER SI-PROG..................................................................................................21 4.1.1 Osnovno kolo.....................................................................................................................21 4.1.2. Povezivanje mikrokontrolera ...........................................................................................22 4.1.3. Signali serijskog porta računara .....................................................................................23 4.1.4. Izgled štampane ploče ......................................................................................................24

4.2. SOFTVERSKI ALATI KOMPATIBILNI SA SI-PROG........................................................................24 4.2.1. Softver IC-Prog ................................................................................................................25 4.2.2 Softver PonyProg ..............................................................................................................30

4.3. BOOTSTRAP LOADER ISP PROGRAMMER ..................................................................................37 4.3.1. Signali RS-232 interfejsa paralelnog porta računara .....................................................38

4.4. PROGRAM ATMEL MICROCONTROLLER ISP SOFTWARE ...........................................................39 5. REALIZACIJA STEPENIŠNOG AUTOMATA ..........................................................................42

5.1. HARDVER.................................................................................................................................42 5.2. SOFTVERSKO REŠENJE ..............................................................................................................47

6. ZAKLJUČAK ................................................................................................................................55 7. LITERATURA...............................................................................................................................56

Page 3: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

2

1. UVOD

Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja, kontrole i dr. Sve više procesi koji mogu da se kontrolišu elektronskim putem, se time i podvrgavaju. Počev od medicine gde se kod dijagnostike bolesti pacijenata sve češće koriste elektronski uređaji koji različite vidove energije koriste za pobuđivanje elektro senzora koji pobuđuju pokazivače za prikazivanje tih kontrolnih pregleda. Ne možemo da ne spomenemo automobilsku industriju gde se pocesi starta, upravljanja, kontrole i drugih procesa takođe sprovode elekronskim uređajima. Uzaludno je pričati o tome koliko je elektronika prodrla u oblast života kad je u pitanju televizija, radio, telefonija, informacione tehnologije, internet, satelitske komunikacije i dr. Podsetiću samo na upotrebu elektronskih uređaja u vojnoj, avionskoj, telekomunikacionoj i drugim oblastima industrije. U novije vreme sve češće se čovek kao aktivni subjekat u izvršenju mnogih procesa, zapostavlja a ostavlja mesto da sami elektronski uređaji upravljaju i kontrolišu neke procese. Kao primer toga u vojnoj avijaciji se sve cešće upotrebljavaju bespilotne letelice koje same kontrolišu, snimaju, izvršavaju zadatke tamo gde je to potrebno.

Sve ovo o čemu smo govorili ne može se zamisliti bez sistema kao sto su memorijski prostori, procesori, mikrokontroleri, displeji, senzori i dr. Sa razvojem mikrokontrolera u prošlosti povećavao se broj procesa koji su mogli da se kontrolišu ovim putem. Mikrokontroleri su relativno spori ali sa aspekta iskorišćenja silicijuma po površini-veoma-efikasni procesori, uglavnom namenjeni za upravljačko-intenzivne aplikacije. Karakteriše ih mikroprogramska CISC bazirana arhitektura, što znači da je broj taktnih intervala za izvršenje različitih tipova instrukcija u velikoj meri promenljiv. Moć izračunavanja kao i broj memorijskih resursa je veoma ograničen, a obim reči staze-podataka relativno mali (obično 8 ili 16 bitova). Sa druge strane, kompleksnost skupa instrukcija pruža odgovarajući programski interfejs, uključujući instrukcije za množenje i deljenje kao i veći broj memorijsko adresnih načina rada. Kao rezultat se dobija veoma kompaktan kôd (programi su relativno mali).

S obzirom da su mikrokontroleri namenjeni za upravljačko-orijentisani aplikacioni domen, oni poseduju bogat skup instrukcija za manipulisanje podacima na nivou-bita, kao i periferijskim komponentama kakvi su tajmeri ili serijski U/I portovi.

Veoma često jednostavni procesori koji su se ranije koristili kao CPU-ovi u računarskim sistemima (kakvi su, recimo procesori iz familije Intel 8051, Motorola 6502, 6811, i dr., koji su bili popularni kao CPU-ovi u kućnim računarima) danas se ponovo koriste u nešto izmenjenoj formi kao mikrokontroleri kod embedded sistema.

Mikrokontrolere delimo na 4-, 8-, 16-, i 32-bitne. Ilustracije radi, 4-bitni mikrokontroleri uglavnom se koriste u automatima za igru, 8-bitni kao programatori u veš mašinama, 16-bitne srećemo u sistemima za upravljanje klimom u kolima, a 32-bitni se primenjuju da obave složene telekomunikacione funkcije u mobilnim bežičnim uredjajima.

Page 4: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

3

1.1. PROJEKTNI ZADATAK

Realizovati simulaciju stepenišnog automata koristeći ATMEL-ov mikrokontroler AT89S8253. Automat projektovati tako da na ulazu budu postavljeni tasteri, a na izlazu signalne lampice za identifikaciju.

1.2. RAZRADA

Korišćenjem osam led dioda simulirane su sijalice za osvetljenje spratova osmospratne stambene zgrade. Kao ekvivalent prekidača za uključivanje svetla, korišćeni su tasteri.

Uz pomoć mikrokontrolera, softverski je realizovano da se pri pritisku na taster uključuju signalna lampica koja odgovara tom spratu, kao i lampice koje odgovaraju spratovima za jedan iznad i jedan ispod odgovarajućeg sprata. Uključene led diode se gase nakon isteka jednog minuta. Ukoliko je pritisnut taster broj jedan ili taster broj osam uključuje se lampica tog sprata, kao i lampica sprata iznad, odnosno sprata ispod za slučaj kada je pritisnut taster broj osam.U slučaju kada je određena lampica uključena klikom na jedan taster i pre isteka jednog minuta ponovo bude aktivirana nekim drugim tasterom računanje vremena za njeno isključivanje se resetuje, i ona će biti uključena u trajanju još jednog minuta od ponovnog uključivanja. Sam postupak realizacije je detaljnije opisan u petom poglavlju, u kome je opisano softverko rešenje.

Page 5: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

4

2. PRENOS PODATAKA

Prenos podataka predstavlja prenošenje kôdirane informacije kroz prenosni medijum (kabl, ma-gistralu itd.) Prema načinu prenosa podataka između dva sistema (integrisana kola, računara, terminala itd.) razlikuju se dva tipa prenosa:

• Paralelni: prenos n bitova (n = 8, 16, 32, 64) vrši se istovremeno (ovakav prenos se tipič-no ostvaruje preko sistemske ili neke druge magistrale u mikroprocesorskom sistemu)

• Serijski: prenos podataka vrši se preko jedinstvene linije (provodnika, voda, žice).

2.1. UPOREDNE KARAKTERISTIKE PARALELNOG I SERIJSKOG PRENOSA

Na Slici 2.1 i Slici 2.2 ilustrovani paralelni i serijski prenos, respektivno. Paralelni prenos podataka je brži od serijskog, ali je znatno skuplji – jer zahteva veći broj veza (vodova ili kanala za prenos). Serijski prenos je pouzdaniji, iz razloga što se prekid ili greška u prenosu uvek mogu lako detektovati. Isto tako, kod serijskog prenosa su protokoli (skup pravila za razmenu podataka izme-đu dva sistema) daleko bolje definisani (postoje međunarodni standardi i norme za prenos). Kod paralelnog prenosa, zbog različitih formata paralelnih podataka, to nije slučaj.

Slika 2.1. Ilustracija paralelnog prenosa (n=8)

Page 6: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

5

Slika 2.2. Ilustracija serijskog prenosa

Imajući sve ovo u vidu, paralelni prenos podataka se daleko više koristi kada se prenose podaci na kraćim rastojanjima: interno, unutar mikroprocesorskog sistema (komunikacija između mikroproce-sora i memorije, UART-a, A/D konvertora itd.) i eksterno, do nekoliko metara, u okviru računarskog okruženja (npr. komunikacija između računara i štampača preko paralelnog porta).

Kada su u pitanju rastojanja veća od reda nekoliko metara, serijski prenos podataka je neizbežan.

Kod serijskog prenosa podaci se prenose bit po bit. Serijski prenos može da se ostvari preko jednog provodnika (žice). Međutim, potrebne su najmanje dve linije (provodnika, žice) za serijsku komunika-ciju: jedna za podatke i druga, tzv. masa – da bi se zatvorilo strujno kolo između dva sistema koji serij-ski komuniciraju. Naravno, moguće je ostvariti i tzv. diferencijalni serijski prenos kod koga su nivoi logičke 0 i logičke 1 definisani razlikom potencijala između dva signala koji se prenose. Takav je slu-čaj kominikacije kod USB porta.

Ovde će biti navedeni neki od standarda za serijsku komunikaciju:

• RS232 (nebalansirani, 1 drajver – 1 pijemnik, za rastojanja do 15m)

• RS422 (nebalansirani, 1 drajver – 10 pijemnika, za rastojanja do 1200m)

• RS423 (diferencijalni, 1 drajver – 10 pijemnika, za rastojanja do 1200m)

• RS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m).

Komunikacija u okviru mikroprocesorskog sistema ostvaruju se preko sistemske magistrale u paralelnoj formi. Da bi se ostvarilla sprega sistema koji sa jedne strane obavljaju paralelni, a sa druge strane serijski prenos podataka, neophodno je izvršiti paralelno-serijsku konverziju. Za tu svrhu se najčešće koriste pomerački registri. Nisu retke aplikacije koje koristi oba tipa konverzije, i paralelno-serijsku i serijsko-paralelnu, kako bi se ostvario prenos n-tobitnih paralelnih podataka od predajni-ka do prijemnika preko serijske komunikacione linije.

Page 7: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

6

2.2. PRIMER KOMBINACIJE PARALELNOG I SERIJSKOG PRENOSA

Slika 2.3. Ilustracija paralelnog i serijskog prenosa unutar mikroprocesorskog sistema

U samom mikroprocesorskom sistemu prisutne su istovremeno i serijska i paralelna komunikaci-ja. Na Slici 2.3. upravo je ilustrovan jedan takav primer. Naime, na mikrokontroler PIC18F452, koji čini jezgro sistema, povezane su sledeće komponente/uređaji:

Flash memorija 29F040B (paralelni prenos podataka)

SPI EEPROM 25LC640 (serijski prenos)

LCD modul, 2x16 karaktera (paralelni prenos)

GSM/GPRS modul Siemens TC35 (serijski prenos)

PC računar (serijski prenos).

Kao što se vidi na slici, multipleksiranjem (preko integrisanog kola MC14052) i GSM/GPRS modul i PC ostvaruju komunikaciju sa internim UART modulom mikrokontrolera. Naravno, pošto se koriste samo tri linije (Rx, Tx i masa) komunikacija je bez handshaking-a.

Napomena: U ovom poglavlju pomenuti su termini USB (Universal Serial Bus), UART (Universal Asyncronus Receiver Transmitter) i SPI (Serial Peripheral Interface). S obzirom da je u radustavljen akcenat na paralelnu komunikaciju, pomenuti tipovi serijske komunikacije nisu detaljnije objašnjavani. Za informacije o pomenutim načinima komunikacije treba konsultovati odgovarajuću literaturu.

Page 8: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

7

2.3. HANDSHAKE PARALELNI U/I PRENOS

Handshake U/I prenos podrazumeva da se podaci iz spoljnjeg okruženja prihvataju od strane mikroprocesora (CPU) preko ulaznog bafera, dok se podaci koje procesor predaje spoljnom okruženju prenose preko izlaznog bafera. Na Slici 2.4 prikazan je primer povezivanja D/A konverora preko pa-ralelnog izlaznog interfejsa.

Mikroprocesor lečuje podatke u izlazni bafer podataka. Izlazne linije pomenutog bafera di-rektno su povezane na izlazno kolo/uređaj (u ovom slučaju je u pitanju D/A konvertor). Izlazni napon D/A konvertora menjaće vrednost u skladu sa stanjem izlaznog bafera podataka.

Razmotrićemo sada još jedan primer paralelnog interfejsa kod kojeg se tokom komunikacije ko-riste handshake upravljačke linije (Slika 2.5) . Kada U/I uređaj preda podatke interfejsu, on prvo pos-tavlja važeće podatke na linijama Ulazni_podaci, a zatim aktivira liniju Pod_Ul_spreman. Interfejs odgovara lečovanjem podatka u Ulazni_bafer i aktivira liniju Potvrda_Ul_Podataka. U/I uređaj nakon prijema signala Potvrda_Ul_Podataka deaktivira podatke i signal Pod_Ul_Spreman.

Slika 2.4. Povezivanje paralelnog izlaznog interfejsa sa D/A konvertorom

Page 9: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

8

Slika 1.5. Povezivanje ulaznog i izlaznog interfejsa

Interfejs nakon primanja podatka postavi statusni bit Ready i aktivira liniju IRn . Kada mik-roprocesor prihvati podatak, interfejs deaktivira statusni bit Ready. Zahtev za prekid (IRn), kao i obrada prekida, prihvataju se i obrađuju standardno.

U slučaju izlaza, interfejs će postaviti Ready statusni bit i generisati zahtev za prekid ka-da je Izlazni_bafer podataka dostupan. Kada procesor upiše podatke, interfejs resetuje izlazni statusni bit Ready, postavlja podatke na magistralu (Izlazni_podaci) i signalizira U/I uređaju preko linije Pod_Izl_Spremni. Kada je uređaj spreman da prihvati podatke, on lečuje podatke i vraća signal Potvrda_Izl_Signala. Nakon toga, interfejs deaktivira signal Pod_Izl_Spremni i ponovo postavlja iz-lazni statusni bit na Ready.

2.4. REZIME

Sa pojavom USB porta (najpre kod računara, a zatim kod mikrokontrolera i GSM/GPRS/3G mo-dula) paralelna komunikacija između nekih eksternih uređaja (štampača, skenera itd.) i mikroprocesora polako odlazi u istoriju. Razlog tome su komparativne prednosti koje poseduje USB port, a ovde će se navesti tri najvažnije:

Page 10: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

9

• komunikacija se ostvaruje preko samo četiri linije (napajanje, masa i dve linije za podatke)

• veoma velike brzine prenosa podataka (teoretski, 120MB/s)

• moguće je iskoristiti USB port kao izvor napajanja.

Međutim, kao što je napomenuto, ima slučajeva kada je paralelna komunikacija neophodna (sistemska magistrala kod mikroprocesora, komunikacija mikrokontroler – flash memorija i slično).

Veliki broj potrebnih veza (jedna žica po bitu n-bitnog podatka) ograničava primenu paralelnog prenosa isključivo na relativno kratka rastojanja. Tipičan primer je paralelna magistrala IEEE-488 GPIB, koja je projektovana za komunikaciju između pojedinih sistema/uređaja (najčešće je u pitanju merno-informaciona tehnika), koji su međusobno udaljeni maksimalno 20 m. Uređaji svih renomi-ranih proizvođača merno-informacione opreme (digitalni osciloskopi, digitalni izvori napajanja, logički analizatori, analizatori spektra itd.) poseduju IEEE-488 GPIB magistralu.

Kada se vrši prenos podataka na veća rastojanja koristi se jedinstvena veza, a ne veliki broj veza kao što je to slučaj kod IEEE-488 GPIB.

Page 11: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

10

3. MIKROKONTROLER AT89S8253

Atmel-ov mikrokontroler AT89S8253 je 8-bitni mikrokontroler izrađen u CMOS tehnologiji i optimizovan za upravljačke aplikacije. Kompatibilan je sa MCS-51 serijom mikrokontrolera. Set instrukcija je kompatibilan sa industrijskim standardom 80C51. Proizvodi se u tri kućišta (DIP-40, PLCC44, TQFP44) i jednom specifičnom (DIP-42) kućištu. Raspored pinova je prikazan na Slici 3.1 – dok je unutrašnja struktura mikrokontrolera prikazana na Slici 3.2.

U programerskom smislu, AT89S8253 je gotovo identičan sa mikrokontrolerom AT89S53.

Slika 3.1. Raspored pinova kod mikrokontrolera AT89S8253

3.1. UNUTRAŠNJA STRUKTURA MIKROKONTROLERA

Ukratko, ovaj mikrokontroler poseduje sledeće karakteristike:

• Obimne logičke procesne mogućnosti (jednobitna logika) • Ugrađena flash programska memorija (12 Kb) • Ugrađena RAM memorija podataka (256 x 8 bitova) • 32 dvosmerne (bidirekcione) i pojedinačno adresibilne ulazno/izlazne linije • Devet izvora prekida • Ugrađeni EEPROM (2Kb) • Programabilni UART sa potpunim dupleksom i detekcijom greške rama podataka

Page 12: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

11

• SPI serijski interfejs • Tri nivoa zaštite programske memorije • Tri 16-bitna tajmera/brojača • Programabilni watchdog tajmer • Flag prestanka napajanja • Režimi smanjene potrošnje • Napajanje u opsegu 4-6V • Ugrađeni oscilator takta • Frekvencija rada do 24MHz.

Slika 3.2. Unutrašnja struktura AT89S serije mikrokontrolera

3.2. REDUKOVANI REŽIM NAPAJANJA

U cilju uštede potrošnje električne energije, koja je dostupna za CMOS kola, Atmel-ovi flash mikrokontroleri mogu da uđu u dva režima redukovanog napajanja:

• Režim praznog hoda (Idle Mode). CPU se prestaje sa radom, dok RAM i drugi ugrađeni pe-riferali u mikrokontroleru nastavljaju da rade. U ovom režimu rada, mikrokontroler se napaja strujom koja iznosi oko 15% vrednosti struje u normalnom režimu, tj. kada je mikrokontroler potpuno aktivan. U ovom modu (režimu rada), mikrokontroler tipično povlači struju oko 2 μA.

Page 13: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

12

• Režim smanjene potrošnje (Power Down Mode). Sve aktivnosti unutar mikrokontrolera su suspendovane, dok RAM i dalje zadržava svoj sadržaj. U ovom režimu, mikrokontroler tipično povlači struju oko 1 μA, a ponekad i manje od 0.2 μA. Kao dodatak, ovi mikrokontroleri su projektovani korišćenjem statičke logike, koja ne zahteva kontinualno taktovanje. To znači da frekvencija takta mikrokontrolera može usporiti ili čak zaustaviti, dok se čeka na unutrašnji događaj.

3.3. PROGRAMSKA MEMORIJA

Svi Atmel-ovi flash mikrokontroleri imaju odvojene adresne prostore za programsku i memoriju podataka, što je prikazano na Slici 3.3. Ovo logičko odvajanje omogućava da se memorija podataka adresira sa 8-bitnim adresama, koje mogu brže da se memorišu. Pored toga, 16-bitne memorijske adre-se mogu da se generišu preko DPTR registra. Moguće samo čitanje programske memorije, koja može da se direktno adresira do 64 Kb. Impuls PSEN (Program Signal Enable Store) služi za čitanje spo-ljašnje programske memorije (vidi Sliku 3.3). Memorija podataka zauzima odvojeni adresni prostor od programske memorije. Do 64Kb spoljašnje memorije može da se direktno adresira u spoljašnjem memorijskom prostoru podataka. Mikroprocesor generiše signale čitanja (RD) i upisa (WR), tokom pri-stupa spoljašnjoj memoriji podataka. Spoljašnja programska memorija i spoljašnja memorija podataka mogu da se kombinuju primenom RD i PSEN signala na ulazu I (AND) kola.

Slika 3.3. Struktura programske i memorije podataka

Page 14: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

13

Najniže adrese programske memorije mogu da se nalaze ili u ugrađenoj flash memoriji ili u spoljašnjoj memoriji. Da bi se ovo odabralo, treba povezati EA (External Access) pin na masu (GND), a sva programska obraćanja usmerena su prema spoljašnjoj memoriji. Impuls za čitanje spoljne me-morije, PSEN, koristi se za sva spoljašnja programska obraćanja. nutrašnja programska obraćanja ne mogu da aktiviraju PSEN .

Mapa donjeg dela programske memorije prikazana je na Slici 3.4. Posle reseta, mikroprocesor započinje da izvršava instrukcije počev od memorijske lokacije 0000H. Kao što se vidi na slici, svakom prekidu je dodeljena fiksna lokacija u programskoj memoriji. Prekid inicira da mikroprocesor “skoči” na tu lokaciju, gde izvršava servisnu rutinu. Spoljašnji Prekid 0, na primer, dodeljen je memorijskoj lokaciji 0003H. Ako se koristi spoljašnji Prekid 0, njegova servisna rutina mora da započne od lokacije 0003H. Ukoliko se ne koristi prekid, pomenuta servisna lokacija je dostupna kao programska memorija opšte namene. Prekidne servisne lokacije postavljene su u 8-bitnim intervalima (razmacima):

0003H za spoljašnji Prekid 0,

000BH za Tajmer 0,

0013H za spoljašnji Prekid 1,

001BH za Tajmer 1, i tako dalje.

Ukoliko je servisna rutina prekida dovoljno kratka (to je čest slučaj u upravljačkim aplikaci-jama), ista može potpuno da se smesti unutar 8-bajtnog intervala. Duže rutine prekida mogu da koriste instrukciju skoka, kako bi preskočili sledeće prekidne lokacije – ako su u upotrebi drugi prekidi.

Slika 3.4. Programska memorija

3.4. MEMORIJA PODATAKA

Desna polovina Slike 3.3 prikazuje unutrašnje i spoljašnje memorijske prostore dostupne kod Atmel-ovih flash mikrokontrolera. Slika 3.4 prikazuje konfiguraciju za pristupanje do 2Kb

Page 15: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

14

spoljaš-nje RAM memorije. U ovom slučaju, mikroprocesor izvršava program iz unutrašnje flash memorije. Port 0 služi kao multipleksirana magistrala adresa/podataka za RAM, dok se 3 linije Porta 2 koriste za straničenje RAM-a.

Može se dodeliti do 64 Kb spoljašnje memorije podataka. Adrese spoljašnje memorije podataka mogu da budu širine 1 ili 2 bajta. Jednobajtne adrese često se koriste u vezi sa jednim ili više dru-gih ulazno/izlaznih linija za straničenje RAM-a, kao što je prikazano na Slici 3.5. Dvo-bajtne adre-se se takođe mogu koristiti, i u tom slučaju bajt više adrese se pojavljuje na Portu 2.

Slika 3.5. Izvršavanje programa iz spoljašnje memorije

Konfiguracija hardvera za izvršavanje spoljašnjeg programa je prikazana na Slici 3.5. Vidimo da 16 ulazno/izlaznih linija (Port 0 i Port 2) su posvećeni radu sa magistralom tokom obraćanja spoljaš-njeg programa memoriji. Port 0 (P0 na Slici 3.5) služi kao multipleksirana magistrala adresa/podataka.

Slika 3.6. Pristupanje spoljašnjoj memoriji podataka

On postavlja niži bajt programskog brojača (Program Counter) PCL kao adresu i zatim prelazi u plivajuće stanje, dok čeka na pristizanje bajta kôda iz programske memorije. Tokom

Page 16: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

15

vremena kada je PCL važeći na P0, signal ALE (Address Latch Enable) postavlja ovaj bajt u adresni leč. U međuvremenu, Port 2 (P2 na Slici 3.5) postavlja viši bajt programskog brojača PCH. Tada PSEN šalje impuls spoljašnjoj memoriji, i mikrokontroler čita bajt kôda. Adrese programske memorije su uvek 16-bitne, čak i kada kapacitet upotrebljene memorije može da bude manja od 64 Kb. Izvršavanje spoljašnjeg programa “troši” (“žrtvuje”) dva 8-bitna porta (P0 i P2), zbog operacije adresiranja prog-ramske memorije.

Ukoliko je programska memorija unutrašnja, ostali bitovi P2 dostupnisu kao ulaz/izlaz. Unutraš-nja memorija podataka je prikazana na Slici 3.6. Memorijski prostor je podeljen u tri bloka, koji se uglavnom nazivaju niži 128, gornji 128, i SFR prostor.

Adrese unutrašnje memorije podataka su uvek dužine 1 bajt, što znači da se adresira samo prostor od 256 bajtova. Ipak, način adresiranja unutrašnjeg RAM-a može da, u stvari, smesti 384 bajtova. Direktne adrese veće od 7FH pristupaju jednom memorijskom prostoru, a indirektne adrese veće od 7FH pristupaju različitom memorijskom prostoru. Prema tome, Slika 3.7 ilustruje Gornji 128 i SFR prostor koji zauzima isti blok adresa, od 80H do FFH, iako su oni fizički odvojeni entiteti.

Slika 3.7. Unutrašnja memorija podataka

Slika 3.8. Nižih 128 bajtova unutrašnjeg RAM-a

Page 17: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

16

Slika 3.9. Gornjih (viših) 128 bajtova RAM-a

Slika 3.8 ilustruje kako je mapirano nižih 128 bajtova RAM-a. Nižih 32 bajtova je grupi-sano u 4 banke od 8 registara. Programske instrukcije pozivaju ove registre kao R0 do R7. Dva bita u registru programske statusne reči PSW (Program Status Word) selektuju koja je registarska banka u upotrebi. Ova arhitektura omogućava efikasniju upotrebu kôdnog prostora, pošto su registarske in-strukcije kraće od instrukcija koje koriste direktno adresiranje. Sledećih 16 bajtova iznad registarskih banki formira blok bit-adresibilnog memorijskog prostora. Skup instrukcija mikrokontrolera uključuje veliki broj instrukcija sa jednim bitom, i ove instrukcije mogu direktno da adresiraju 128 bitova u ovom prostoru. Ove bit-adrese su od 00H do 7FH. Svi bajtovi u donjih 128 bajtova prostora mogu da se adresiraju ili direktno ili indirektno. Gornjih 128 (Slika 3.9) može da se adresira samo indirektno. Gornjih 128 bajtova RAM-a su samo u uređajima sa 256 bajta RAM-a.

Na Slici 3.10 prikazan je prostor registara specijalnih funkcija SFR (Special Function Register). SFR uključuje lečeve porta, tajmere, kontrolu periferala itd. Ovi registri mogu da se adresiraju samo direktno, tj. pristupa im se direktnim adresiranjem.

Page 18: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

17

Slika 3.10. Prikaz registara specijalne namene

3.5. PROGRAMSKI STATUSNI REGISTAR

Programski statusni registar (PSW) sadrži bitove statusa koji ukazuju na trenutno stanje mikroprocesora. PSW, prikazan na Slici 3.11, smešten je u SFR prostor. PSW sadrži bit prenosa (carry bit), bit pomoćnog prenosa (auxiliary carry bit) za BCD operacije, dva bita za selekciju banke registara, marker prekoračenja (overflow flag), bit parnosti (parity bit), i dva korisnička statusna markera.

Bit prenosa, služi kao bit prenosa u aritmetičkim operacijama, a takođe služi i kao akumulator za veliki broj logičkih operacija. Bitovi RS0 i RS1 selektuju jednu od četiri registarke banke prikazane na Slici 3.8. Veliki broj instrukcija se obraća ovim lokacijama kao R0 do R7. Status bitova RS0 i RS1 u vreme izvršenja određuje koja je od četiri banke selektovana.

Page 19: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

18

Bit parnosti ukazuje na broj jedinica u akumulatoru: P=1 – ukoliko akumulator sadrži neparan broj jedinica, i P=0 – ukoliko akumulator sadrži paran broj jedinica. Prema tome, broj jedinica u akumulatoru plus P uvek je paran broj.

Dva bita u PSW su neiskorišćeni i mogu da se upotrebe kao statusni bitovi opšte namene.

Slika 3.11. PSW registar u Atmelovim flash mikrokontrolerima

3.6. TAKTOVANJE MIKROPROCESORA

Svi Atmelovi flash mikrokontroleri poseduju ugrađeni oscilator, koji se može da se koristi kao iz-vor za njegov mikroprocesor. Da bi se koristio ugrađeni oscilator, treba povezati kristalni ili kera-mički rezonator između pinova XTAL1 i XTAL2 mikrokontrolera, i da se povežu kondenzatori pre-ma masi, kao što je prikazano na Slici 3.12.

Primer napajanja sa taktom iz spoljašnjeg oscilatora je prikazan na Slici 3.13. Unutrašnji takt ge-nerator definiše sekvence stanja koje čine mašinski ciklus.

Napomenuto je u uvodu kako mikroprocesor mikrokontrolera AT89S8253 može da se taktuje frekvencijom. Vrednosti kondenzatora na Slikama 3.12 i 3.13 mogu da uzimaju vrednosti 30±10 pF.

Page 20: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

19

Slika 3.12. Korišćenje ugrađenog oscilatora

Slika 3.13. Povezivanje oscilatora (A) i konfiguracija sa spoljašnjim taktom (B)

3.7. MAŠINSKI CIKLUSI

Mašinski ciklus čini sekvenca od šest stanja, numerisanih od S1 do S6. Svako stanje traje dve pe-riode oscilatora. Prema tome, mašinski ciklus traje 12 perioda oscilatora ili 1μs ako je frekvencija os-cilatora 12 MHz. Svako stanje podeljeno je na dve faze.

Page 21: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

20

3.8. STRUKTURA PREKIDA

Jezgro mikrokontrolera AT89S53 dozvoljava 6 interrupt vektora: 2 spoljašnja prekida, 3 preki-da tajmera i jedan prekid serijskog porta, tako da ukupno ima 9 izvora prekida. Svaki od pomenutih izvora prekida može da se pojedinačno omogući/onemogućiti setovanjem ili resetotovanjem bita IE (Interrupt Enable) u SFR. Registar takođe sadrži opšti bit za dozvolu, koji može da se resetuje kako bi se onemogućili svi prekidi odjednom.

3.8.1. Prioriteti prekida

Svaki izvor prekida može da se pojedinačno programira na jedan od dva nivoa prioriteta, setova-njem ili resetovanjem bita prekida u SFR-u.

Prekid nižeg prioriteta može se prekinuti prekidom višeg prioriteta, ali ne i sa drugim prekidom nižeg prioriteta. Prekid višeg prioriteta ne može se prekinuti sa bilo kojim drugim izvorom prekida.

Ako dva prekida koji zahtevaju različite nivoe prioriteta se pojave istovremeno, servisira se zahtev sa većim nivoom prioriteta. Ako se istovremeno pojave prekidi istog nivoa prioriteta, unutrašnja sekvenca odabiranja određuje koji će se prekid servisirati. Prema tome, unutar svakog nivoa prioriteta sekvenca odabiranja određuje drugu prioritetnu strukturu.

Slika 3.14. Sistem obrade prekida kod serije mikrokontrolera AT89s

Page 22: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

21

4. PROGRAMIRANJE MIKROKONTROLERA AT89S8253

Da bi se izvršilo programiranje mikrokontrolera, neophodno je posedovati bootstrap loader, kao i odgovarajući softver. U daljem tekstu biće opisani loader-i SI-Prog i ISP Programmer, kao i softver-ski alati: IC-Prog, PonyProg, Atmel Microcontroller ISP software.

Programiranje,čitanje i brisanje sadržaja EEPROM-a i flash memorije mikrokontrolera može da se ostvari paralelno ili serijski. Ovde se nećemo zadržavati oko opisa jednog ili drugog načina programiranja, već ćemo naglasiti da se serijsko programiranje ostvaruje preko tri pina mikrokontrolera: MOSI (P1.5), MISO (P1.6) i SCK (P.1.7), uz dovedeni takt, napajanje i masu (GND).

4.1. BOOTSTRAP LOADER SI-PROG

4.1.1 Osnovno kolo

Ovde ćemo razmatrati jednostavan i jeftini (simple & low-cost) serijski bootstrap loader (Slika 4.1) za određenu grupu Atmel-ovih mikrokontrolera (AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S8515, AT89S53, AT89S8252/8253, ATMEGA serija itd.) Zapravo, moguće je programirati bilo koji Atmel-ov mikrokontroler koji poseduje SPI (Serial Peripheral Interface), a to su svi Atmel-ovi mikrokontroleri novije generacije.

Kao što se vidi na Slici 4.1, izbegnuto je korišćenje integrisanog kola serije 232 (ICL232, ST232, SP232, MAX232 itd.) za prilagođavanje naponskih nivoa 232-TTL, već su za tu svrhu upotrebljene Zener diode (D6, D7 i D8). Ovo implicira da 6-pinski kabl za vezu između serijskog porta računara i load-era ne bude duži od 2 m. (Napomena: Umesto 6-pinskog kabla moguće je koristiti standardni komercijalni pin-to-pin kabl koji koristi svih 9 pinova serijskog porta.)

S obzirom da su struje programiranja mikrokontrolera reda mA, signali serijskog porta TXD, DTR, DSR, RTS iskorišćeni su kao ulaz low-dropout linearnog regulatora napona LM2931-5, koje na izlazu daje stabilan napon od 5V. Preko ovog regulatora napaja se mikrokontroler prilikom upisa, čita-nja, verifikacije i brisanja (Write, Read, Verify, Erase). Dakle, ovaj bootstrap loader ne zahteva dovođenje eksternog napajanja. (Napomena: Umesto integrisanog kola LM2931-5 moguće je koristiti i neko drugo kolo iz serije low-dropout, kao na primer LM2936-5, LP2940-5, ali nikako ne treba koris-titi standardni regulator napona LM78L05.)

Diode D10 i D11 (3mm, low-power) daju signaliziciju tokom procesa upisa, čitanja i verifikacije (Write, Read, Verify) podataka u/iz mikrokontrolera

Page 23: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

22

Slika 4.1. Osnovno kolo bootstrap loader-a SI-Prog

.

4.1.2. Povezivanje mikrokontrolera

Na Slici 4.2 prikazani su pinovi dva mikrokontrolera serije 89S, koje treba povezati sa osnovnim kolom bootstrap loader-a SI-Prog. Da bi se izvršilo serijsko programiranje/čitanje navedenih mikrokontrolera, potrebno je operisati sa samo 5 signala: Vcc (napajanje), RST (reset), SCK (pomerački takt), MOSI (serijski ulaz) i MISO (serijski izlaz). Poslednja 3 signala čine serijski interfejs mikro-kontrolera. Naravno, neophodno je da se između ulaza XT1 i XT2 priključi kvarc od 8MHz i konden-zatori vrednosti 22 pF, što je i prikazano na slici.

(Napomena: Ovde su navedeni osnovni pojmovi vezani za serijsko programiranje mikrokontrolera. Ukoliko čitalac želi da se detaljnije upozna sa mehanizmom programiranja mikrokontrolera, treba da pristupi sajtu www.atmel.com i da pročita odgovarajuće datasheet-ove. Kao što je saopšteno, u prog-ramerskom smislu, AT89S8253 je gotovo identičan sa mikrokontrolerom AT89S53)

Page 24: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

23

Slika 4.2. Način povezivanja sa serijom mikrokontrolera AT89S

4.1.3. Signali serijskog porta računara

Pin Name Description Opis

1 DCD Data Carrier Detect Detektor nosioca podatka

2 TXD Transmit Data Slanje podataka

3 RXD Receive Data Prijem podataka

4 DTR Data Terminal Ready Spremnost podataka terminala

5 GND System Ground Masa

6 DSR Data Set Ready Spremnost podataka

7 RTS Request to Send Zahtev za slanje

8 CTS Clear to Send Brisanje u cilju iniciranja novog slanja

9 RI Ring Indicator Indikator zvona

Page 25: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

24

4.1.4. Izgled štampane ploče

Na Slici 4.3 prikazana je štampana ploča. Predviđena je mogućnost programiranja sledećih mik-rokontrolera: AT90S1200 i AT90S2323 (kućište DIP-20), AT90S2313 i AT90S2343 (kućište DIP-8), AT90S4414, AT90S8515, AT89S53 i AT89S8252/8253 (kućišta DIP-40 i PLCC44). Pinovi ostalih mikrokontrolera su povezani sa posnovnim kolom slično kao i mikrokontroleri serije 89S, s izuzetkom što umesto signala RST koriste signal RST, kvarc od 4MHz i kondenzatore od 27 pF.

Ovde se nismo bavili ostalim mikrokontrolerima, već smo se koncentrisali samo na AT89S8253, odnosno AT89S53.

Slika 4.3. Dvoslojna štampana ploča bootstrap loader-a

4.2. SOFTVERSKI ALATI KOMPATIBILNI SA SI-PROG

Od softverskih alata, za programiranje mikrokontrolera serije AT89S mogu da se koriste PonyProg i ICProg (kompatibilni sa bootstrap loader-ima SI-Prog, JDM Programmer). Navedeni alati imaju mogućnost čitanja, upisa i verifikacije (Read, Write, Verify) sadržaja mikrokontrolera. Naravno, tokom upisa moguće je softverski zaštititi sadržaje od neželjenog upisa i čitanja (preko Lock Bit 1, 2, 3).U naednom tekstu biće opisana i ilustrovana oba softverska alata.

Page 26: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

25

4.2.1. Softver IC-Prog

Program IC-Prog se ne instalira na računaru, već se pokreće direktno tačnije klikom na fajl ICPROG.EXE (Slika 4.4).

Slika 4.4. Pokretanje programa IC-Prog

Ukoliko korisnik ima verziju Windows-a «višu» od Windows-a 98, odmah po startovanju progra-ma IC-Prog na ekranu će se pojaviti prozor sa upozorenjem, kao na Slici 4.5 . Razlog je što su kod svih Windows-a sa platformom NT zaštićeni portovi. Zbog toga je neophodno da se instalira odgovarajući drajver.

Slika 4.5. Upozorenje prilikom pokretanja programa

Korak 1. Instaliranje drajvera

Ulaskom u podmeni Misc, koji se nalazi u meniju Options, ostvaruje se instaliranje/uključivanje drajvera icprog.sys (Settings → Options → Misc: √ Enable 2000/NT/XP), što je ilustrovano na Slici 4.6. Na taj način omogućava se pristup serijskom portu računara.

Page 27: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

26

Slika 4.6. Instaliranje/uključivanje drajvera

Slika 4.7. Podešavanje parametara programa

Page 28: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

27

Korak 2. Podešavanje hardverskih parametara

Nakon što je instaliran/uključen drajver, program će se restartovati i ponudiće opciju podešavanja hardverskih parametara, koji treba da budu postavljeni kao na Slici 4.7 . IC-Prog ima sličnu konfigura-ciju kao JDM Programmer, signali su bez inverzije dok se komunikacija obavlja preko, na primer, serijskog porta COM1.

Korak 3. Izbor mikrokontrolera i učlitavanje kôda u bafer programa

Najpre treba izabrati mikrokontroler (AT)89S53 (obeleženi padajući meni u gornjem desnom ug-lu osnovnog prozora programa), a potom učitati heksadecimalni kôd klikom na opciju Open File iz me-nija File - što je ilustrovano na Slikama 4.8, 4.9 i 4.10. (Napomena: Heksadecimalni kôd se dobija kompilacijom programa koji je napisan na nekom višem programskom jeziku (C, Pascal, Basic itd.) ili na asembleru. Viši programski jezici za mikrokontrolere imaju izvesne specifičnosti u odnosu na stan-dardne programske jezike, ali ovde te specifičnosti neće biti razmatrane.)

Slika 4.8. Upisivanje/učitavanje kôda u bafer programa

Page 29: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

28

Slika 4.9. Upisivanje/učitavanje fajla projekat.hex koji sadrži kôd

Korak 4. Programiranje mikrokontrolera

Ulaskom u meni Command i startovanjem opcije Program All (Slika 4.10). Zapravo, proces pro-gramiranja podrazumeva da se sadržaj bafera programa (Slika 4.9) upiše u flash memoriju mikrokon-trolera. (Napomena: organizacija i kapacitet bafera korespondiraju sa 12Kb-nom flash memorijom mikrokontrolera AT89S8253, odnosno AT89S53.)

Naravno program će postaviti pitanje, tj. mogućnost da se izabere da li da otpočne proces progra-miranja ili da se od njega odustane (Slika 4.11). Ukoliko se izabere programiranje, program će obrisati prethodni sadržaj flash memorije mikrokontrolera i u nju “prepisati” sadržaj bafera programa, čiji se je-dan deo vidi na Slici 4.10.

Napredak proces programiranja, a potom i verifikacije programiranja je ilustrovan na Slici 4.12. Ukoliko je proces uspešno okončan, na ekranu će se pojaviti prozor kao na Slici 4.14 – u suprotnom, izgled prozora će biti kao na Slici 4.13.

Page 30: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

29

Slika 4.10. Startovanje programiranja mikrokontrolera AT89S53

Slika 4.11. Mogućnost da se odustane od programiranja

Page 31: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

30

Slika 4.12. Proces programiranja, a zatim i verifikacije

Slika 4.13. Poruka nakon neuspešnog programiranja

Slika 4.14. Poruka nakon uspešnog programiranja

4.2.2 Softver PonyProg

S obzirom da je softverski alat PonyProg veoma sličan programu IC-Prog, ovde se nećemo baviti detaljnim opisom, a biće opisane samo razlike i to na samom kraju opisa.

Page 32: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

31

Ponyprog se vrlo lako instalira pokretanjem fajla ponyprog.exe, što je prikazano na Slici 4.15. Posle jednostavne procedure, program će biti instaliran i moguće je njegovo pokretanje preko Start menija Windows-a (Slika 4.16).

Slika 4.15. Instaliranje programa PonyProg

Slika 4.16. Pokretanje programa PonyProg

Ulaskom u podmeni Setup, koji se nalazi u meniju Options, ostvaruje se podešavanje hardverskih parametara programa PonyProg, što je ilustrovano na Slici 4.17.

Page 33: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

32

Slika 4.17. Podešavanje parametara programa

Slika 4.18. Izbor serije mikrokontrolera (89S)

Page 34: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

33

Slika 4.19. Izbor tipa mikrokontrolera (AT89S53 korespondira sa AT89S8253)

Slika 4.20. Proces kalibracije

Page 35: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

34

Slika 4.21. Mogućnost da se odustane od kalibracije

Slika 4.22. Poruka posle uspešno obavljene kalibracije

Slika 4.23. Upisivanje/učitavanje kôda u bafer programa

Page 36: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

35

Slika 4.24. Upisivanje/učitavanje fajla projekat.hex

Slika 4.25. Poruka posle uspešno obavljene kalibracije

Page 37: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

36

Slika 4.26. Mogućnost da se odustane od programiranja

Slika 4.27. Poruka ukoliko nije omogućen pristup mikrokontroleru preko porta

Slika 4.28. Poruka ukoliko nije programiranje nije uspešno

Slika 4.29. Poruka posle uspešnog programiranja

Na Slikama 4.18 i 4.19 ilustrovan je izbor odgovarajućeg mikrokontrolera preko padajućih menija u gornjem desnom uglu osnovnog prozora programa.

Kalibracija programa (usklađivanje programa sa brzinom procesora i hard diska) ilustrovan je na Slikama 4.20, 4.21 i 4.22.

Page 38: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

37

Proces programiranja mikrokontrolera prikazana je počev od Slike 4.23 do Slike 4.29. Tu su ujedno prikazane poruke koje se prikazuju prilikom neuspešne konekcije (Slika 4.27), neuspešnog (Slika 4.28) i uspešnog programiranja (Slika 4.28).

4.3. BOOTSTRAP LOADER ISP PROGRAMMER

Na Slici 4.30 prikazano je osnovno kolo bootstrap loader-a ISP programmer preko kojeg može da se povežu paralelni port računara i bilo koji Atmel-ov mikrokontroler. Povezivanje mikrokontrolera serije 89S obavlja se kao na Slici 4.2. Za serijsko programiranje/čitanje navedenih mikrokontrolera, potrebno je operisati sa samo 5 signala: Vcc (napajanje), RST (reset), SCK (pome-rački takt), MOSI (serijski ulaz) i MISO (serijski izlaz). Kao što je ranije istaknuto, poslednja 3 signala čine serijski interfejs mikrokontrolera. Naravno, neophodno je da se priključe kvarc, kao i kondenzatori.

Kao što se vidi na slici, kolo 74LS244 služi kao interfejs između računara i mikrokontrolera.

Slika 4.30. Osnovno kolo bootstrap loader-a ISP Programmer

Page 39: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

38

4.3.1. Signali RS-232 interfejsa paralelnog porta računara

Pin Name Description Opis 1 GND Ground Masa 2 TXD Transmit Data Prijem podataka 3 RXD Receive Data Slanje podataka 4 RTS Request to Send Zahtev za slanje

5 CTS Clear to Send Brisanje u cilju iniciranja novog slanja

6 DSR Data Set Ready Spremnost podataka 7 SGND Signal ground Masa 8 DCD Data Carrier Detect Detektor nosioca podatka 9 - Test Test pin 10 - Test Test pin 11 - Nedodeljen 12 secDCD Secondery DCD Sekundarni DCD 13 secCTS Secondery CTS Sekundarni CTS 14 secTXD Secondery TXD Sekundarni TXD 15 TXsig timing Transmitter signal element timing Tajming elementa signala predajnika 16 secRXD Sekundarni RXD 17 RXsig timing Receiver signal element timing Tajming elementa signala prijemika 18 - Nedodeljen 19 secRTS Secondery RTS Sekundarni RTS 20 DTR Data Terminal Ready Spremnost podataka terminala 21 sig_ quality_det Data Carrier Detect Detektor nosioca podatka 22 RI Ring Indicator Indikator zvona 23 TXD Transmit Data Slanje podataka 24 TXsig timing Transmitter signal element timing Tajming elementa signala predajnika 25 - Nedodeljen

Page 40: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

39

4.4. PROGRAM ATMEL MICROCONTROLLER ISP SOFTWARE

Ovde ćemo ukratko ilustrovati rad sa softverskim alatom Atmel Microcontroller ISP software (kompatibilan sa bootstrap loader-om ISP Programmer) i nećemo ponavljati tekst koji je saopšten prilikom opisa sofverskih alata IC-Prog i PonyProg.

Slika 4.31. Izbor mikrokontrolera se vrši u meniju Options

Slika 4.32. Izbor mikrokontrolera AT89S53, koji korespondira sa AT89S8253

Page 41: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

40

Slika 4.33. Izgled bafera pre učitavanja kôda

Slika 4.34. Učitavanja heksadecimalnog kôda

Page 42: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

41

Slika 4.35. Izgled bafera posle učitavanja kôda

Sledeći koraci podrazumevaju eventualno podešavanje bitova zaključavanja (Lock bits) – kojima se softverski štiti kôd, programiranje (upis) kôda (Write), verifikaciju (Verification) itd. Poslednje dve operacije se nalaze meniju Instructions. Posle toga, moguće je izabrati (selektovati) opciju Auto Program (meni Instructions) kojom će se sadržaj bafera programa “prepisati” u mikrokontroler.

Izgled heksadecimalnog kôda za projekat nalazi se u narednom poglavlju ovog rada (u okviru glave Kôd u asembleru).

Page 43: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

42

5. REALIZACIJA STEPENIŠNOG AUTOMATA

5.1. HARDVER

Za hardversku realizaciju stepenišnog automata iskorišćena je PCB koju je projektovao student J. Jovanovića. Njena Blok šema data je na slici 5.1. Šema prikazuje kako su povezani mikrokontroler AT89S8253, ispravljač napona od 220V AC 50Hz na 5V DC (trafo je smesten van PCB ploce).

Gornja i donja strana štampane ploče (layout) prikazane su na slikama 5.2. i 5.3. respektivno, dok je šema rasporeda komponenata gornje strane ploče prikazana na slici 5.4.

Slika 5.1. Blok šema elemenata smeštenih na PCB ploči.

Page 44: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

43

Slika 5.2. Layout gornje strane PCB-a

Page 45: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

44

Slika 5.3. Layout donje strane PCB-a

Page 46: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

45

Slika 5.4. Prikaz rasporeda elemenata odštampan na gornjoj strani PCB-a

Slika 5.5. Električna šema

Page 47: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

46

Spisak upotrebljenih komponenata dat je u tabeli 1.

.

Komponente Br.komada AT89S8253 1 QARTC 11.059MHz 1 GREC 1A-250V 1 Trafo 6V 500mA 1 LED žuta 8 LED crvena 1 elektrolitski kondenzator 470μF/16V 1 elektrolitski kondenzator 100μF/16V 1 elektrolitski kondenzator 2.2μ F/63V 1

Otpornik 330Ω 1/4W 12 Otpornik 100K 1/4W 1 blok kondenzator 100nF/25V 3 podnožja 40DIL 1 raster ploča 2 priključni kabl za 220V 1 džamperi 1 74HC541N 2 LM 7805 1

Tabela 1. Spisak upotrebljenih komponenata

Page 48: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

47

Slika 5.6. Izgled realizovanog hardvera

5.2. SOFTVERSKO REŠENJE

U daljem tekstu je priložen asemblerski kôd koji predstavlja “uputstvo” za rad mikrokontrolera AT89S8253. Naime, mikrokontroler treba da “uoči” promenu stanja na ulaznom portu, a zatim da izvrši odgovarajuću reakciju na tu promenu. U ovom, slučaju promena na ulazu se dešava kada se pritisne neki od osam tastera, pri čemu treba voditi računa da se ulazi ovog mikrokontrolera okidaju logičkom nulom.

Reakcija na promenu na ulazu odgovara uključivanju odgovrajućih LED dioda. Prema zahtevima projekta, treba da se uključi lampica čiji redni broj odgovara rednom broju pritisnutog tastera, kao i po jedna lampica ispod i iznad. Uočavamo da za slučaj kada je pritisnut prvi taster ne postoji lampica ispod, a za slučaj kada je pritisnut posledjni taster (osmi) ne postoji lampica iznad. Sve ovo je realizovano u tablici stanja izlaza (u programu nazvana sa TABONOFF).

Još jedan od zahteva projekta je da se ukjučene signalne lampice isključuju nakon jednog minuta. Da bi se ovo realizovalo bilo je potrebno koristiti tajmer T1. Vremena isključena se čuvaju u promenljivim, pri čemu se za jedno vreme koriste dve promenljive (HI i LO), da bi smo povećali opseg brojajna instrukcija, i umesto 8-bitnog dobili mogućnost da sačuvamo 16-bitni broj. Softverski je podešeno da interupt tajmera bude na 1 ms.

Asemblerski kôd treba da se prevede u heksadecimalni kôd preko odgovarajuće kompilatora, od-nosno kompajlera. Za tu svrhu može poslužiti program Keil.

Naravno, heksadecimalni kôd nije sređen po bankama, međutim, to je zadatak softverskog alata (IC-Prog, PonyProg, Atmel Microcontroller ISP software itd.)

Page 49: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

Opšti algoritam

Page 50: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

48

Kôd u asembleru:

_______________________________________________________________________________

; STEPENISNI AUTOMAT SA AT89S8253 STATUS EQU 20H GRUPA1 EQU STATUS.0 GRUPA2 EQU STATUS.1 GRUPA3 EQU STATUS.2 GRUPA4 EQU STATUS.3 GRUPA5 EQU STATUS.4 GRUPA6 EQU STATUS.5 GRUPA7 EQU STATUS.6 GRUPA8 EQU STATUS.7 SPRAT1HI EQU 30H SPRAT1LO EQU 31H SPRAT2HI EQU 32H SPRAT2LO EQU 33H SPRAT3HI EQU 34H SPRAT3LO EQU 35H SPRAT4HI EQU 36H SPRAT4LO EQU 37H SPRAT5HI EQU 38H SPRAT5LO EQU 39H SPRAT6HI EQU 3AH SPRAT6LO EQU 3BH SPRAT7HI EQU 3CH SPRAT7LO EQU 3DH SPRAT8HI EQU 3EH SPRAT8LO EQU 3FH VREMEHI EQU 40H VREMELO EQU 41H ;HARDWARE-ski zahtevi SPRAT1 EQU P2.0 SPRAT2 EQU P2.1 SPRAT3 EQU P2.2 SPRAT4 EQU P2.3 SPRAT5 EQU P2.4 SPRAT6 EQU P2.5 SPRAT7 EQU P2.6 SPRAT8 EQU P2.7

Page 51: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

49

RSEG CODE START JMP GLAVNI ORG START+TIMER1 JMP IRQ ;*************************************************** ; inicijalizacija TIMER-a,reset.RAM-a i sl. ;*************************************************** GLAVNI MOV IE,#00H ;zabrana svih interapta MOV SP,#70H ;definisanje steka INIC: MOV TMOD,#011H ;T1 = 16b_TIMER MOV TH1,#0FCH MOV TL1,#067H ;INT T1 NA 1mS SETB TR1 ;STARTUJE tajmer 1 MOV P3,#0 ;GASI SVE IZLAZE ;******* resetovanje rama ***** MOV R0,#08 RESR MOV A,#0 MOV @R0,A INC R0 MOV A,R0 CJNE A,#070H,RESR MOV IE,#088H ;DOZVOLA INT T1 ;** POCETAK GLAVNOG PROGRAMA ** GP NOP JMP GP ;****** INTERRUPT TIMER-a 1 na 1mS ************* IRQ PUSH ACC PUSH PSW CLR C MOV A,VREMELO ADDC A,#01 MOV VREMELO,A MOV A,VREMEHI ADDC A,#0 MOV VREMEHI,A ; testira vremena iskljucenja grupa izlaza TSTOFF1 MOV A,VREMELO CJNE A,SPRAT1LO,TSTOFF2 MOV A,VREMEHI CJNE A,SPRAT1HI,TSTOFF2 CLR GRUPA1

Page 52: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

50

MOV DPTR,#TABONOFF MOV A,#0 MOVC A,@A+DPTR CPL A ANL P3,A TSTOFF2 MOV A,VREMELO CJNE A,SPRAT2LO,TSTOFF3 MOV A,VREMEHI CJNE A,SPRAT2HI,TSTOFF3 CLR GRUPA2 MOV DPTR,#TABONOFF MOV A,#01 MOVC A,@A+DPTR CPL A ANL P3,A TSTOFF3 MOV A,VREMELO CJNE A,SPRAT3LO,TSTOFF4 MOV A,VREMEHI CJNE A,SPRAT3HI,TSTOFF4 CLR GRUPA3 MOV DPTR,#TABONOFF MOV A,#02 MOVC A,@A+DPTR CPL A ANL P3,A TSTOFF4 MOV A,VREMELO CJNE A,SPRAT4LO,TSTOFF5 MOV A,VREMEHI CJNE A,SPRAT4HI,TSTOFF5 CLR GRUPA4 MOV DPTR,#TABONOFF MOV A,#03 MOVC A,@A+DPTR CPL A ANL P3,A TSTOFF5 MOV A,VREMELO CJNE A,SPRAT5LO,TSTOFF6 MOV A,VREMEHI CJNE A,SPRAT5HI,TSTOFF6 CLR GRUPA5 MOV DPTR,#TABONOFF MOV A,#04 MOVC A,@A+DPTR

Page 53: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

51

CPL A ANL P3,A TSTOFF6 MOV A,VREMELO CJNE A,SPRAT6LO,TSTOFF7 MOV A,VREMEHI CJNE A,SPRAT6HI,TSTOFF7 CLR GRUPA6 MOV DPTR,#TABONOFF MOV A,#05 MOVC A,@A+DPTR CPL A ANL P3,A TSTOFF7 MOV A,VREMELO CJNE A,SPRAT7LO,TSTOFF8 MOV A,VREMEHI CJNE A,SPRAT7HI,TSTOFF8 CLR GRUPA7 MOV DPTR,#TABONOFF MOV A,#06 MOVC A,@A+DPTR CPL A ANL P3,A TSTOFF8 MOV A,VREMELO CJNE A,SPRAT8LO,TST1 MOV A,VREMEHI CJNE A,SPRAT8HI,TST1 CLR GRUPA8 MOV DPTR,#TABONOFF MOV A,#07 MOVC A,@A+DPTR CPL A ANL P3,A ; testira ulaze i ukljucuje grupu izlaza TST1 JB GRUPA1,PALI1 JB SPRAT1,TST2 CLR C MOV A,VREMELO ADDC A,#060H MOV SPRAT1LO,A MOV A,VREMEHI ADDC A,#0EAH MOV SPRAT1HI,A SETB GRUPA1 PALI1 MOV DPTR,#TABONOFF

Page 54: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

52

MOV A,#0 MOVC A,@A+DPTR ORL P3,A ;UKLJUCUJE ODGOVARAJUCE IZLAZE ZA TAST. SP1 TST2 JB GRUPA2,PALI2 JB SPRAT2,TST3 CLR C MOV A,VREMELO ADDC A,#060H MOV SPRAT2LO,A MOV A,VREMEHI ADDC A,#0EAH MOV SPRAT2HI,A SETB GRUPA2 PALI2 MOV DPTR,#TABONOFF MOV A,#01 MOVC A,@A+DPTR ORL P3,A ;UKLJUCUJE ODGOVARAJUCE IZLAZE ZA TAST. SP2 TST3 JB GRUPA3,PALI3 JB SPRAT3,TST4 CLR C MOV A,VREMELO ADDC A,#060H MOV SPRAT3LO,A MOV A,VREMEHI ADDC A,#0EAH MOV SPRAT3HI,A SETB GRUPA3 PALI3 MOV DPTR,#TABONOFF MOV A,#02 MOVC A,@A+DPTR ORL P3,A ;UKLJUCUJE ODGOVARAJUCE IZLAZE ZA TAST. SP3 TST4 JB GRUPA4,PALI4 JB SPRAT4,TST5 CLR C MOV A,VREMELO ADDC A,#060H MOV SPRAT4LO,A MOV A,VREMEHI ADDC A,#0EAH MOV SPRAT4HI,A SETB GRUPA4 PALI4 MOV DPTR,#TABONOFF MOV A,#03 MOVC A,@A+DPTR ORL P3,A ;UKLJUCUJE ODGOVARAJUCE IZLAZE ZA TAST. SP4

Page 55: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

53

TST5 JB GRUPA5,PALI5 JB SPRAT5,TST6 CLR C MOV A,VREMELO ADDC A,#060H MOV SPRAT5LO,A MOV A,VREMEHI ADDC A,#0EAH MOV SPRAT5HI,A SETB GRUPA5 PALI5 MOV DPTR,#TABONOFF MOV A,#04 MOVC A,@A+DPTR ORL P3,A ;UKLJUCUJE ODGOVARAJUCE IZLAZE ZA TAST. SP5 TST6 JB GRUPA6,PALI6 JB SPRAT6,TST7 CLR C MOV A,VREMELO ADDC A,#060H MOV SPRAT6LO,A MOV A,VREMEHI ADDC A,#0EAH MOV SPRAT6HI,A SETB GRUPA6 PALI6 MOV DPTR,#TABONOFF MOV A,#05 MOVC A,@A+DPTR ORL P3,A ;UKLJUCUJE ODGOVARAJUCE IZLAZE ZA TAST. SP6 TST7 JB GRUPA7,PALI7 JB SPRAT7,TST8 CLR C MOV A,VREMELO ADDC A,#060H MOV SPRAT7LO,A MOV A,VREMEHI ADDC A,#0EAH MOV SPRAT7HI,A SETB GRUPA7 PALI7 MOV DPTR,#TABONOFF MOV A,#06 MOVC A,@A+DPTR ORL P3,A ;UKLJUCUJE ODGOVARAJUCE IZLAZE ZA TAST. SP7 TST8 JB GRUPA8,PALI8 JB SPRAT8,IZIRQ CLR C MOV A,VREMELO

Page 56: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

54

ADDC A,#060H MOV SPRAT8LO,A MOV A,VREMEHI ADDC A,#0EAH ;EA60h=60000dec => vreme=60sec MOV SPRAT8HI,A SETB GRUPA8 PALI8 MOV DPTR,#TABONOFF MOV A,#07 MOVC A,@A+DPTR ORL P3,A ;UKLJUCUJE ODGOVARAJUCE IZLAZE ZA TAST. SP8 IZIRQ MOV TH1,#0FCH MOV TL1,#067H ;INT T1 NA 1mS POP PSW POP ACC RETI ;*** TABLICA PALJENJA/GASENJA IZLAZA *** TABONOFF DB 11000000B ;0 DB 11100000B ;1 DB 01110000B ;2 DB 00111000B ;3 DB 00011100B ;4 DB 00001110B ;5 DB 00000111B ;6 DB 00000011B ;7 END START

Page 57: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

55

6. ZAKLJUČAK

U prvom poglavlju ovog rada opisana je primena mikrokontrolera kao i projektni zadatak i zahtevi njegove realizacije.

U drugom poglavlju ovog rada (Prenos podataka) ukratko su opisani osnovni tipovi prenosa podataka (serijski i paralelni), izvršeno je poređenje tipova prenosa i date su neke praktične realizacije. Naravno, akcenat je stavljen na paralelni prenos podataka.

Treće poglavlje se bavi mikrokontrolerom AT89S8253. Najpre su ukratko navedene njegove karakteristike, a zatim su prikazani njegova unutrašnja struktura, organizacija memorije, načini programiranja itd. Istaknuto je da je po pitanju flash memorije i zaštite (Lock bits) mikrokontroler AT89S8253 identičan sa AT89S53, tako da softver predviđen za programiranje AT89S53 odgovara mikrokontroleru AT89S8253.

Četvrto poglavlje je posvećeno programiranju mikrokontrolera AT89S53, gde su prikazana dva bootstrap loader-a (SI-Prog, ISP Programmer) i tri softverska alata (programa) koji su kompatibilni sa njima kompatibilni (IC-Prog, PonyProg, Atmel Microcontroller ISP software).

Konačno, u petom poglavlju rada prikazano je hardversko i softversko rešenje realizacije stepenišnog automata pomoću mikrokontrolera AT89S8253. Uz električnu šemu je priložen kôd u asembleru sa komentarima i dat je kratak opis rada.

Page 58: REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU …es.elfak.ni.ac.rs/Papers/Stepenisni automat.pdf · 2 1. UVOD Današnji život je, nezamisliv bez različitih vidova komunikacije, informisanja,

56

7. LITERATURA

[1] Arhitekture i programiranje računarskih sistema zasnovanih na familiji procesora 80x86, Mile K. Stojčev, Branislav D. Petrović, I izdanje, Elektronski fakultet, Niš, 1999.

[2] Flash microcontroller – Architectural Overview, http://www.atmel.com

[3] Flash microcontroller – Memory Organization, http://www.atmel.com

[4] ATMEL, SPI AT Microcontrollers, Datasheets, http://www.atmel.com

[5] Migration from AT89S8252/53 to AT89S8253, http://www.atmel.com

[6] SI-Pprog - Serial Interface for PonyProg, http://www.lancos.com

[7] IC-Prog, Version 1.05A, Bonny Gijzen, www.ic-prog.com, 2004.

[8] PonyProg2000 - Serial Device Programmer, Version 2.06c Beta,

[9] Claudio Lanconelli http://www.lancos.com, 2003.

[10] Obrada prekida kod mikrokontrolera AT89S8253, Saša Đorđević,

[11] Seminarski rad, Elektronski fakultet, Niš, 2007.