72
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.

1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

  • Upload
    dodan

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

UNIVERZITET U NIŠUELEKTRONSKI FAKULTETKATEDRA ZA ELEKTRONIKU

REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU

MIKROKONTROLERA AT89S8253

Studenti: Edin Biševac 10756 Milan Stefanović 9800

Niš, Januar 2008.

Page 2: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

SADRŽAJ

1. UVOD..............................................................................................................................................21.1. PROJEKTNI ZADATAK.........................................................................................................31.2. RAZRADA................................................................................................................................3

2. PRENOS PODATAKA....................................................................................................................42.1. UPOREDNE KARAKTERISTIKE PARALELNOG I SERIJSKOG PRENOSA...........................................42.2. PRIMER KOMBINACIJE PARALELNOG I SERIJSKOG PRENOSA.....................................................62.3. HANDSHAKE PARALELNI U/I PRENOS.........................................................................................72.4. REZIME.......................................................................................................................................8

3. MIKROKONTROLER AT89S8253..............................................................................................103.1. UNUTRAŠNJA STRUKTURA MIKROKONTROLERA.......................................................................103.2. REDUKOVANI REŽIM NAPAJANJA.............................................................................................113.3. PROGRAMSKA MEMORIJA.........................................................................................................123.4. MEMORIJA PODATAKA.............................................................................................................133.5. PROGRAMSKI STATUSNI REGISTAR..........................................................................................173.6. TAKTOVANJE MIKROPROCESORA.............................................................................................183.7. MAŠINSKI CIKLUSI...................................................................................................................193.8. STRUKTURA PREKIDA..............................................................................................................20

3.8.1. Prioriteti prekida..............................................................................................................204. PROGRAMIRANJE MIKROKONTROLERA AT89S8253........................................................21

4.1. BOOTSTRAP LOADER SI-PROG.................................................................................................214.1.1 Osnovno kolo.....................................................................................................................214.1.2. Povezivanje mikrokontrolera...........................................................................................224.1.3. Signali serijskog porta računara......................................................................................234.1.4. Izgled štampane ploče......................................................................................................24

4.2. SOFTVERSKI ALATI KOMPATIBILNI SA SI-PROG......................................................................244.2.1. Softver IC-Prog................................................................................................................254.2.2 Softver PonyProg..............................................................................................................30

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

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

5.1. HARDVER.................................................................................................................................425.2. SOFTVERSKO REŠENJE..............................................................................................................47

6. ZAKLJUČAK................................................................................................................................557. LITERATURA...............................................................................................................................56

1

Page 3: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

2

Page 4: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

3

Page 5: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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)

4

Page 6: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

5

Page 7: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

6

Page 8: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

7

Page 9: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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:

8

Page 10: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

9

Page 11: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

10

Page 12: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

11

Page 13: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

12

Page 14: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

13

Page 15: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

3.4. MEMORIJA PODATAKA

Desna p olovina 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 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.

14

Page 16: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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 vremena kada je PCL važeći na P0, signal ALE (Address Latch Enable) postavlja ovaj bajt u adresni l e č. 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

15

Page 17: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

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

16

Page 18: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

Slika 3.10. Prikaz registara specijalne namene

17

Page 19: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

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.

18

Page 20: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

Slika 3.12. Korišćenje ugrađenog oscilatora

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

19

Page 21: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

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.

20

Page 22: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Slika 3.14. Sistem obrade prekida kod serije mikrokontrolera AT89s

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

21

Page 23: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

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

.

22

Page 24: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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)

Slika 4.2. Način povezivanja sa serijom mikrokontrolera AT89S

4.1.3. Signali serijskog porta računara

Pin Name Description Opis1 DCD Data Carrier Detect Detektor nosioca podatka2 TXD Transmit Data Slanje podataka

23

Page 25: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

3 RXD Receive Data Prijem podataka4 DTR Data Terminal Ready Spremnost podataka terminala5 GND System Ground Masa6 DSR Data Set Ready Spremnost podataka7 RTS Request to Send Zahtev za slanje8 CTS Clear to Send Brisanje u cilju iniciranja novog slanja9 RI Ring Indicator Indikator zvona

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.

24

Page 26: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

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

25

Page 27: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

Slika 4.6. Instaliranje/uključivanje drajvera

26

Page 28: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Slika 4.7. Podešavanje parametara programa

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.)

27

Page 29: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

28

Page 30: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

29

Page 31: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Slika 4.10. Startovanje programiranja mikrokontrolera AT89S53

Slika 4.11. Mogućnost da se odustane od programiranja

30

Page 32: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

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).

31

Page 33: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

32

Page 34: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Slika 4.17. Podešavanje parametara programa

Slika 4.18. Izbor serije mikrokontrolera (89S)

33

Page 35: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

Slika 4.20. Proces kalibracije

34

Page 36: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

35

Page 37: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

Slika 4.25. Poruka posle uspešno obavljene kalibracije

36

Page 38: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

37

Page 39: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

38

Page 40: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

Pin Name Description Opis1 GND Ground Masa2 TXD Transmit Data Prijem podataka3 RXD Receive Data Slanje podataka4 RTS Request to Send Zahtev za slanje5 CTS Clear to Send Brisanje u cilju iniciranja novog slanja6 DSR Data Set Ready Spremnost podataka7 SGND Signal ground Masa8 DCD Data Carrier Detect Detektor nosioca podatka9 - Test Test pin10 - Test Test pin11 - Nedodeljen12 secDCD Secondery DCD Sekundarni DCD13 secCTS Secondery CTS Sekundarni CTS14 secTXD Secondery TXD Sekundarni TXD15 TXsig timing Transmitter signal element timing Tajming elementa signala predajnika16 secRXD Sekundarni RXD17 RXsig timing Receiver signal element timing Tajming elementa signala prijemika18 - Nedodeljen19 secRTS Secondery RTS Sekundarni RTS20 DTR Data Terminal Ready Spremnost podataka terminala21 sig_ quality_det Data Carrier Detect Detektor nosioca podatka22 RI Ring Indicator Indikator zvona23 TXD Transmit Data Slanje podataka24 TXsig timing Transmitter signal element timing Tajming elementa signala predajnika25 - Nedodeljen

39

Page 41: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

40

Page 42: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

Slika 4.34. Učitavanja heksadecimalnog kôda

41

Page 43: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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).

42

Page 44: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

43

Page 45: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Slika 5.2. Layout gornje strane PCB-a

44

Page 46: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Slika 5.3. Layout donje strane PCB-a

45

Page 47: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

Slika 5.5. Električna šema

46

Page 48: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Spisak upotrebljenih komponenata dat je u tabeli 1.

.

Komponente Br.komadaAT89S8253 1QARTC 11.059MHz 1GREC 1A-250V 1Trafo 6V 500mA 1LED žuta 8LED crvena 1elektrolitski kondenzator 470F/16V 1elektrolitski kondenzator 100F/16V 1elektrolitski kondenzator 2.2 F/63V 1Otpornik 330 1/4W 12Otpornik 100K 1/4W 1blok kondenzator 100nF/25V 3podnožja 40DIL 1raster ploča 2priključni kabl za 220V 1džamperi 174HC541N 2LM 7805 1

Tabela 1. Spisak upotrebljenih komponenata

47

Page 49: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.)

48

Page 50: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Opšti algoritam

49

Page 51: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

Kôd u asembleru:

_______________________________________________________________________________

; STEPENISNI AUTOMAT SA AT89S8253

STATUS EQU 20HGRUPA1 EQU STATUS.0GRUPA2 EQU STATUS.1GRUPA3 EQU STATUS.2GRUPA4 EQU STATUS.3GRUPA5 EQU STATUS.4GRUPA6 EQU STATUS.5GRUPA7 EQU STATUS.6GRUPA8 EQU STATUS.7

SPRAT1HI EQU 30HSPRAT1LO EQU 31HSPRAT2HI EQU 32HSPRAT2LO EQU 33HSPRAT3HI EQU 34HSPRAT3LO EQU 35HSPRAT4HI EQU 36HSPRAT4LO EQU 37HSPRAT5HI EQU 38HSPRAT5LO EQU 39HSPRAT6HI EQU 3AHSPRAT6LO EQU 3BHSPRAT7HI EQU 3CHSPRAT7LO EQU 3DHSPRAT8HI EQU 3EHSPRAT8LO EQU 3FH

VREMEHI EQU 40HVREMELO EQU 41H

;HARDWARE-ski zahteviSPRAT1 EQU P2.0SPRAT2 EQU P2.1SPRAT3 EQU P2.2SPRAT4 EQU P2.3SPRAT5 EQU P2.4SPRAT6 EQU P2.5SPRAT7 EQU P2.6SPRAT8 EQU P2.7

50

Page 52: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

RSEG CODESTART 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,#08RESR 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 izlazaTSTOFF1 MOV A,VREMELO CJNE A,SPRAT1LO,TSTOFF2 MOV A,VREMEHI CJNE A,SPRAT1HI,TSTOFF2 CLR GRUPA1

51

Page 53: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

52

Page 54: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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 izlazaTST1 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

53

Page 55: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

54

Page 56: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

55

Page 57: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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

56

Page 58: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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.

57

Page 59: 1es.elfak.ni.ac.rs/Files/Stepenisni automat.doc  · Web viewRS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m). ... (Program Status Word) selektuju koja

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, S. Stajic, N. Stankovic, Waveform Generator based on Microcontroller AT89S8253, Elektronski fakultet, Niš, 2007

58