Mikroprocesorski sistemi seminarski rad
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

MIKROPROCESORSKI SISTEMI SEMINARSKI RAD PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on
  • Presentation posted in: General

MIKROPROCESORSKI SISTEMI SEMINARSKI RAD. FUNKCISKI GENERATOR PROIZVOLJNIH TALASNIH OBLIKA REALIZOVAN POMOĆU MIKROKONTROLERA I D-LATCH-a Kandidati: Bošković Milan br. 11042 Petrović Aleksandar br. 10323. UVOD. FUNKCISKI GENERATOR PROIZVOLJNIH TALASNIH OBLIKA

Download Presentation

MIKROPROCESORSKI SISTEMI SEMINARSKI RAD

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Mikroprocesorski sistemi seminarski rad

MIKROPROCESORSKI SISTEMISEMINARSKI RAD

FUNKCISKI GENERATOR PROIZVOLJNIH TALASNIH OBLIKA REALIZOVAN POMOĆU MIKROKONTROLERA I D-LATCH-a

Kandidati:

Bošković Milan br. 11042

Petrović Aleksandar br. 10323


Mikroprocesorski sistemi seminarski rad

UVOD

  • FUNKCISKI GENERATOR PROIZVOLJNIH TALASNIH OBLIKA

  • D- leč sa D/A konvertorom realizovanim sa 2R-R vezom

  • Opis i analiza mikrokontrolera AT 89S8253

  • Asembler

  • Programiranje programatorom MEC UNP2


Funkciski generator proizvoljnih talasnih oblika

FUNKCISKI GENERATOR PROIZVOLJNIH TALASNIH OBLIKA

  • BLOK DIJAGRAM FUNCISKOG GENERATORA PROIZVOLJNIH TALASNIH OBLIKA:


Funkciski generator proizvoljnih talasnih oblika1

FUNKCISKI GENERATOR PROIZVOLJNIH TALASNIH OBLIKA


2 d le sa d a konvertorom realizovanim s a 2r r vezom

2. D- leč sa D/A konvertorom realizovanim sa 2R-R vezom

  • Speifikacija leča TC74HC373 :

  • Najveca brzina...................................

  • Režim smanjenje potrošnje:...............

  • Osetljivost na buku:...........................

  • Simetrična izlazna inpedansa:..............

  • Izlazna kapacitivnost:........................

  • Ujednačeno propagaciono kašnjenje.....

  • Široki opseg operativnog napona..........

  • Pinovi i funcionalna kompatibilnost odgovaraju 74LS7373/533


2 d le sa d a konvertorom realizovanim s a 2r r vezom1

2. D- leč sa D/A konvertorom realizovanim sa 2R-R vezom

  • TIP KUČIŠTA: DIP 20PIN


2 d le sa d a konvertorom realizovanim s a 2r r vezom2

2. D- leč sa D/A konvertorom realizovanim sa 2R-R vezom

RASPORED PINOVA: Sistemski dijagram D-leča:


2 1 d a konvertor realozovan mre om 2r r

2.1 D/A konvertor realozovan mrežom 2R-R :

  • Digitalno-analogna konverzija je ustvari pretvaranje binarno zapisane brojne vrednosti sa n bita:

    u analogni napon čija je vrednost Va u voltima proporcionalno digitalnoj vrednosti Dn:


2 1 d a konvertor realozovan mre om 2r r1

2.1 D/A konvertor realozovan mrežom 2R-R :

  • D/A konvertori se prave sabiranjem struja tako da su doprinosi svake struje srazmerni težini binarnih cifara zapisane digitalne vrednosti


2 1 d a konvertor real i zovan mre om 2r r

2.1 D/A konvertor realizovan mrežom 2R-R :

  • Lestvičasta otporna mreža sa n bita:


3 opis i analiza mikrokontrolera at 89s8253

3. Opis i analiza mikrokontrolera AT 89S8253

  • - Kompatibilan je sa Microsoft-51 procesorom

  • - 12KB fleš memorija

  • - SPI serijski unos za učitavanje programa

  • - 10 000 ciklusa upis/brisanje

  • - 2KB EEPROM memorija

  • - 100 000 ciklusa upis/brisanje (64-bajtna korisnička matrica)

  • - Napon napajanja od 2.7V do 5.5 V

  • - Frekvencija od 0 do 24 MHz

  • - Memorijsko zaključavanje u 3 nivoa

  • - 256 x 8-bitni unutrašnji RAM

  • - 32 I/O linije za programiranje

  • - Tri 16-bitna Tajmer/Brojač

  • - 9 generatora prekida

  • - Poboljšani UART serijski port sa centriranjem detekcije greške i automatskim prepoznavanjem adrese

  • - Male snage napajanja

  • - Uspostavljanje prekida u niskom režimu rada

  • - Programabilni tajmeri

  • - Dvostruki pokazivač podataka

  • - Isključivanje pomoću znaka (Power-off Flag)

  • - Fleksibilni ISP programator (byte i page modovi)

  • - Page mode: 64 byte/page za kodnu memoriju, 32 byte/page za memoriju podataka

  • - 4-nivo poboljšani kontrolor prekida

  • - Programabilna x2 clock opcije

  • - Unutrašnji Power-on Reset

  • - 42-pin PDIP model kućišta za redukovanje EMS emisije

  • - Zeleni (Pb/Holide-free) opcija kućišta


3 opis i analiza mikrokontrolera at 89s82531

3. Opis i analiza mikrokontrolera AT 89S8253

  • Blok dijagram AT89S53 jezgra:


3 opis i analiza mikrokontrolera at 89s82532

3. Opis i analiza mikrokontrolera AT 89S8253

  • Detaljnastrukturamikrokontrolera AT89S53:


3 opis i analiza mikrokontrolera at 89s82533

3. Opis i analiza mikrokontrolera AT 89S8253

  • Opis pinova:


4 asembler

4. Asembler

  • Asembler smo simulirali i kompajlirali u Keil uVision 3 kompajleru. Na osnovu asemblera napisanog u Keil-u generisali smo heksadecimalni fajl koji smo kasnije koristili za programiranje našeg mikrokontrolera pomoću univerzalnog programatora, koga će mo opisati malo kasnije.

  • Da bi konfigurisali Tajmer/Brojač 2 kao generator takta, bit (T2CON.1) mora biti obrisan i bit T2OE (T2MOD.1) mora biti postavljen. Frekvencija izlaznog takta se računa po obrascu


4 asembler1

4. Asembler

  • Name DAC

  • Program segment code

  • // Definisali smo konstante koje kasnije koristimo za programiranje sekvenci (komande koje zadajemo)

  • uspon equ 1

  • mirno equ 2

  • dole equ 3

  • nanulu equ 4

  • pocetak equ 5

  • settimer equ 6

  • cseg at 002BH // Naredba se pozicionira na toj memorijskoj lokaciji (lokacija na koju se postavlja registar programskog brojača kad se javi prekid Tajmera 2), memorijska lokacija koja se odnosi na fleš memoriju

  • jmp Timer_2

  • Potprogram koji definiše prekide kod tajmera 2

  • Timer_2: CLR TF2 // briše marker za prekid


4 asembler2

4. Asembler

  • Generisanje signala za LE kod D-leča

  • SETB P2.0 // Postavlja bit0 na portu P2.0

  • CLR P2.0 // Odmah se zatim briše bit0 na portu P2.0

  • Dekrementira i skače ako nije R2=0 (R2 je pomoćni registar i on odbrojava dužinu sekvence)

  • DJNZ R2,S0 // Registar R2 određuje dužinu trajanja deonice u okviru zadate sekvence

  • Ako je kraj sekvence (R2=0) pozivamo potprogram nova_deonica

  • CALL NOVA_DEONICA // Kada je R2=0 poziva se čitanje nove deonice

  • RETI // Povratak iz prekida

  • Nešto nalik case strukturi (u odnosu na R1) kojom se određuje koja je deonica trenutno aktivirana

  • S0: CJNE R1,#USPON, S1 // Skoči ako nije jednako

  • CALL PP1 // Ako jeste izvrši PP1 (potprogram)

  • S1: CJNE R1,#MIRNO, S2

  • CALL PP2

  • S2: CJNE R1,#DOLE, S3

  • CALL PP3

  • S3: CJNE R1,#NANULU, S4

  • CALL PP4

  • S4: CJNE R1,#POCETAK, S5

  • CALL PP5

  • S5: CJNE R1,#SETTIMER RET_I

  • CALL SET_TIMER

  • RET_I: RETI // Završavamo case strukturu i vraćamo se iz prekida

  • Posle ispitivanja R1 registra izvršava se neki od sledećih potprograma

  • PP1: INC P1 // PP1 rastući

  • RET

  • PP2: RET // PP2 mirno

  • PP3: DEC P1 // PP3 opadajući

  • RET

  • Dodeljuje portu P1 nulu, vraća ga na nulu

  • PP4: MOV P1,#0 // PP4 vrati na 0

  • MOV R2,#1

  • RET

  • Pošto R0 registar koristimo kao indeksni registar u PP5 vraćamo na početnu lokaciju u memoriju u koju je upisana sekvenca koja se izvršava

  • PP5: MOV R0,#020H // PP5 na sekvenca od početka

  • MOV R2,#1

  • RET


4 asembler3

4. Asembler

  • Potprogram kojim podešavamo trajanje Tajmera 2 tako što u capture registrima upisujemo vrednost od koje Tajmer 2 broji (to smo izračunali iz jednačine gore)

  • Podešavanje Tajmera 2

  • SET_TIMER: MOV RCAP2H,@R0 // Iz memorijske lokacije na koju ukazuje registar R0 (indirektno adresiranje)

  • INC R0 // Pređi na sledeću memorijsku lokaciju

  • MOV RCAP2L,@R0

  • INC R0

  • MOV R2,#1

  • RET // Vrati se iz potprograma

  • Potprogram koji iščitava podatke o nova_deonica (šta treba sledeće da uradi)

  • nova_deonica: MOV A,@R0 // Isčitavanje parametara za novu deonicu

  • MOV R1,A // R1 dobija vrednost iz memorijske lokacije R0

  • U registru R1 se smešta kod stanja sekvence tj. da li je uspon, mirno, opada, vraća na nulu, vrati na početak sekvence ili podesi trajanje Tajmera 2

  • INC R0 // Registar R0 služi kao indeksni registatr za čitanje zadate sekvence iz RAM-a

  • Ako je u R1 upisano uspon, mirno ili opada tada treba da se pročita još jedan parametar koji odrežđuje trajanje trajanje stanja, zato služi sledeća case struktura kojom se ispituje da li je u R1 upisano jedno od ovih tri stanja, ako jeste onda se vrši čitanje parametara u sledeće memorijske lokacije, ako nije završava se potprogram

  • CJNE R1,#USPON , SD1 // Struktura kojom ispitujemo da li je potrebno isčitati drugi parametar

  • JMP READ_SP // Ako je sekvenca uspon, mirno, dole onda je potrebno pročitati drugi parametar

  • SD1: CJNE R1,#MIRNO, SD2

  • JMP READ_SP

  • SD2: CJNE R1,#DOLE, RET_ND // Ako nije jedna od tri gore navedene sekvence onda nema drugog parametra pa treba preskočiti njegovo čitanje

  • READ_SP: MOV A,@R0

  • MOV R2,A

  • INC R0

  • RET_ND: RET

  • Sledeći potprogram služi za unošenje sekvence

  • START_V: MOV R0,#020h // U R0 se smešta početna lokacija na kojoj se u RAM-u smešta sekvenca

  • MOV R2,#1 // U R2 se nalazi brojač u ovom slučaju treba da se izrši samo jedna prekidna rutina


4 asembler4

4. Asembler

  • Programiranje sekvence koja se izvršava

  • MOV @R0,#SETTIMER // Postavimo vrednost Tajmera

  • INC R0 // Pređi na sledeću mem lokaciju

  • MOV @R0,#0FFH // Prvi parametar za viši registar Tajmera 2

  • INC R0 // Pređi na sledeću mem lokaciju

  • MOV @R0,#0F0H // Drugi parametar za niži registar Tajmera 2

  • INC R0

  • MOV @R0,#USPON

  • INC R0

  • MOV @R0,#15 // Uspon traje 15 vremenskih intervala INC R0

  • mov @R0,#MIRNO

  • INC R0

  • MOV @R0,#10 // Mirno traje 10 vremenskih intervala

  • INC R0

  • MOV @R0,#DOLE

  • INC R0

  • MOV @R0,#12

  • INC R0

  • MOV @R0,#NANULU // Traje jedan vremenski interval

  • INC R0

  • MOV @R0,#pocetak

  • MOV R0,#020H

  • RET

  • Potprogram za inicijalizaciju Tajmera 2, upisujemo početne vrednosti u registre Tajmera 2

  • Init_timer: MOV TH2,#0FEH

  • MOV TL2,#0EBH

  • MOV RCAP2H,#0FEH

  • MOV RCAP2L,#0EBH

  • SETB ET2 // Omogućava prekide Tajmera 2

  • SETB eEA // Omogućava sve prekide

  • SETB TR2 // Start brojača Tajmera 2

  • RET

  • RSEG PROGRAM // segment glavnog programa startuje od nulte memorijske lokacije u memoriji za program (fleš memoriju)


4 asembler5

4. Asembler

  • U glavnom programu inicajalizuje se Tajmer 2, postavljaju se početne vrednosti na portovima i upisuje se u RAM memoriju sekvence (poziva se potprogram koji upisuje sekvencu u RAM memoriju), zatim ulazi u beskonačnu petlju i čeka prekid Tajmera 2.

  • MAIN: CALL INIT_TIMER

  • CLR P2.0 // Brisanje bita 0 porta P2

  • MOV P1,#0 // Postavi port P1 u 00000000

  • CALL START_V // Programiranje sekvencu

  • JMP $ // Vrti se u beskonačnu petlju

  • END


4 programiranje programatorom mec unp2

4. Programiranje programatorom MEC UNP2

  • Generalni opis UNP2 :

  • Mali, mocni i brzi univerzalni programator.

  • DIL40 ZIF adapter ,uređaji u DIL paketu do 40 pina su podržani bez adaptera.

  • Konekcija sa PC paralelni port .

  • Visoko brzinski IEEE 1284 izlazni port sa brzinom od 1Mb/s .

  • Lak za korišcenje u DOC i Windows 95/98/Me/NT/200/XP

  • Adapter za napajanje i softver su sastavni delovi paketa.


4 programiranje programatorom mec unp21

4. Programiranje programatorom MEC UNP2

  • To je uređaj koji služi za programiranje ražličitih tipova čipova ,tako što već gotov heksadecimalni fajl koji smo dobili u keil-u (asembler) učitava u čip.


4 programiranje programatorom mec unp22

4. Programiranje programatorom MEC UNP2

  • Početni korisnički ekran izgleda ovako:


4 programiranje programatorom mec unp23

4. Programiranje programatorom MEC UNP2


4 programiranje programatorom mec unp24

4. Programiranje programatorom MEC UNP2


4 programiranje programatorom mec unp25

4. Programiranje programatorom MEC UNP2


  • Login