realizacija stepeni Šnog automata pomoĆu mikrokontrolera at89s8253

30
REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU MIKROKONTROLERA AT89S8253 Milan Stefanović 9800 Mentor: Edin Biševac 10756 prof. dr Mile Stojčev Elektronski fakultet Niš Katedra za elektroniku

Upload: tait

Post on 11-Jan-2016

59 views

Category:

Documents


8 download

DESCRIPTION

Elektronski fakultet Niš Katedra za elektroniku. REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU MIKROKONTROLERA AT89S8253. Milan Stefanović 9800 Mentor: Edin Biševac 10756 prof. dr Mile Stojčev. Tipovi prenosa podataka. Serijski Paralelni. Serijski prenos podatak a. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

REALIZACIJA STEPENIŠNOG AUTOMATA POMOĆU

MIKROKONTROLERA AT89S8253

Milan Stefanović 9800 Mentor:Edin Biševac 10756 prof. dr Mile Stojčev

Elektronski fakultet NišKatedra za elektroniku

Page 2: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Tipovi prenosa podataka

Serijski Paralelni

Page 3: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Serijski prenos podataka

Jednostavnost rešenja (prenos podataka vrši se preko jedinstvene linije)

Pouzdanost (jednostavna detekcija grešaka) Dobro definisani protokoli

Page 4: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Paralelni prenos podataka (1)

Prenos n bitova (n = 8, 16, 32, 64) vrši se istovremeno koristi kada se prenosi podaci na kraćim rastojanjima

Page 5: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Paralelni prenos podataka (2)

Veliki broj potrebnih veza (jedna linija 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

Page 6: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Mikrokontroler AT89S8253 osnovne karakteristike (1)

Obimne 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 7: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Mikrokontroler AT89S8253 osnovne karakteristike (2)

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.

Page 8: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Arhitektura serije AT89S

Page 9: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Memorija mikrokontrolera serije AT89S

Page 10: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Programski statusni registar (PSW)

Page 11: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Programiranje mikrokontrolera

Da bi se izvršilo programiranje mikrokontrolera, neophodno je posedovati bootstrap loader, kao i odgovarajući softver.

Postoje npr. bootstrap loader-i SI-Prog i ISP Programmer, kao i softverki alati: IC-Prog, PonyProg, Atmel Microcontroller ISP software itd.

Page 12: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Programiranje mikrokontrolera

Da bi se izvršilo serijsko programiranje/čitanje mikrokontrolera serije AT89S, treba operisati sa samo 5 signala:

Vcc (napajanje) RST (reset) SCK (pomerački takt) MOSI (serijski ulaz) MISO (serijski izlaz).

Poslednja 3 signala čine serijski interfejs

Page 13: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Osnovno kolo bootstrap loader-a SI-Prog

Page 14: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Osnovno kolo bootstrap loader-a ISP Programmer

Page 15: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Blok šema elemenata smeštenih na PCB

ploči

Page 16: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Prikaz rasporeda elemenata odštampan na

gornjoj strani PCB-a

Page 17: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Izgled realizovanog hardvera

Page 18: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Opšti algoritam

Page 19: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (1) ; 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

Page 20: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (2)

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

Page 21: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (3)

;******* resetovanje rama *****MOV R0,#08

RESR MOV A,#0MOV @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 

Page 22: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (4)

; testira vremena iskljucenja grupa izlazaTSTOFF1 MOV A,VREMELO CJNE A,SPRAT1LO,TSTOFF2 MOV A,VREMEHI CJNE A,SPRAT1HI,TSTOFF2 CLR GRUPA1  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 

Page 23: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (5)

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 CPL A ANL P3,A 

Page 24: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (6)

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 

Page 25: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (7)

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

Page 26: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (8)

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

Page 27: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (9)

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

Page 28: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (10)

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

Page 29: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Kôd u asembleru (11)

MOV A,VREMELO 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 30: REALIZACIJA STEPENI ŠNOG AUTOMATA POMOĆU  MIKROKONTROLERA  AT89S8253

Zaključak

Ukratko su opisani su tipovi prenosa podataka Opisana je arhitektura mikrokontrolera AT89S8253,

organizacija memorije, programiranje, mogućnosti Priloženi su načini serijskog programiranja

mikrokontrolera AT89S8252 Dat je slikoviti prikaz hardverske realizacije Prezentovan je kôd u asembleru