Šestobitni up/down brojač i konačni automati realizovani pomoću pic16f877 mikrokontrolera

23
Šestobitni up/down brojač i konačni Šestobitni up/down brojač i konačni automati realizovani pomoću automati realizovani pomoću PIC16F877 mikrokontrolera PIC16F877 mikrokontrolera Aleksandar Gošić 11486 Aleksandar Gošić 11486 Aleksandar Lakićević 11523 Aleksandar Lakićević 11523

Upload: benard

Post on 19-Mar-2016

81 views

Category:

Documents


7 download

DESCRIPTION

Šestobitni up/down brojač i konačni automati realizovani pomoću PIC16F877 mikrokontrolera Aleksandar Gošić 11486 Aleksandar Lakićević 11523. UVOD. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Šestobitni up/down brojač i konačni Šestobitni up/down brojač i konačni automati realizovani pomoću automati realizovani pomoću PIC16F877 mikrokontroleraPIC16F877 mikrokontrolera

Aleksandar Gošić 11486Aleksandar Gošić 11486 Aleksandar Lakićević 11523Aleksandar Lakićević 11523

Page 2: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Ovaj zadatak treba da pokaže kako pomoću Ovaj zadatak treba da pokaže kako pomoću mikrokontrolera PIC16F877 može da se realizuje mikrokontrolera PIC16F877 može da se realizuje šestobitni brojač i konačan automat Milijevog i šestobitni brojač i konačan automat Milijevog i Murovog tipa. Murovog tipa.

Za pisanje koda koristili smo kompajler mikroC, Za pisanje koda koristili smo kompajler mikroC, a za upis koda u mikrokontroler koristili smo a za upis koda u mikrokontroler koristili smo mikroBootloader, produkte firme mikroBootloader, produkte firme MikroElektronika iz Beograda.MikroElektronika iz Beograda.

UVODUVOD

Page 3: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Brojači su sekvencijalne mreže čiji dijagrami stanja predstavljaju repetitivni ciklus.

Broj različitih stanja u ciklusu se naziva moduo, ili osnova brojača. Brojač sa m stanja je brojač modula m.

Kružni brojači, sintetizovani korišćenjem pomeračkih registara

BROJABROJAČIČI

Page 4: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Ako se svi flipflopovi u brojaču taktuju Ako se svi flipflopovi u brojaču taktuju zajedničkim taktnim impulsom, takvi brojači se zajedničkim taktnim impulsom, takvi brojači se nazivaju sinhroni. nazivaju sinhroni.

Ako taktni impuls nije zajednički za sve Ako taktni impuls nije zajednički za sve flipflopove, brojač je asinhroni.flipflopove, brojač je asinhroni.

BROJAČIBROJAČI

Page 5: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Kao komponente digitalnih sistema Kao komponente digitalnih sistema koriste se i brojači koji koduju opadajući koriste se i brojači koji koduju opadajući niz binarnih borijeva (niz binarnih borijeva (brojači unazad – brojači unazad – down countersdown counters), i brojači, koji, zavisno od ), i brojači, koji, zavisno od izabranog režima rada, mogu da koduju izabranog režima rada, mogu da koduju rastući ili opadajući niz binarnih brojeva.rastući ili opadajući niz binarnih brojeva.

BROJAČIBROJAČI

Page 6: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Kod brojača sa paralelnim upisom, upis Kod brojača sa paralelnim upisom, upis omgućava da se u brojač, pre početka brojanja, omgućava da se u brojač, pre početka brojanja, asinhronim signalom asinhronim signalom LOADLOAD, upiše inicijalni sadržaj , upiše inicijalni sadržaj od koga će brojač početi da broji. Kod brojača postoji od koga će brojač početi da broji. Kod brojača postoji i izlazni signal i izlazni signal CARRYCARRY, koji služi za kaskadno , koji služi za kaskadno vezivanje više brojača.vezivanje više brojača.

BROJAČIBROJAČI

Page 7: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Model konačnog automata zasnovan je na konceptu Model konačnog automata zasnovan je na konceptu stanja stanja i i prelaza prelaza između stanja. između stanja.

U svakom trenutku, automat je u jednom od konačnog U svakom trenutku, automat je u jednom od konačnog broja svojih stanja. broja svojih stanja.

Pod dejstvom taktnog signala, a u zavisnosti od tekućeg Pod dejstvom taktnog signala, a u zavisnosti od tekućeg stanja i trenutne vrednosti ulaza, automat prelazi u novo stanja i trenutne vrednosti ulaza, automat prelazi u novo stanje i generiše odgovarajuće izlaze. stanje i generiše odgovarajuće izlaze.

Konačni automat se može predstaviti dijagramom Konačni automat se može predstaviti dijagramom (grafom) stanja na slici.(grafom) stanja na slici.

KONAČNI AUTOMATIKONAČNI AUTOMATI

Page 8: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Kolo na Kolo na narednoj narednoj slici se zove konačni slici se zove konačni automat Murovog tipa, kod koga se može primetiti automat Murovog tipa, kod koga se može primetiti da izlazi zavise jedino od trenutnog stanja pa se da izlazi zavise jedino od trenutnog stanja pa se izlazi kod ovog kola nazivaju Murovi izlazi.izlazi kod ovog kola nazivaju Murovi izlazi.

KONAČNI AUTOMATIKONAČNI AUTOMATI

Page 9: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Na slici je prikazano kolo Milijevog Na slici je prikazano kolo Milijevog konačnog automata kod koga izlazi zavise i od konačnog automata kod koga izlazi zavise i od ulaza i od konačnog stanja pa se izlazi kod ovog ulaza i od konačnog stanja pa se izlazi kod ovog kola nazivaju Milijevi izlazi.kola nazivaju Milijevi izlazi.

KONAČNI AUTOMATIKONAČNI AUTOMATI

Page 10: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Na Na sledesledeććoj oj slici je prizan konačni automat slici je prizan konačni automat koji ima izlaze oba tipa, Milijev i Murov, pa se koji ima izlaze oba tipa, Milijev i Murov, pa se zbog toga ovi automati nazivaju konačni automati zbog toga ovi automati nazivaju konačni automati mešovitog tipa.mešovitog tipa.

KONAČNI AUTOMATIKONAČNI AUTOMATI

Page 11: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

U ovom dijagramu, krugovima su predstavljena U ovom dijagramu, krugovima su predstavljena stanja, a strelicama (granama) prelazi između stanja. stanja, a strelicama (granama) prelazi između stanja. Svaka grana je označena parom ulaz/izlaz i ukazuje na Svaka grana je označena parom ulaz/izlaz i ukazuje na novo stanje u koje će automat preći, kao i na vrednost novo stanje u koje će automat preći, kao i na vrednost koja će biti generisana na izlazu, pod uslovom da je na koja će biti generisana na izlazu, pod uslovom da je na ulazu prisutna navedena vrednost.ulazu prisutna navedena vrednost.

KONAČNI AUTOMATIKONAČNI AUTOMATI

Page 12: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Ako izlaz automata zavisi jedino od tekućeg stanja, Ako izlaz automata zavisi jedino od tekućeg stanja, takav automat se naziva konačnim automatom Murovog takav automat se naziva konačnim automatom Murovog tipa.tipa.

U suštini, Murov FSM je specijalni slučaj Milijevog U suštini, Murov FSM je specijalni slučaj Milijevog FSM-a. FSM-a. Primer dijagram stanja automata Murovog tipa Primer dijagram stanja automata Murovog tipa prikazan je sliciprikazan je slici..

KONAČNI AUTOMATI MUROVOG KONAČNI AUTOMATI MUROVOG TIPATIPA

Page 13: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Za razliku od konačnog automata Murovog tipa, kod Za razliku od konačnog automata Murovog tipa, kod koga izlaz zavisi isključivo od tekućeg stanja, koga izlaz zavisi isključivo od tekućeg stanja, kodautomata Milijeg tipa izlaz je u funkciji kako kodautomata Milijeg tipa izlaz je u funkciji kako tekućeg stanja tako i trenutnog ulaza. tekućeg stanja tako i trenutnog ulaza.

Automati Milijevog tipa predstavljaju se dijagramom Automati Milijevog tipa predstavljaju se dijagramom stanja kod koga su izlazne vrednosti pridružene stanja kod koga su izlazne vrednosti pridružene granamagranama..

KONAČNI AUTOMATI MILIJEVOG KONAČNI AUTOMATI MILIJEVOG TIPATIPA

Page 14: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Konkretno, zadatak je bio da se opiše šestobitni brojač Konkretno, zadatak je bio da se opiše šestobitni brojač kod koga može da se bira smer brojanja (kod koga može da se bira smer brojanja (UP/DOWNUP/DOWN), ), postoji dozvola rada (postoji dozvola rada (ENABLEENABLE) i postoji mogućnost ) i postoji mogućnost paralelnog upisa željene vrednosti od koje bi brojač paralelnog upisa željene vrednosti od koje bi brojač počeo da broji.počeo da broji.

Takođe trebalo je da se opišu dva konačna automata Takođe trebalo je da se opišu dva konačna automata Milijevog i Murovog tipa koji će izvršavati funkcije Milijevog i Murovog tipa koji će izvršavati funkcije opisane kodom.opisane kodom.

PROJEKTNI ZADATAKPROJEKTNI ZADATAK

Page 15: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Ako jeAko je u uččitan itan softver za brojač i DIP 1 prekidač postavljen na ON, softver za brojač i DIP 1 prekidač postavljen na ON, tada okruženje radi kao brojač.tada okruženje radi kao brojač.

Pošto smo izabrali taj mod rada, neophodno je podesiti brojač na Pošto smo izabrali taj mod rada, neophodno je podesiti brojač na odgovarajući način. odgovarajući način.

Najpre je potrebno izabrati smer brojanja klik-klak prekidačem S2. Najpre je potrebno izabrati smer brojanja klik-klak prekidačem S2. Kada je u položaju 0 onda broji naviše, što ozanačava crvena LED Kada je u položaju 0 onda broji naviše, što ozanačava crvena LED

dioda, a u položaju 1 broji naniže, što označava žuta LED dioda.dioda, a u položaju 1 broji naniže, što označava žuta LED dioda.

UPUTSTVO ZA RUKOVANJEM UPUTSTVO ZA RUKOVANJEM OKRUŽENJEMOKRUŽENJEM

Page 16: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Sledeći korak je postavljanje početne vrednosti od Sledeći korak je postavljanje početne vrednosti od koje će brojač startovati, što se vrši klik-klak koje će brojač startovati, što se vrši klik-klak prekidačima S3 - S8.prekidačima S3 - S8.

Kada je sve prethodno podešeno, Kada je sve prethodno podešeno, Enable Enable prekidačem (S1) dozvoljavamo rad brojača, što prekidačem (S1) dozvoljavamo rad brojača, što signalizira zelena LED dioda. signalizira zelena LED dioda.

Učitavanje se vrši tasterom Učitavanje se vrši tasterom LOADLOAD, što indicira , što indicira plava LED dioda i učitana vrednost može da se plava LED dioda i učitana vrednost može da se pročita na LED diodama D1 do D6. pročita na LED diodama D1 do D6.

Neophodno je ispratiti redosled predhodno opisanih Neophodno je ispratiti redosled predhodno opisanih koraka kako bi brojač bio pravilno setovan.koraka kako bi brojač bio pravilno setovan.

UPUTSTVO ZA RUKOVANJEM UPUTSTVO ZA RUKOVANJEM OKRUŽENJEMOKRUŽENJEM

Page 17: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Nakon toga je moguće vršiti brojanje. Nakon toga je moguće vršiti brojanje. Tasterom Tasterom ClockClock se vrši brojanje a vrednost se vrši brojanje a vrednost

brojanja se očitava na LED diodama D1 do D6.brojanja se očitava na LED diodama D1 do D6. Brojač se može resetovati u bilo kom trentku Brojač se može resetovati u bilo kom trentku

pritiskom na taster pritiskom na taster Reset _CounterReset _Counter. . Kad brojač dođe do krajnje vrednosti, pali se LED Kad brojač dođe do krajnje vrednosti, pali se LED

dioda D7 koja označava prenos, odnosno dioda D7 koja označava prenos, odnosno Carry.Carry.

UPUTSTVO ZA RUKOVANJEM UPUTSTVO ZA RUKOVANJEM OKRUŽENJEMOKRUŽENJEM

Page 18: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Bitno je napomenuti da se postavljanje Bitno je napomenuti da se postavljanje početne vrednosti brojanja, odnosno očitavanje početne vrednosti brojanja, odnosno očitavanje trenutne vrednosti izlaza brojača vrši u trenutne vrednosti izlaza brojača vrši u šestobitnom BCD kodu, kao i to da se nakon šestobitnom BCD kodu, kao i to da se nakon izvršenog jednog ciklusa brojanja (postavljanja izvršenog jednog ciklusa brojanja (postavljanja izlaza izlaza carrycarry) početna zadata vrednost ) početna zadata vrednost (loadaovana vrednost) smanjuje za 1.(loadaovana vrednost) smanjuje za 1.

UPUTSTVO ZA RUKOVANJEM UPUTSTVO ZA RUKOVANJEM OKRUŽENJEMOKRUŽENJEM

Page 19: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Ukoliko je učitan softver za konačne automate i Ukoliko je učitan softver za konačne automate i DIP 2 prekidač postavljen na ON, onda sistem ima ulogu DIP 2 prekidač postavljen na ON, onda sistem ima ulogu Murovog automata čiji je dijagram stanja dat na sliciMurovog automata čiji je dijagram stanja dat na slici..

UPUTSTVO ZA RUKOVANJEM UPUTSTVO ZA RUKOVANJEM OKRUŽENJEMOKRUŽENJEM

Page 20: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Kao što već znamo kod automata Murovog tipa izlaz zavisi samo od Kao što već znamo kod automata Murovog tipa izlaz zavisi samo od ulaza pa je vrednost izlaza pridružena stanjima što se vidi sa dijagrama.ulaza pa je vrednost izlaza pridružena stanjima što se vidi sa dijagrama.

Ulaz automata se podešava klik-klak prekidačem S1 i u zavisnosti od Ulaz automata se podešava klik-klak prekidačem S1 i u zavisnosti od ulaza automat menja stanje. ulaza automat menja stanje.

LED diode D1 i D2 označavaju stanja u kojima se automat nalazi, a D3 i LED diode D1 i D2 označavaju stanja u kojima se automat nalazi, a D3 i D4 izlaze automata. D4 izlaze automata.

Stanja imaju sledeće oznake: a=00; b=01; c=11; d=10; a pri tome izlazi Stanja imaju sledeće oznake: a=00; b=01; c=11; d=10; a pri tome izlazi imaju sledeće vrednosti: 01; 11; 10; 11; respektivno, što se može videti sa imaju sledeće vrednosti: 01; 11; 10; 11; respektivno, što se može videti sa dijagrama.dijagrama.

UPUTSTVO ZA RUKOVANJEM UPUTSTVO ZA RUKOVANJEM OKRUŽENJEMOKRUŽENJEM

Page 21: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

UPUTSTVO ZA RUKOVANJEM UPUTSTVO ZA RUKOVANJEM OKRUŽENJEMOKRUŽENJEM

Ukoliko je učitan softver za konačne Ukoliko je učitan softver za konačne automate i DIP 3 prekidač postavljen u položaj automate i DIP 3 prekidač postavljen u položaj ON onda sistem ima ulogu Milijevod automata ON onda sistem ima ulogu Milijevod automata čiji je dijagram stanja dat na slici.čiji je dijagram stanja dat na slici.

Page 22: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

UPUTSTVO ZA RUKOVANJEM UPUTSTVO ZA RUKOVANJEM OKRUŽENJEMOKRUŽENJEM

Za razliku od automata Murovog tipa kod koga Za razliku od automata Murovog tipa kod koga izlaz zavisi samo od ulaza, kod automata Milijevog izlaz zavisi samo od ulaza, kod automata Milijevog tipa pored navedenog uslova izlaz zavisi i od tipa pored navedenog uslova izlaz zavisi i od trenutnog stanja, pa su na dijagramu izlazi trenutnog stanja, pa su na dijagramu izlazi pridruženi ulazima u granama prelaza što se vidi pridruženi ulazima u granama prelaza što se vidi sa slike 4. sa slike 4.

Stanja imaju sledeće oznake: a=00; b=01; c=10; Stanja imaju sledeće oznake: a=00; b=01; c=10; d=11; a izlazi se menjaju u granama prelaza što se d=11; a izlazi se menjaju u granama prelaza što se vidi sa PRETHOD slike. vidi sa PRETHOD slike.

Indikacija trenutnog stanja i izlaza je ista kod Indikacija trenutnog stanja i izlaza je ista kod prethodnog primera (LED dide D1 do D4 prethodnog primera (LED dide D1 do D4 respektivno).respektivno).

Page 23: Šestobitni up/down brojač i konačni automati  realizovani pomoću PIC16F877 mikrokontrolera

Biografije autora:Biografije autora: