Коммерциялық емес акционерлік қоғам
АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТЕТІ
Электроника кафедрасы
ЦИФРЛЫҚ ҚҰРЫЛҒЫЛАР ЖӘНЕ МИКРОПРОЦЕССОРЛАР
5В071900 – Радиотехника, электроника және телекоммуникация мамандығындағының барлық оқу түріндегі студенттер үшін зертханалық жұмыстарға арналған әдістемелік нұсқаулар
Алматы 2010
ҚҰРАСТЫРУШЫЛАР: С.Н.Петрищенко, Г.Д., Мусапирова. Цифрлық құрылғылар және микропроцессорлар. 5В071900 – Радиотехника, электроника және телекоммуникация мамандығындағының барлық оқу түріндегі студенттер үшін зертханалық жұмыстарға арналған әдістемелік нұсқаулар. - Алматы: АЭжБУ, 2010. – 20 б.
Әдістемелік нұсқауда i8085 8-разрядты микропроцессорінің ассемблер тілінде бағдарламалаудың негіздері бойынша төрт зертханлық жұмысқа тапсырмалар келтірілген. Мәліметтерді өңдеу мен орындау әдісі, әдебиеттер тізімі мен бақылау сұрақтары берілген. Методикалық нұсқаулар 5В071900 – Радиотехника, электроника және телекоммуникация мамандығындағының барлық оқу түріндегі студенттерге арналған.
1 Зертханалық жұмыс
Intel 8085 микропроцессоры негізінде микрокомпьютерді оқып үйрену
Жұмыстың мақсаты:
- ЕВ-151 платасында орналасқан микрокомпьютер компоненттерінің жұмысымен танысу және оқып үйрену;
- микрокомпьютермен жұмыс істеу тәжірибелерін алу.
1.1 Жұмыстың орындалу тәртібі
1.1.1 ЕВ-151 платасындағы негізгі компоненттерді бөле отырып 1.1 суретіндегі сұлбаны оқып үйреніңіз: i8085микропроцессорі, адрестің (address – latch) триггер-ілмегі, өшірілетін бағдарламалық тұрақты есте сақтау құрылғысы – ӨБТЕСҚ (Erasable – Programmable Read – Only Memory - EPROM), оперативті есте сақтау құрылғысы – ОЕСҚ (Random Access Memory – RAM), дешифратор ( Port Decoder), Енгізу (Input Port) мен Шығару (Output Port) порттары және олардың триггер-ілмектері (Input Latch, Output Latch), сондай-ақ адрестік шина (ADDRESS BAS) мен екібағытты мәліметтер шинасы (DATA BUS).
Сұлбада intr (үзіліс), Reset (қайта бастау) және зуммер (Buzzer) кнопкалары бар.
1.1 Сурет
1.1.2 ЕВ-151 платасын жұмыс қалпына келтіру үшін 1.1 суретінде көрсетілгендей байланыстарды қосу керек.
1.1.3 ЕВ-151 платасында керекті бағдарламаны іске қосу үшін келесіні орындау керек:
а) D6-D0 енгізу портындағы айырып-қосқыштарда керекті бағдарламаның нөмірін екілік кодта орнатыңыз;
б) D7 айырып-қосқышын «1» жағдайына қойыңыз;
в) RESET кнопкасын басыңыз;
г) D7 айырып-қосқышын қайта «0» жағдайына орнатыңыз.
1.1.4 1.1.3 пунктіне сәйкесті №1 бағдарламасын іске қосыңыз (коды 0000001). Бұндай қосу 0 Енгізу портының D7-D0 айырып-қосқыштарының жағдайын 0 Шығару портындағы светодиодтарда қайталап көрсетеді. Оны D7-D0 айырып-қосқыштарының бірнешеуін өзгертіп көріп тексеріңіз.
1.1.5 Кері кодты алу үшін 1.1.3 пунктіне сәйкесті 0 Енгізу портының D7-D0 айырып-қосқыштары арқылы 0 Шығару портының D7-D0 светодиодтарында №2 бағдарламасының кодын енгізу керек (коды 0000010) те алынған нәтижені бақылаңыз.
1.1.6 №3 бағдарламасын (коды 00000011) 1.1.3 пунктіне сәйкесті орындаңыз. Бұл бағдарлама 0 Енгізу портындағы айырып-қосқыштардан мәліметтерді оқып, оларды циклдық түрде солға қарай төрт разрядқа ығыстыру мүмкіндінін береді. Бұл экспериментті орындай отырып 1.1 кестесін шығыс мәліметтерімен толтырыңыз.
1.1 Кесте
Кіріс мәліметтері |
Шығыс мәліметтері |
11110000 |
|
00001111 |
|
1.1.7 №4 бағдарламасын (коды 00000100) 1.1.3 пунктіне сәйкесті орындаңыз. Бұл бағдарламаны шешудің блок-схемасы 1.2 суретінде көрсетілгендей логикалық есепті шешеді.
1.2 Сурет
D0 мен D1-дің әртүрлі комбинациялары үшін ақиқат кестесін толтырып берілген функцияны іске асыратын логикалық элементтің түрін анықтаңыз.
1.1.8 №5 бағдарламасын (коды 00000101) 1.1.3 пунктіне сәйкесті орындаңыз. Бұл бағдарлама 1.3 суретінде көрсетілген блок-сұлбаға сәйкесті арифметикалық есептерді шығарады.
1.3 Сурет
Келесі сандарды арифметикалық қосып нәтижесін жазыңыз.
а) 1111 + 1001 = ;
б) 0101 + 1011 = ;
в) 1101 + 1101 = ;
г) 0011 + 1000 = .
1.1.9 №6 бағдарламасын (коды 00000110) 1.1.3 пунктіне сәйкесті орындаңыз. Бұл бағдарлама 1.4 суретіндегі блок-сұлбаға сәйкесті үзілісті өңдеуді іске асырады.
1.4 Сурет
1.4 суретінен екілік санағыш екілік импульстер сериясын 1 Шығару портына жіберетіні көрініп тұр. Сонымен қатар үзіліс жасау кнопкасы арқылы санағыштың жұмысын 2 секундқа тоқтатуға болады.
Мұғалімнің нұсқауы бойынша 0 Енгізу портының айырып-қосқыштарын 1.2 кестесіне сәйкесті жағдайлардың біреуіне орнатыңыз. Сіз үзіліс жасау кнопкасын басқаннан кейін мәліметтер 2 секундтан кейін 2 Шығару портына жіберілетініне көз жеткізіңіз.
1.2 Кесте
Эксперимент № |
Кірістегі мәліметтер 7654*3210 |
Шығыстағы мәліметтер 7654*3210 |
1 |
1010*1010 |
1010*1010 |
2 |
0101*0101 |
0101*0101 |
3 |
1100*1100 |
1100*1100 |
4 |
0011*0011 |
0011*0011 |
1.1.10 №7 бағдарламасын (коды 00000111) 1.1.3 пунктіне сәйкесті орындаңыз. Бұл бағдарлама 0 Енгізу портының айрып-қосқыштарының жағдайын оқып сол екілік сигналды 1.3 кестесіне сәйкесті тоналдық дыбыс сигналын жасауға қолданады.
1.3 Кесте
Эксперимент № |
Кірістегі мәліметтер |
Период, мкс |
Жиілік, кГц |
1 |
00000000 |
123 |
8,13 |
2 |
00000001 |
123 |
8,13 |
3 |
00000011 |
170 |
5,88 |
4 |
00000111 |
270 |
3,7 |
5 |
00001111 |
465 |
2,15 |
6 |
00011111 |
840 |
1,19 |
7 |
00111111 |
1600 |
0,6 |
8 |
01111111 |
3050 |
0,3 |
9 |
11111111 |
6300 |
0,2 |
Айырып-қосқыштарды 1.3 кестесінде көрсетілгендей қойып әртүрлі тоналды сигналдар болатынын байқаңыз.
1.1.11 №8 бағдарламасын (коды 00001000) 1.1.3 пунктіне сәйкесті орындаңыз. Бұл бағдарлама 0 Енгізу портының айырып-қосқыштарының жағдайын оқып 1.5 суретінде көрсетілгендей үш үзілісті алғаннан кейін дыбыс шығару құрылғысына (зуммерге) жібереді.
Айырып-қосқыштардың кез келген комбинациясын таңдаңыз. Үзіліс жасау кнопкасын басыңыз. Айырып-қосқыштардың екінші комбинациясын таңдаңыз. Үзіліс жасау кнопкасын басыңыз. Айырып-қосқыштардың үшінші комбинациясын таңдаңыз. Үзіліс жасау кнопкасын басыңыз. Енді сіздің үш тоннан жасалған милодияңыз естілу керек.
Қателер болмау үшін үзіліс жасау кнопкасын басқанда бір секундтан артық ұстаңыз. Сондай-ақ әр кнопканы Шығару кезіде портының мәніне мұқият қараңыз.
Айырып-қосқыштардың басқа да жағдайлары үшін осыны қайталаңыз.
1.5 Сурет
1.2 Бақылау сұрақтары
1.2.1 Мәліметтер мен адрестер шинасында қанша біріктіру сымдары бар?
1.2.2 Адрестік шина қанша адрес таңдай алады?
1.2.3 Ішкі мен сыртқы жадылар арасында қандай айырмашылық бар?
1.2.4 Микропроцессор қандай негізгі қызметтерді орындайды?
1.2.5 Микрокомпьютер қандай негізгі бөліктерден тұрады?
1.2.6 Енгізу порты қандай құрылғылармен байланысқан: жадымен, орталық процессормен, шығару портымен?
1.2.7 Шығару порты қандай құрылғылармен байланысқан: жадымен, орталық процессормен, енгізу портымен, шығару құрылғыларымен (цифро-аналогты түрлендіргіш, светодиодтар және реле?
1.2.8 Енгізу порты 3 портындай жұмыс істеу үшін не істеу керек?
1.2.9 Үш жағдайлы ТТЛ логикалық сұлбасының шығыстарына қашан қосылуға болады?
2 Зертханалық жұмыс
ЕВ-152 платасымен танысу. Микрокомпьютерде қарапайым бағдарламаларды орындау
Жұмыстың мақсаты:
- ЕВ-152 платасын ЕВ-151 платасына қосуды үйрену;
- i8085 микропроцессорінің регистрлері мен жады ұяшықтарын қарап, оның ішіндегіні өзгертуді үйрену;
- ЕВ-151 микрокомпьютерінде қарапайым бағдарламаларды орындау.
2.1 Жұмыстың орындалу тәртібі
2.1.1 Ұзын сымдарды қолданып ЕВ-152 платасын келесдей реттілікпен қосыңыз:
a) +12 V. EB-152 - +12 V. PU-2000;
b) + 5 V. EB-152 - + 5 V. PU-2000;
c) -12 V. EB-152 - -12 V. PU-2000;
d) GND EB-152 - Ground PU-2000;
e) Sig.ANAL/KB+DISP (S1) айырып-қосқышын KB+DISP жағдайына орнатыңыз;
f) EB-152-нің TX клеммасын EB-151-дің RX клеммасымен қосыңыз;
g) EB-152-нің RX клеммасын EB-151-дің TX клеммасымен қосыңыз.
2.1.2 ЕВ-152 платасының дисплейі EbHt-ні көрсету керек.
2.1.3 ЕВ-151 платасындағы Reset кнопкасын бір сәтке басып қайта жіберіңіз. Егер барлығы дұрыс жұмыс жасаса ЕВ-152 платасының дисплейі Eb-151 жазуын көрсету керек.
2.1.4 Көлемі 8 Кбайт ТЕСҚ-ға (тұрақты есте сақтау құрылғысы) кіретін басқару бағдарламасының бірнеше адресін қарап шығыңыз. Ол үшін МЕМ пернесін басып, мысалға 1000Н адресін енгізіңіз. ENTER пренесін басқаннан кейін адрестің сол жағында 0ЕН ұяшығының мазмұны көрінеді. ENTER пернесін қайталап басқанда келесі 1001Н адрес ұяшығының мазмұны пайда болады және солай жалғаса береді. 2.1 кестесінде келтірілген адрестері басқарушы жадысына рұқсат етілген диапазонда (0000Н-1FFFH) жатқан бірнеше ұяшықтарды қарап оларды жазыңыз.
2.1 Кесте
Жады ұяшықтарының адресі |
|||||||||
0889H |
088AH |
088BH |
088CH |
088DH |
1F27H |
0988H |
0B24H |
018CH |
009CH |
2.1.5 5 кестесінде көрсетілген адрестер мен берілгендерді ОЕСҚ (диапазоны 2100Н-27FFH адрестерінде жатқан оперативті есте сақтау құрылғысы) жады ұяшықтарына жазыңыз. Ол үшін МЕМ пернесін басып керекті адресті енгізіңізгеннен кейін ENTER-ді басып мәліметтерді енгізіңіз. ENTER-ді басып келесі адрес пен мәліметтерді енгізіңіз т.с.с.
2.2 Кесте
Адрес |
2100Н |
2101Н |
2102Н |
2103Н |
2104Н |
21005Н |
Мәліметтер |
AA |
AB |
AC |
AD |
AE |
AF |
ОЕСҚ-ға мәліметтерді енгізгеннен кейін ол ұяшықтарды жоғарыда көрсетілгендей алгоритммен қарап шығыңыз.
2.1.6 2.3 кестесінде келтірілген бағдарламаны жазыңыз, ол үшін келесіні орындаңыз:
a) ЕВ-151 платасындағы RESET пернесін басыңыз;
b) ЕВ-152 платасындағы MEM пернесін басыңыз;
c) 2100Н адресін енгізіңіз;
d) ENTER перенсін басыңыз.
2.3 Кесте
Адрес |
Машиналық код |
Мнемокод |
2100 |
3F |
MVI A, FFH |
2101 |
FF |
|
2102 |
FF |
RST 7 |
Бағдарлама орындалу үшін GO пернесін басып бағдарлама басталған адресті енгізіңіз. ENTER-ді басыңыз.
2102Н адресіндегі FFH бұйрығы бақылау нүктесі болып табылады. Бұл нұсқау бағдарламаны тоқтатып bP 2103H-ді көрсетеді. Бұл адрес бағдарламалық санағыш деп аталатын регистр мазмұны болып табылады.
А регистріне жазылған FFH санын REG және 1 пернелерін басу арқылы көруге болады.
2.1.7 2.1.6 пункт алгоритмі бойынша 2.4 кестесінде келтірілген бағдарламаны жазыңыз. Бұл бағдарлама санның кері кодын есептеп есептеу нәтижесін есте сақтайды
2.4 Кесте
Адрес |
Машкод |
Мнемокод |
Операнд |
Түсініктеме |
2100Н |
3AH |
LDA |
2130H |
2130Н адресінен мәліметтерді жүктеу |
2101Н |
30H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
2FH |
CMA |
|
Санның кері коды |
2104Н |
32H |
STA |
2131H |
2131Н адресі бойынша сақтау |
2105Н |
31H |
|
|
|
2106Н |
21H |
|
|
|
2107Н |
FFH |
RST7 |
|
Басқарушы бағдарламаға қайта оралу |
Бастапқы мәліметтер 2.5 кестесіне сәйкес енгізіледі. Алынған нәтижелерді анықтап белгілеңіз.
2.5 Кесте
2130Н |
00Н |
3EH |
C9H |
FAH |
1EH |
2131Н |
|
|
|
|
|
2.1.8 2.5 кестесіндегі бастапқы мәліметтерді қолданып 2.6 кестесінде келтірілген бағдарламаны енгізіп орындаңыз.
2.6 Кесте
Адрес |
Машкод |
Мнемокод |
Операнд |
Түсініктеме |
2100Н |
21AH |
LXI H |
2130 |
2130Н адресінен мәліметтерді жүктеу |
2101Н |
30H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
7FH |
MOV A,M |
|
Мәліметтерді оқу |
2104Н |
2FH |
CMA |
|
Санның кері коды |
2105Н |
23H |
INX H |
|
HL-дегі санды 1-ге өсіру |
2106Н |
77H |
MOV M,A |
|
Мәліметтерді сақтау |
2107Н |
FFH |
RST7 |
|
Басқарушы бағдарламаға қайта оралу |
2.1.9 2.8 кестесіндегі бастапқы мәліметтер мен 2.7 кестесіндегі бағдарлама бойынша екі санды қосуды орындаңыз.
2.7 Кесте
Адрес |
Машкод |
Мнемокод |
Операнд |
Түсініктеме |
2100Н |
21AH |
LXI H |
2130H |
|
2101Н |
30H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
7EH |
MOV A,M |
|
Бірінші санды оқу |
2104Н |
23H |
INX H |
|
|
2105Н |
86H |
ADD M |
|
Екінші санды қосу |
2106Н |
23H |
INX H |
|
|
2107Н |
77H |
MOV M,A |
|
Нәтижені сақтау |
2108H |
FFH |
RST 7 |
|
|
2.8 Кесте
2130Н |
32Н |
58H |
B8H |
2131Н |
15H |
43H |
7DH |
2131H |
|
|
|
2.1.10 ANA M логикалық операциясын орындауға арналған 2.9 кестесінде келтірілген бағдарламаны орындаңыз. Бастапқы мәліметтер 2.8 кестесінде берілген.
2.9 Кесте
Адрес |
Машкод |
Мнемокод |
Операнд |
Түсініктеме |
2100Н |
21AH |
LXI H |
2130H |
|
2101Н |
30H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
7EH |
MOV A,M |
|
Бірінші санды оқу |
2104Н |
23H |
INX H |
|
|
2105Н |
A6H |
ANA M |
|
Екінші санмен логикалық қосу |
2106Н |
23H |
INX H |
|
|
2107Н |
77H |
MOV M,A |
|
Нәтижені сақтау |
2108H |
FFH |
RST 7 |
|
|
2.2 Бақылау сұрақтары
2.2.1 MEM пернесінің қызметі қандай?
2.2.2 REG пернесінің қызметі қандай?
2.2.3 RST 7 бұйрығының қызметі қандай?
2.2.4 Микропроцессордің тактілік жиілігі 2 МГц кезіндегі 2.4 кестесінде келтірілген бағдарламаны орындауға керек уақытты есептеңіз. Ол кезде LDA бұйрығы 13 циклдан, CMA бұйрығы 4 циклдан, STA бұйрығы 3 циклдан, RST 7 бұйрығы 12 циклдан тұратыны белгілі.
2.2.5 ANA r, ANA M, ANI data логикалық бұйрықтары әрекетіне түсініктеме беріңіз?
2.2.6 LDA adr, CMA и STA adr бұйрықтары қызметіне түсініктеме беріңіз?
2.2.7 LXI rp, data 16; INX rp және MOV r,M бұйрықтары қызметі мен әрекетіне түсініктеме беріңіз?
2.2.8 ADD r; ADI,data; ADD M; ADC r; ADC M және ADI data арифметикалық қосу бұйрықтары әрекетіне түсініктеме беріңіз?
3 Зертханалық жұмыс
i8085 микропроцессорі арқылы деректер массивін өңдеу
Жұмыстың мақсаты:
- i8085 бұйрықтарын деректер массиві бар бағдарламаларын орындауға қолдану және оларды түсіну.
3.1 Жұмыстың орындалу тәртібі
3.1.1 Ұзын сымдарды қолданып ЕВ-152 платасын келесдей реттілікпен қосыңыз:
a) +12 V. EB-152 - +12 V. PU-2000;
b) + 5 V. EB-152 - + 5 V. PU-2000;
c) -12 V. EB-152 - -12 V. PU-2000;
d) GND EB-152 - Ground PU-2000;
e) Sig.ANAL/KB+DISP (S1) айырып-қосқышын KB+DISP жағдайына орнатыңыз;
f) EB-152-нің TX клеммасын EB-151-дің RX клеммасымен қосыңыз;
g) EB-152-нің RX клеммасын EB-151-дің TX клеммасымен қосыңыз.
3.1.2 ЕВ-152 платасының дисплейі EbHt-ні көрсету керек.
3.1.3 ЕВ-151 платасындағы Reset кнопкасын бір сәтке басып қайта жіберіңіз. Егер барлығы дұрыс жұмыс жасаса, ЕВ-152 платасының дисплейі Eb-151 жазуын көрсету керек.
3.1.4 3.1 кестесінде көрсетілген санау бағдарламасын енгізіңіз. Бұл бағдарлама жетіге дейін санайды да сол санды есте сақтайды.
3.1 Кесте
Адрес |
Машкод |
Мнемокод |
Операнд |
Түсініктеме |
2100Н |
3EH |
MVI A |
00H |
Сумматорды 0-ге түсіру |
2101Н |
00H |
|
|
|
2102Н |
3CH |
INR A |
|
Сумматордың мәнін 1-ге өсіру |
2103Н |
FEH |
CPI |
07H |
Санақ бітуін тексеру |
2104Н |
07H |
|
|
|
2105Н |
FFH |
RST 7 |
|
Үзіліс нүктесі |
2106Н |
CAH |
JZ |
210CH |
Егер сумматор =7 болса өту |
2107Н |
0CH |
|
|
|
2108H |
21H |
|
|
|
2109H |
C3H |
JMP |
2102H |
Операцияны қайталау |
210AH |
02H |
|
|
|
210BH |
21H |
|
|
|
210CH |
32H |
STA |
2115H |
Сумматорды сақтау (7) |
210DH |
15H |
|
|
|
210EH |
21H |
|
|
|
210FH |
FFH |
RST 7 |
|
Бағдарлама соңы |
3.1 кестесінде көрсетілгендей 2105Н адресінде бақылау нүктесі бар, онда бағдарлама тоқтаған кезде жады ұяшықтар мен регистрлер мазмұнын көруге болады.
REG және «1» пернелерін басып аккумулятор мазмұнын көруге болады.
REG және «8» пернелерін басып F белгілер регистрінің мазмұнын көруге болады.
Нөл флагы (алтыншы бит) нөлге тең екеніне көз жеткізіңіз, ол кезде аккумулятор 7-ге тең болмайды.
GO және ENTER пернелерін басыңыз. 2106Н адресі бойынша бағдарламаны қайталау үшін 2109Н адресіне жіберетін JZ (егер нөл болса өту) бұйрығы орналасқан.
Аккумулятор мазмұны 7 болғанға дейін бағдарламаның орындалуын қайталаңыз. Сәйкесті бақылау нүктесінің адресі – 2109Н, ал нәтиже (07) 2115Н ұяшығында сақталады.
3.1.5 3.2 кестесінде 2160Н және 2161Н жады ұяшықтарының мазмұнын кему ретінде орналастыратын бағдарлама көрсетілген, яғни үлкен элементтер алдында жүреді.
3.2 Кесте
Адрес |
Машкод |
Мнемокод |
Операнд |
Түсініктеме |
2100Н |
3AH |
LDA |
2160H |
Бірінші элементті оқу |
2101Н |
60H |
|
|
|
2102Н |
21H |
|
|
|
2103Н |
47H |
MOV B,A |
07H |
Бірінші элементті сақтау |
2104Н |
3AH |
LDA |
2161H |
Екінші элементті сақтау |
2105Н |
61H |
|
|
|
2106Н |
21H |
|
|
|
2107Н |
B8H |
CMP B |
|
Элементтерді салыстыру |
2108H |
00H |
NOP |
|
Бос операция |
2109H |
DAH |
JC |
2113H |
Бағдарламадан шығу |
210AH |
13H |
|
|
|
210BH |
21H |
|
|
|
210CH |
32H |
STA |
2160H |
Массив элементтерін сақтау |
210DH |
60H |
|
|
|
210EH |
21H |
|
|
|
210FН |
78H |
MOV A,B |
00H |
Элементтерді тасымалдау |
2110Н |
32H |
STA |
2161H |
Екінші элементті сақтау |
2111Н |
61H |
|
|
|
2112Н |
21H |
|
|
|
2113Н |
FFH |
RST 7 |
|
ББ-ға оралу |
3.2 кестесінде бағдарлама JC бұйрығын қолдана отырып тасымалдау флагын тестілейтіні көрсетілген. Еске ала кететін жағдай, егер тасымалдау флагы 1 жағдайна орнатылған болса, бағдарлама JC бұйрығымен анықталған адресте бағдарлама қайтадан басталады. Егер тасымалдау флагы 0-ге түсірілген болса, бағдарлама орындалуы кезекті келесі бұйрығынан жалғаса береді. Бұд бұйрықты регистрлерді көру мақсатында RST 7-мен алмастыруға болады.
3.1.6 Массивтің барлық элементтерінің қосындысын есептеу алгоритмін көрсететін 3.1 суретіндегі блок-сұлбаны оқып үйреніңіз.
3.1 Сурет
3.1 суретінде көрсетілген алгоритмді іске асыратын бағдарлама 3.3 кестесінде келтірілген.
3.3 Кесте
Адрес |
Машкод |
Мнемокод |
Операнд |
Түсініктеме |
2100Н |
06H |
MVI B |
05H |
Санағыш = 5 |
2101Н |
05H |
|
|
|
2102Н |
21H |
LXI H |
2160H |
Базалық адресті анықтау |
2103Н |
60H |
|
|
|
2104Н |
21H |
|
|
|
2105Н |
97H |
SUB A |
|
Қосындысын 0-ге түсіру |
2106Н |
86H |
ADD M |
|
Сумма = Сумма + Берілген |
2107Н |
32H |
STA |
2165H |
Берілгенді сақтау |
2108H |
65H |
|
|
|
2109H |
21H |
|
|
|
210AH |
05H |
DCR B |
|
Уменьшение У |
210BH |
97H |
SUB A |
|
Сумматорды түсіру |
3.3 кестесінің аяқталуы
210CH |
B8H |
CMP B |
2160H |
Санақ аяқталуын тексеру |
210DH |
CAH |
JZ |
2117H |
Егер «иә» болса, бағдарламаны аяқтау |
210EH |
17H |
|
|
|
210FН |
21H |
|
|
|
2110Н |
3AH |
LDA |
2165H |
Егер «жоқ» болса, қосындыны есептеу |
2111Н |
65H |
|
|
|
2112Н |
21H |
|
|
|
2113Н |
23H |
INX H |
|
Сілтемені 1-ге өсіру |
2114Н |
C3H |
JMP |
2106H |
|
2115Н |
06H |
|
|
|
2116Н |
21H |
|
|
|
2117Н |
FFH |
RST 7 |
|
ББ-ға оралу |
Бастапқы мәліметтер ретінде 3.4 кестесінде келтірілген мәндерді бастапқы мәліметтер ретінде қолданып, бағдарламаны іске қосыңыз. Есептеулерді орындап, жетпеген мәндерді 3.4 кестесіне енгізіңіз
3.4 Кесте
Адрес |
2160Н |
2161Н |
2162Н |
2163Н |
2164Н |
2165Н |
Берілгендер |
A3H |
11H |
27H |
5BH |
32H |
|
3.2 Бақылау сұрақтары
3.2.1 F регистрінің флагтық биттерін келтіріңіз, олардың қызметін түсіндіріңіз.
3.2.2 JMP adr, JC adr және JZ adr басқару бұйрықтарының әрекетіне түсініктеме беріңіз.
3.2.3 CMP B, NOP, MVI B және SUB A бұйрықтарының әрекеті мен қызметіне түсініктеме беріңіз.
3.2.4 3.2 кестесінде келтірілген бағдарламаның есептеу алгоритмін құрыңыз.
3.2.5 Мәліметтер массивін өңдеу үшін қандай параметрлер керек?
3.2.6 H және L жалпы қолдануға арналған регистрлерінің қызметін көрсетіңіз.
3.2.7 B, C, D және E жалпы қолдануға арналған регистрлері мен аккумулятор қызметі.
4 Зертханалық жұмыс
Бағдарлама жұмыстарын микропроцессор эмуляторы көмегімен оқып үйрену
Жұмыстың мақсаты:
- i8085 микропроцессорының эмулятор көмегімен қарапайым бағдарламалар жұмысын талдауға дағдылану.
4.1 Жұмыстың орындалу тәртібі
4.1.1 к580 папкасынан d580.exe эмулятор файлын тауып іске қосыңыз. Монитор экранында меню пайда болады.
4.1.2 F10 пернесі және «Енгізу»-ді екі рет басу арқылы керекті бағдарлама атын таңдаңыз да эмуляторға жүктеңіз. Ол бағдарлама мазмұны 4.1 суретінде көрсетілген.
LXI H,10H; HLT; INX H; ADD M; DAA;
INX H; MOV M,A; MOV A,M; |
бағдарламаны тоқтату бұйрығы Байтты жадыдан А-ға жіберу Н мазмұнын 1-ге өсіру A А + M(HL) Егер АС=1 болса,онда А+06, егер С=1 болса, үл.тетрада+06 НL регистрлер жұбын инкременттеу байтты А-дан жадыға жіберу Жады сілтемесін жүктеу |
4.1 Сурет
4.1.3 Алдын ала 10h және 11h адресті жады ұяшықтарына сәйкесінше 37h және 48h жазып алып, (Alt-M) 1-ші бағдарламаның жұмысын зерттеңіз. F7 пернесі арқылы бағдарламаны орындауға қадамдық режімде жіберіңіз. Бағдарлама жұмысын зерттей отырып, келесі сұрақтарға жауап беріңіз:
1) Бағдарлама орындалуына қанша машиналық такт жұмсалады?
2) Сандарды қосу нәтижесі қай жады ұяшығында орналасады?
3) DAA ондық коррекциясының бұйрығы орындалғанға дейін аккумуляторда қандай сан болады?
4) Қандай бұйрықтарда белгілер регистрінің мазмұны болады?
Бастапқы берілгендерді өзгертіп бағдарламаны автоматты түрде орындаңыз (F9 пернесі).
Зерттеу аяқталғаннан кейін F10 пернесі арқылы бағдарламадан шығып зерттеуге арналған келесі бағдарламаны жүктеңіз.
4.1.4 Алдыңғы мысалда жадымен байланысқанда кет жанама адрестеу қолданылған. 4.2 суретіндегі тура адрестеу бұйрығын қолданатын бағдарламаны зерттеңіз.
LXI H,10H; LDA 11H; ADD M; DAA; STA 12H; HLT |
HL 0010H A M(0011H) A A + M(HL) Аккумулятордың ондық коррекциясы М(0012Н) А Тоқтау |
4.2 Сурет
4.1.5 4.3 суретінде көрсетілегндей 100Н адресінен басталатын қолданушы ОЕСҚ-сының 20 датчигінен алынған байттық ақпарат мәнін аккумуляторға жазу бағдарламасының жұмысын тексеріңіз.
LXI H,100H; |
Массивтің бастапқы адресі |
MVI B,20 |
Элементтер саны |
XRA A; |
Аккумуляторды тазалау |
M1: CMP M; |
Егер А=М болса, Z=1; егер А<М болса, С=1 |
JNC M2; |
Егер А үлкен болса өту |
MOV A,M; |
Егер А кіші немесе тең болса, ауысу |
M2: INX H; |
Адресті өсіру |
DCR B; |
Элементтер саны санағышын декременттеу |
JNZ M1; |
Массивтерді өңдеу циклы |
HLT; |
|
4.3 Сурет
100h – 113h адресті үлкен емес массивтер түріндегі жады ұяшықтарын 3 бағдарламасында көрсетілгендей еркін ақпаратпен (99h санынан жоғары емес) толтыру керек. Бағдарлама автоматты түрде орындалғаннан кейін максималды сан аккумуляторға түсетініне көз жеткізіңіз.
4.1.6 Аккумуляторда екілік-ондық санағышты іске асыратын 4.4 суретінде келтірілген бағдарлама жұмысын тексеріңіз, ол кезде инкременттеу жылдамдығы DELAY уақыттық кідіріс бағдарламасының орындалу уақытынан тәуелді.
LXI SP,20H; |
Стек сілтеуін жүктеу |
M2: ADI 1; |
Аккумуляторды инкременттеу |
DAA; |
Ондық коррекция |
CALL DELAY; |
Қосалқы бағдарламаны шақыру |
JMP M2; |
Бағдарламаның циклденуі |
DELAY: MVI B,2; |
Санағышты орнату |
M1: DCR B; |
Санағышты декременттеу |
JNZ M1; |
Егер нөл болмаса, қайталау |
RET |
Қосалқы бағдарламадан қайта оралу |
4.4 Сурет
Бағдарламаны қадамдық режімде орындай отырып, аккумулятор, В регистрі, SP стек сілтемесі, стек, нөл және жұптық белгілерінің мазмұны қалай өзгеретінін аңғарыңыз.
4.2 Бақылау сұрақтары
4.2.1 DAA ондық коррекция бұйрығының жұмыс істеу алгоритмін түсіндіріңіз.
4.2.2 Стек сілтемесі деген не және ол қалай жұмыс істейді?
4.2.3 Қосалқы бағдарламадан оралғанда стекте не сақталады?
4.2.4 Қосалқы бағдарламаны шақырғанда стек сілтемесі қаншалықты өзгереді?
4.2.5 RET бұйрығы орындалғанда не болады?
4.2.6 Қосалқы бағдарлама деген не және оны қалай ұйымдастыруға болады?
Әдебиеттер тізімі
1. Цифровая и вычислительная техника: Учебник под ред. Э.В.Евреинова.- М.: Радио и связь, 1991. - 464 с.
Пухальский Г.И. Проектирование микропроцессорных систем. Учебное пособие для вузов.- СПб.: Политехника, 2001.–544 с.
3. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. Учебник для техникумов связи.- М.: Горячая линия –Телеком, 2000. – 336 с.
4. Гольденберг Л.М. и др. Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учебное пособие. - М.: Радио и связь,1992 . - 256 с.
5. Бойко В.И., Гуржий А.Н., Жуйков В.Я. и др. Схемотехника электронных устройств. Микропроцессоры и микроконтроллеры.- СПб.: БХВ – Петербург, 2004. – 464 с.
6. Петрищенко С.Н. Цифровые устройства и микропроцессоры. Конспект лекций для студентов специальности 050719 – Радиотехника, электроника и телекоммуникации дистанционной формы обучения. – Алматы: АИЭС, 2006. – 36 с.
Мазмұны
1 Зертханалық жұмыс 2 Зертханалық жұмыс 3 Зертханалық жұмыс 4 Зертханалық жұмыс Әдебиеттер тізімі |
3 9 13 17 20 |