Upload
ilija-arsovski
View
41
Download
1
Embed Size (px)
Citation preview
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 1/9
1
Задачи по Микропроцесори
-I дел-
1. Секој 30ms од изолирана порта со адреса 0Ah се читаподаток. Ако битовите 2 и 5 се 1 и 0 соодветно на меморискапресликана порта на адреса F00Ah се испраќа прочитаниотподаток поделен со 2, инаку се испраќа прочитаниот податокпомножен со 7. Фреквенцијата на кристалот на осцилаторот е5MHz.
If bit 2,5==1,0If bit 2,5==1,0If bit 2,5==1,0If bit 2,5==1,0F00AhF00AhF00AhF00Ah Data/2Data/2Data/2Data/2
ElseElseElseElse F00AhF00AhF00AhF00Ah Data*7Data*7Data*7Data*7
Решение:
fosc=5MHzTosc=0,2 µsec ;Периодата е 1/f. Работната периода е 2 пати поголема. Ts=2ToscTs=0,4µsec
DOCNI_1: MVI D,178d ;14 циклуси x 0,4 = 5,6 микросекунди x 178= 1ms
DOCNI: DCR D ;4 циклуси JNZ DOCNI ;10 циклуси RET
DOCNI_30: MVI E,30d ; 30 пати по 1 ms = 30 ms DOCNI_1: MVI D,178d ; јамка за 1ms
DOCNI: DCR DJNZ DOCNIDCR EJNZ DOCNI_1RET
START: CALL DOCNI_30 ;доцнење од 30 ms IN VLEZNA ;се вчитува податокот од I/O уред на адреса OAh MOV B,AANI 00100000b ;се проверува 5-тиот дали е 0 JNZ MNOZI_SO_7 ;доколку резултатот не е нула се скока на
mnozi_so_7 MOV A,BORI 11111011b ;се проверува дали битот 2 е единица CPI FFh ;ACC се споредува со FFh
JNZ MNOZI_SO_7 ;доколку не е 0 се скока на mnozi_so_7
DELI_SO_2: MOV A,B ; исполнети се двата услови
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 2/9
2
RRC ; ACC се дели со 2 STA IZLEZNA ;резултатот се запишува на Mm порта JMP START ;безусловен скок на почеток
MNOZI_SO_7:MVI C,7d ;множењето е реализирано со собирање MVI A,0
PAK: ADD BDCR CJNZ PAKSTA IZLEZNA ;резултатот се запишува на F00Ah JMP STARTEND
VLEZNA EQU OAhIZLEZNA EQU F00Ah
2. Да се иницијализира компонентата 8155/56 така да RAM-отзафаќа простор 4800h–48FFh. Портата А да се иницијализиракако стробирана влезна порта, а B како обична излезна.Тајмерот брои поворка од кратки импулси со T = 1ms.(f=4MHZ).
РЕШЕНИЕ:
А15 А14 А13 А12 А1132к 16к 8к 4к 2к
0 1 0 0 1
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 3/9
3
CSR 01001 000PA 01001 001PB 01001 010PC 01001 011TLSB 01001 100TMSB 01001 101
T=0,25 microsec, Ts = 0,5 microsec; 1 ms = 2000 * 0,5 microsec; 2000 = 7*256+208
TMSB 11000111TLSB 11010000CSR 11010110
MVI A, 208d CSR EQV 01001000OUT TLSB TMSB EQV 01001101MVI A, 199d TLSB EQV 01001100OUT TMSBMVI A, D6h
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 4/9
4
OUT CSREND
3.
Да се проектира решение за раскрсница со помош насемафори, да се предложи минимално хардверско решение(како име на компонента).
РЕШЕНИЕ:
Ц Ж З Ц Ж З Ц Ц
0 0 1 1 0 0 1 0 1 мин0 1 0 1 0 0 1 1 3 сек1 0 0 1 1 0 1 1 3 сек1 0 0 0 0 1 0 1 1 мин1 0 0 0 1 0 1 1 3 сек1 1 0 1 0 0 1 1 3 сек0 0 1 1 0 0 1 0
Доволен е ROM 8355
START MVI H,LIGHTMVI L, LOC ;можеше и LXI H, LIGHT LOCMOV A,M ; се вчитува првата локација од ROM
OUT PORTA ; се праќа на соодветна I/O порта
CALL DOCNI_1MIN ;се повикува процедура за доцнење од 1 минута
INX H ; зголеми го HL парот за 1 (наредна локација)
MOV A,M ; се вчитува втората локација од ROM
OUT PORTA ; се праќа на соодветна I/O порта
CALL DOCNI_3SEC ;се повикува процедура за доцнење од 3 секунди
S1S2
P1
P2
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 5/9
5
--MOV A,M ; се вчитува првата локација од ROM
OUT PORTA ; се праќа на соодветна I/O порта
CALL DOCNI_3SEC ;се повикува процедура за доцнење од 3 секунди
JMP START ;на почеток на првобитната состојба на семафорот
END
4. Да се напише еквивалентна асемблерска програма насоодветната C програма:
void main()
{
const int = 30;
int x[50], y[50], z[50];
for (int i=1; i<=N; i++)
{
z[i]=10;
x[i]=4*y[i];
}
}
РЕШЕНИЕ:
ADRX DS 50 ;декларација на поле ADRX со 50 елементи ADRZ DS 50 ;декларација на поле ADRZ со 50 елементи ADRY DS 50 ;декларација на поле ADRY со 50 елементи
N DS 1 ;дефинирање на еднобајтна променлива N MVI A,30d ;Иницијализација на N на 30 STA NLXI B,ADRZ ;BC регистарскиот пар се полни со адресата на ADRZ LXI D,ADRY ;DE регистарскиот пар се полни со адресата на ADRY LXI H,ADRX ;HL регистарскиот пар се полни со адресата на ADRX
VRTI: MVI A,10dSTAX B ;се сместува 10 како елемент на полето ADRZ (индиректно преку BC) LDAX D ;во ACC се вчитува елементот од ADRY полето (индиректно преку DE)
RLC ; множење со 4 RLCMOV M,A ;тоа што е во ACC се сместува во полето ADRX (индиректно преку HL) INX B ;BC покажува на наредниот елемент од полето ADRZ
INX D ;DE покажува на наредниот елемент од полето ADRY INX H ;HL покажува на наредниот елемент од полето ADRX LDA NDCR A ;намали го бројачот за 1. STA N
JNZ VRTI ;се додека бројачот е различен од 0.
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 6/9
6
5. Два уреди за најава на комуникација со µP користат истапрекидна линија. Да се нацрта компјутерска реализација наовој систем при што едниот уред е надреден MASTER во односна другиот.
РЕШЕНИЕ:
6.
Да се прикаже потребното хардверско поврзување кое ќеовозможи при појава на прекин на линијата INTR на µP 8085да се генерира прекин од тип RST 7.
РЕШЕНИЕ:
1 1 1 n n n 1 1
7. Од изолирана порта на адреса 0Ah се чита низа на податоци ина локација SUMA_PAR се сместува вкупниот број на парниброеви. За време на работата може да се појави прекин одповисок приоритет која на локација SUMA_PAR додава 3. Да
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 7/9
7
се нацрта хардверско поврзување и напише соодветнаасемблерска програма.
2Ch: CALL PRIMI_DATA 34h:CALL DOJDE_POVISOK
RET RET
RST 5.5 RST 6.5
8. За регулирање на гужва во услужна установа е проектирансистем каде шалтерски работник со притискање на тастер јанајавува својата расположливост, а на дисплеј чија природае небитна се прикажува бројот на шалтерот и бројот накорисникот кој е на ред. Во установата има два шалтера.Корисниците броевите ги добиваат на влез и во еден деннема повеќе од 255 корисника. Да се нацрта минимално
хардверско поврзување и да се напише соодветна
асемблерска програма базирана на µP 8085A.РЕШЕНИЕ:
Иницијализација
Главна програма
END
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 8/9
8
MVI A.0 ;реден број на корисникот STA RDN_BRMVI E,255d
VRTI: MOV A,E ;јамка за 255 корисника ANI FFhJNZ VRTI ;сите интерапти се случуваат тука HLT ;крај на програмата END
RDN_BR DS 1 ;променлива каде се чува редниот број на корисникот
;има само 4B меморија наменета за интерапт рутините (премалку), па затоа повикувамепроцедура (CALL=3B, RET=1B)
2Ch: CALL SERVIS_55 ;на адреса 2Ch, наменета за RST 5.5 RET
34h: CALL SERVIS_65 ;на адреса 34h, наменета за RST 6.5 RET
SERVIS_55: MVI A,1 ;на дисплеј се испишува бројот на шалтер OUT 01hLDA RDN_BR ;се вчитува редниот број на корисникот
7/17/2019 04_zadaci_I_del
http://slidepdf.com/reader/full/04zadaciidel 9/9
9
INR A ;се зголемува за 1, се запишува восоодветната мемориска локација и се испишува на втоориот дисплеј
STA RDN_BROUT 02hDCR E ;еден корисник помалку RET
SERVIS_65: MVI A,2d ;на дисплеј се испишува бројот на шалтер OUT 01hLDA RDN_BR ;се вчитува редниот број на корисникот
INR A ;се зголемува за 1, се запишува восоодветната мемориска локација и се испишува на втоориот дисплеј
STA RDN_BR
OUT 02hDCR E ;еден корисник помалку RET