1 / 26

MIKROPROCESORSKI SISTEMI SEMINARSKI RAD

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. FUNKCISKI GENERATOR PROIZVOLJNIH TALASNIH OBLIKA • BLOK DIJAGRAM FUNCISKOG GENERATORA PROIZVOLJNIH TALASNIH OBLIKA:

  4. FUNKCISKI GENERATOR PROIZVOLJNIH TALASNIH OBLIKA

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

  6. 2. D- leč sa D/A konvertorom realizovanim sa 2R-R vezom • TIP KUČIŠTA: DIP 20PIN

  7. 2. D- leč sa D/A konvertorom realizovanim sa 2R-R vezom RASPORED PINOVA: Sistemski dijagram D-leča:

  8. 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:

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

  10. 2.1 D/A konvertor realizovan mrežom 2R-R : • Lestvičasta otporna mreža sa n bita:

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

  12. 3. Opis i analiza mikrokontrolera AT 89S8253 • Blok dijagram AT89S53 jezgra:

  13. 3. Opis i analiza mikrokontrolera AT 89S8253 • Detaljnastrukturamikrokontrolera AT89S53:

  14. 3. Opis i analiza mikrokontrolera AT 89S8253 • Opis pinova:

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

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

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

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

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

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

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

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

  23. 4. Programiranje programatorom MEC UNP2 • Početni korisnički ekran izgleda ovako:

  24. 4. Programiranje programatorom MEC UNP2

  25. 4. Programiranje programatorom MEC UNP2

  26. 4. Programiranje programatorom MEC UNP2

More Related