Mikroprocesorski sistemi


1. a) Nacrtati elektri~nu {emu kontrolera na bazi mikroprocesora 8086 u minimalnom re`imu rada sa minimalnim potrebnim brojem memorijskih komponenata (EPROM 27C64, stati~ki RAM 6264) kao i ulaznim i izlaznim portom (sa 74HC373) i sinhronizacionim flip-flopovima (74HC74) na adresi 1000h u ulazno-izlaznom adresnom prostoru. Nacrtati i objasniti vremenske dijagrame realizovane sinhronizacije ulaza i izlaza. Adresni dekoder se realizuje kao jedna PAL komponenta.

b) Za projektovani kontroler napisati inicijalizacioni deo glavnog programa koji postavlja vrednosti za deljenje nulom i NMI u tabeli vektora prekida. Imena prekidnih rutina su: RDIV0 i RNMI.

2. a) Na sistem iz zadatka 1 dodati kontroler prekida 8259A na adresi 1010h. Napisati izraz prekida~ke funkcije za selekciju koja se realizuje u PAL-u. b) Napisati inicijalizacioni podprogram INIT59, koji omogu}ava vezivanje tajmera 8254 (koji radi u modu 0) na IR3 i serijskog spre`nog kola na ulaz IR4. Tipove prekida odabrati van opsega rezervisanog za Intel.

3. Na sistem iz prethodnih zadataka dodati komponentu tajmer 8254 sa po~etnom adresom (po izboru) iz opsega 1020h do 102Fh. Definisati izraz za funkciju selekcije.

b) Napisati inicijalizacioni podprogram INIT54, koji postavlja vrednost prekidnog vektora,tajmer 0 postavlja u re`im u kome generi{e prijemni i predajni takt za serijski prenos pri brzini 9600 Bd i faktoru internog deljenja 16 u 8251. Tajmer 1 treba da se koristi u re`imu 0 za generisanje prekida realnog vremena svakih 10ms preko IR3 priklju~ka na 8259A. Napisati prekidnu rutinu TINT, koja samo inkrementira sadr`aj 32bitne lokacije SAT.

4. Na sistem iz prethodnih zadataka dodati komponentu asinhroni serijski podsistem baziran na 8251A sa nivoima napona prema RS232C standardu na prijemnoj i predajnoj liniji. Selekciona adresa komponente je u opsegu 1030h do 103fh. Prenos podataka sa njim se obavlja preko linija D8-D15. Prijem i predaja se obavljaju kori{}enjem prekida preko IR4 priklju~ka na 8259A. Napisati podprogram za inicijalizaciju init51, 8251A za asinhroni prenos brzinom 9600 Bd, bez kori{}enja parnosti. Napisati podprogram SOUT, koji inicijalizuje slanje povorke ASCII znaka ~ija se po~etna adresa prenosi preko magacinske memorije. Napisati prekidni podprogram SINT, koji {alje podatke do "null" znaka (00h). Obave{tavanje glavnog programa o zavr{etku posla se obavlja postavljanjem vrednosti bajtovske lokacije EOM na vrednost razli~itu od 0.


Gore
Glavna