mikroprocesorski sistemi seminarski rad
Download
Skip this Video
Download Presentation
MIKROPROCESORSKI SISTEMI SEMINARSKI RAD

Loading in 2 Seconds...

play fullscreen
1 / 26

MIKROPROCESORSKI SISTEMI SEMINARSKI RAD - PowerPoint PPT Presentation


  • 95 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'MIKROPROCESORSKI SISTEMI SEMINARSKI RAD' - hayden-dodson


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

slide2
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:
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 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 89s82532
3. Opis i analiza mikrokontrolera AT 89S8253
  • Detaljnastrukturamikrokontrolera AT89S53:
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:
ad