ЎЗБЕКИСТОН АЛОҚА ВА АХБОРОТЛАШТИРИШ АГЕНТЛИГИ
ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ
Маълумот узатиш тармоқлари ва тизимлари кафедраси
РАҚАМЛИ ҚУРИЛМАЛАР ва МИКРОПРОЦЕССОРЛАР
5522200 – Касб таълими (телекоммуникация) йўналиши талабалари учун амалий машғулотларни бажариш бўйича услубий қўлланма
Тошкент 2009
Муаллифлар: Ж. Ю. Юнусов, Р. П. Абдурахманов, Х. Ю. Абасхонова,
«Рақамли қурилмалар ва микропроцессорлар». / ТАТУ.
Тошкент, 2009.
Рақамли қурилмалар ва микропроцессорлар курсининг мақсади рақамли қурилмаларнинг тузилиш тамойиллари ва турли функционал қийинликдаги, яъни рақамли мантиқий элементлардан (МЭ) тортиб, то микропроцессорларгача (МП) бўлган рақамли қурилмаларнинг ишлатилишини ўрганишдан иборатдир.
Ушбу амалий ишларини бажариш бўйича услубий қўлланма асосида талабалар рақамли схемотехника элементлари асосида турли қурилмаларни яратиш жараёнини ўрганадилар.
ТАТУ нинг “Телекоммуникация технологиялари ” факультети услубий кенгаш йиғилишининг 2008 16.09.08 64 –сон баённомасидан
Тақризчилар:
ЎзААА
РРТ бўлими бошлиғи
т.ф.н., доцент Ю. К. Камолов
ТАТУ
«Телекоммуникация узатиш
тизимлари» кафедраси мудири
т.ф.н., доцент Р.И.Исаев
Муҳаррир: К. А. Гаюбова
© ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ, 2008
КИРИШ
Рақамли қурилмалар ва микропроцессорлар курсининг мақсади рақамли қурилманинг тузилиш тамойиллари ва турли функционал мураккаб, яъни рақамли мантиқий элементлардан тортиб, то микропроцессорларгача бўлган рақамли қурилмаларнинг ишлатилишини ўрганишдир.
Рақамли қурилмалар ва микропроцессорлар курси дастурга мос равишда назарий материаллар, назорат ишлари, лаборатория ишлари ва курс ишларини ўз ичига олади.
Назарий материалларнинг ўзлаштирилишини осонлаштириш учун ушбу ишда методик кўрсатмалар, адабиётларга мурожаат, айрим холларда эса саволнинг кенгрок ёритилиши, ҳамда талабага бериш учун мавжуд бўлган адабиётлардан бирини танлаб олиш имконини берувчи бир нечта адабиётлар кўрсатиб ўтилган.
Рақамли қурилмалар ва микропроцессорлар курси икки қисмга бўлинган. Биринчи қисмда асосий диққат унча қийин бўлмаган рақамли қурилмаларнинг таркиби ва куриш тамойилларига қаратилади. Биринчи қисмдан олинган билимларни умумлаш учун талабларга уч саволдан иборат бўлган назорат иши берилади.
Иккинчи қисмда эса юқори қийинликка эга бўлган МП ва микро-ЭҲМларни қуриш тамойиллари ва уларни ишлатилиш қоидалари кўриб чиқилади.
Мазкур услубий қўлланма рақамли қурилмаларни қуриш ва микро-ЭҲМларда дастурлаш бўйича амалий малака оширишга мўлжалланган.
1-амалий иш. ОДДИЙ ДАСТУРЛАРНИ ЁЗИШ ВА БАЖАРИШ
Ишдан мақсад: Алоҳида буйруқларни ва оддий дастурларнинг бажарилишини текшириш, турли адресациялаш усулларининг дастурлашда қўлланилиши, дастурларни ёзиш.
назариядан қисқача маълумот
КИС КР580ИК80А микропроцессори олдиндан қайд қилинган буйруқларга эга. Бундай буйруқлар бажарилиш вақти буйруқнинг олиниш жараёни, кодлаш ва унинг бажарилиши билан аниқланади. Бу вақтни бир қатор вақтлар оралиғи орқали ифодалаш мумкин. МП КИСнинг синхросигналлар даврига тенг вақт оралиғи, шу машина ишлаш такти деб аталади. Бир байт маълумотни хотирадан, ёки ташқи қурилмадан, ёки буйруқнинг бажарилишига кетган вақт бир машина сўзи билан ифодаланса, бу машина цикли деб аталади. Машина цикли МП КИС учун 3-5 машинали тактларни ўз ичига олиши мумкин. Бажарилиш вақти буйруқ турига қараб 1-5 машинали цикллардан ташкил топиши мумкин. МП КИС учун 10 та хар хил машина цикллари бор:
· буйруқ кодини чақириб олиш ( М1 цикл),
· хотирадан маълумотни ўқиш,
· хотирага маълумот ёзиш,
· стекдан маълумотни чақириб олиш,
· стекка маълумот ёзиш,
· ташқи қурилмадан маълумотларни киритиш,
· ташқи қурилмага маълумот ёзиш,
· узилиш циклига хизмат қилиш,
· тўхташ,
· тўхташ режимида узилишга хизмат қилиш.
М1 цикли хар қандай буйруқни чақириб олишда биринчи машина цикли бўлади. МП КИСнинг ҳар бир машина циклида "Тайёр" холат сигналини ўзининг кириши орқали текширади. Киришидаги нол сигнали КИСнинг нормал иш жараёнини тўхтатиб туриб, айнан кўрилаётган машина цикли шу вақтда кичик-ЭҲМ ўз магистралларида узатилиши лозим бўлган ҳамма маълумот қатнашиб туради. Бу эса ўқув кичик-ЭҲМда буйруқларнинг машина тактлари орқали бажарилишини текшириш учун қўлланилади. Бу режимда маълумот кичик-ЭҲМ магистралларида ёруғлик диодлари холатлари билан кўрсатилиб турилади.
Дастур кичик-ЭҲМнинг хотира ячейкаларида кетма-кет ёзилади. Мисол тариқасида хотира қурилмасининг 0В00Н ячейкасидан сонни чақириб олиб, унинг миқдорини биттага камайтириб, натижани 0В01Н адресига ёзилиши лозим бўлган оддий дастурни кўриб чиқамиз.
1- дастур (мнемокодларда)
Мнемокод Изоҳ
LDA 0B00 0В00 адресдан сонни олиш
DCR A сонни биттага камайтириш
STA 0B01 натижани 0В01 адресга ёзиш
HLT тўхташ.
Дастурни ёзишда ҳамма сонлар ўн олтилик саноқ тизимида берилади. Дастурни кичик-ЭҲМ хотирасига ёзишда мнемокод машина кодига айлантирилиши лозим. Дастур буйруқлари бир, икки ёки уч байтли бўлиши ва хотирадаги бир, икки, уч адресни эгаллаши лозим.
1-дастур (хотира адресларига жойлаштириш)
Адрес Код Изоҳ
0800 3А LDA буйруқ коди
0801 00 кичик байт адреси
0802 0В катта байт адреси
0803 3D DCR A буйруқ коди
0804 32 STA буйруқ коди
0805 01 кичик байт адреси
0806 0В катта байт адреси
0807 76 HLT буйруқ коди
Дастурни аввал жуда ихчам кўринишга келтириш максадга мувофикдир. Дастурда ҳар бир буйруқнинг бошланғич адреси кўрсатилган бўлиб, бунда бир, икки, уч байтли буйруқ узунлигига боғлик холатга кетма-кет бирдан учтагача бўлган хотира ячейкалар эгаллайди. Бундай ёзилиш тартибида чап томон устунида фақатгина буйруқ адреслари кўрсатилади. Бу эса дастурнинг таъсир қилиш хажмини камайтиради, ва уни тахлил қилишни жуда ҳам соддалаштиради.
1-дастур (ёзувнинг умумий куриниши)
Адрес Машина коди Мнемокод Изоҳ
0800 3А 000В LDA 0B00 0В00 адресдан сонни олиш.
0803 3D DCR A Сонни биттага камайтиришга
0804 32 010В STA 0B01 0В01 адресга ёзиш.
0807 76 HLT Тўхташ.
Бу ерда адресга тўғридан-тўғри мурожаат этиш усули қўлланилади. Мавхум адреслаш асосида 1-дастурга ўхшаш мисол кўриб чиқамиз (2-дастур).
2 - дастур
Адрес Маш.коди Мнемокод Изоҳ
0800 21 000В LXI 0B00 H , L регистрларига 0В00 сонини ёзиш.
0803 7Е MOV A,M H , L регистрларида кўрсатилган сонни
адресдан олиш.
0804 3D DCR A Аккумулятордаги сонни биттага
камайтириш.
0805 23 INX H H,L регистрлардаги сонни биттага
кўпайтириш.
0806 77 MOV M,A H , L лардаги кўрсатилган адресга
аккумулятордаги сонни ёзиш
0807 76 HLT Тўхташ.
Уйда тайёрлаш учун топшириқлар
1. Дастурлаш тили ва КР580ИК80 МП КИС буйруқлари таркибий тузилиши билан танишинг.
2. МП КИС буйруқларнинг ишлаш режими ва бажарилиш вақт диаграммасини ўрганиб чиқинг.
3. Ассемблер тилида ва КР580ИК80 МП КИС машина кодлари асосида дастурлаш усулларини ўқиб чиқинг.
4. INR A (3C), CMA (2F), ADD А (87), ANA A (A7), ORA A (B7),
CMP А (BF), DAA (27) буйруқларининг бажарилиш қоидаларини кўриб чиқинг. Қавслар ичида буйруқларнинг машина кодлари берилган.
5. Топшириқнинг 4-бандида келтирилган буйруқлар 1-дастурда 0803 адресга қўйиш натижаси билан текшириб чиқинг. 1-дастурда 0803 адрес ўрнига қўйилган хар хил буйруқлар бажарилиши натижалари 6-жадвалга киритилсин. 0В00 адресга ёзилган сон сизнинг (гурух журналдаги икки хонали тартиб) номерингизга мос келади.
6 – жадвал
0В00 адресга ёзилган сон |
0803 адресга ёзилган сон |
0В01 адресга ёзилган сон |
|
|
|
6. Дастурни ишлаб чиқиш
а) 7-жадвалда кўрсатилган адресга ёзилган сонни инверсиялаш ва натижани 7-жадвалда кўрсатилган (5 устун) адресга ёзиш.
7 - жадвал
Вар.
|
1-сон адреси (операнд) |
1-сон |
2-сон адреси (операнд) |
2-сон
|
3-сон адреси (операнд) |
3-сон
|
Натижа адреси
|
01 |
0806 |
34 |
0A11 |
45 |
0A45 |
CD |
0BA1 |
02 |
080A |
56 |
09CB |
6А |
0A46 |
4F |
0A10 |
03 |
0811 |
67 |
0AAA |
72 |
0941 |
57 |
0912 |
04 |
082A |
12 |
0916 |
84 |
0A10 |
3A |
0912 |
05 |
082E |
1Е |
0B00 |
50 |
0A0A |
8E |
0914 |
06 |
0831 |
4Ғ |
0AEC |
25 |
0949 |
FD |
0915 |
07 |
0835 |
78 |
0A16 |
59 |
0999 |
3F |
0A23 |
08 |
083A |
91 |
0940 |
21 |
0BFF |
73 |
0A45 |
09 |
083C |
4С |
09AC |
3В |
0AEC |
CA |
0916 |
10 |
084F |
03 |
090A |
67 |
0A7F |
9D |
0BA2 |
11 |
0853 |
25 |
0A09 |
81 |
0A89 |
16 |
0BA3 |
12 |
0859 |
56 |
0913 |
04 |
0AA3 |
3F |
0BA4 |
13 |
085B |
71 |
0926 |
5С |
09AA |
49 |
0BA5 |
14 |
086C |
39 |
09C3 |
28 |
09B6 |
32 |
0BA6 |
15 |
0863 |
48 |
0A60 |
52 |
09BB |
48 |
0BA7 |
16 |
0860 |
31 |
0A5B |
49 |
09CD |
6C |
0BA8 |
17 |
08BE |
26 |
096C |
18 |
09CF |
30 |
0BA9 |
18 |
0874 |
4В |
095C |
61 |
0AF4 |
92 |
0BAA |
19 |
0877 |
67 |
0A6E |
58 |
0A4F |
31 |
0BAB |
20 |
0879 |
48 |
0A63 |
4Е |
0950 |
16 |
0BAC |
21 |
087D |
93 |
0974 |
18 |
0959 |
67 |
0BAD |
22 |
087F |
81 |
094F |
83 |
0A5B |
45 |
0BAE |
23 |
0889 |
38 |
0A79 |
68 |
096C |
10 |
0BAF |
24 |
08A3 |
47 |
0977 |
3F |
0963 |
87 |
0AB0 |
25 |
08AA |
21 |
0A7F |
CD |
0A60 |
56 |
0AB1 |
26 |
08B6 |
28 |
097D |
48 |
096E |
47 |
0AB2 |
27 |
08BB |
9А |
0959 |
AB |
0A74 |
71 |
0AB3 |
28 |
08CD |
67 |
0ABB |
28 |
0A77 |
23 |
0AB4 |
29 |
08CF |
41 |
0AB6 |
FE |
0979 |
5A |
0AB5 |
30 |
08B4 |
39 |
09CD |
87 |
0960 |
45 |
0AB6 |
Вариант
|
Вазифа |
Вариант
|
Вазифа |
1
2
3
4
5
6
7
8
9
10
|
|
11
12
13
14
15
16
17
18
19
20 |
|
Амалий иш учун топшириқлар
1-топшириқ. 1–дастурни ўрганиш.
Топшириқни бажариш тартиби:
1. Кичик-ЭҲМга 1- дастурни жойлаштириш ( киргизиш ).
2. Ишлатилиши лозим булган сонни 0В90 адресга ёзинг.
3. 1- Дастурни 0800 адресдан бошлаб ишга туширинг.
4. 0В01 адресга ёзилган сонни урганиш йўли билан дастурнинг бажарилиш натижасини текширинг.
5. Буйруқлар бажарилиши жараёнини 1-дастурнинг машина цикллари оркали текширинг. Хар бир буйруқнинг бажарилишида кичик-ЭҲМда маълумотларнинг бажарилиши кетма-кетлигига, турланишига асосий эътиборни каратишингиз лозим. Дастурдаги исталган бир ва уч байтли буйруқларнинг бажарилиш жараёнининг вақт диаграммасини келтириш.
6. 1-дастурдаги DCR буйруқнинг INR A (3C), CMA (2F), ADD A (87), ANA A (A7), ORA A(B7), CMP A (BF), DAA (27) буйруқларига алмаштириб, бу буйруқларнинг бажарилишини урганиш 0ВВ1 адресга ёзилган сон буйича булиб, натижаларини текширинг. Уйда бажариладиган топшириқ натижалари билан олинган сонларни 3 - жадвал билан солиштиринг.
2 - топшириқ. 2- дастурни урганиш.
Топшириқни бажариш тартиби.
1. Кичик-ЭҲМга 2-дастурни киргизинг.
2. 0ВВ0 адресга текширилиши лозим булган сонни ёзинг.
3. Дастурни 0800 адресдан бошлаб ишга туширинг.
4. 0В01 адресга ёзилаётган сон орқали дастур бажарилиши натижасини текширинг.
5. MOV A, M буйруғини машина циклида бажарилиш жараёнини текширинг.
3 - топшириқ. 3- дастурни урганиш.
1. Уйда ишлаб чикилган 3-дастурни кичик-ЭҲМга киритинг.
2. Адресга 7-жадвал 3-устунда курсатилган гурух журналидаги узингизга тааллукли ракамга тўғри келадиган сонни ёзинг.
3. 7-жадвалнинг 5-устунидаги сонлар билан берилган адресдан 3-дастурни ишлатиб, натижани текширинг.
4 - топшириқ 4-дастурни урганиш.
1. Уй шароитида ишлаб чикилган 4-дастурни кичик-ЭҲМга киритинг.
2. 7-жадвалнинг 3, 4-операндлари учун укитувчидан сонлар олиб кўрсатилган адресга ёзинг.
3. Бошлангич адресга асосан дастурни ишга туширинг.
4. Натижа адресидаги чиккан сонга асосан дастур ишини текширинг.
Ўқув кичик-ЭҲМда ишлаш.
Ўқув кичик-ЭҲМда амалий ишларини бажаришда қуйидагилар кўзда тутилиши керак:
1. Текширилаётган дастур хотира ячейкаларига кетма-кет ёзиш билан амалга оширилади. Адресга сонни ёзиб олишда "П", " __ " тугмачалар, ҳамда клавиатура қисмидаги рақамли тугмачалардан фойдаланилади.
2. Дастурни ишга солиб "СТ" тугмачани босиш билан амалга оширилади.
3. Буйруқлар бўйича дастурнинг бажарилиши "ШГ" тугмачани босиш билан амалга оширилиши керак, бироқ бундан олдин "РБ/ШГ" тугмачаси пастги холатга ўтказилган бўлиши керак. Бу режимда ёруғлик диодлари магистралларида буйруқ коди, шу адрес ячейкасидаги сон миқдори (маълумоти) ва холатлар регистри натижаларининг тасвири қурилган бўлади.
4. Машина цикллари бўйича дастурнинг бажарилиши "РБ/ШГ", "РГ/КЦ" тугмачалари босилиши ва "ШГ" тугмачаси кетма-кет босилиши билан амалга оширилади. Бунда ёруғлик диодларида буйруқ адреси кузатилаётган адрес ячейкаси миқдори, холатлар регистрининг ҳар бир разряди тўғрисидаги ҳар бир машина цикли яққол кўриниб туради. "СБ" тугмачасини босиш билан кўрилаётган режим иши тўхтатилади.
Ҳ и с о б о т н и н г м а з м у н и.
Ҳисоботда қуйидагилар қайд қилиниши керак:
1. Тўлдирилган 6-жадвал.
2. 1-дастурда ҳар қандай эркин танланган бир ёки уч байтли буйруқларни бажарилиш вақт диаграммалари.
3. 2-дастурдаги MOV A,M буйруғини кичик-ЭҲМда бажарилиш вақт диаграммаси.
4. Уйда тайёрланиш жараёнида ишлаб чиқилган 3 ва 4-дастур.
5. 1, 2, 3, 4–дастурларни ўрганиш натижалари.
Ў з - ў з и н и т е к ш и р и ш у ч у н с а в о л л а р
1. 1 ва 2 - дастурдаги ҳар бир буйруқ неча машина тактларидан иборат?
2. К580 туркумидаги УМТ асосида қурилган адреслаш усулларининг фарқи нимада?
3. 3-дастурни тузишда қандай адреслаш усулларидан фойдаланилган?
4. 1-дастурнинг қайси буйруқлари бажарилганда, 4-топшириқнинг бажарилишида МП регистр разрядидаги ўзгаришлар рўй беради?
2-амалий иш. тармоқланувчи дастурларни ёзиш ва бажариш
массив МАЪЛУМОТЛАРИда НИқОБЛАШни ва шартли ўтишларни ТАШКИЛ ЭТИШ
Ишдан мақсад: шартли ўтишлар воситасида тармоқланувчи дастурларни ёзиш ва маълумотларни ниқоблашни (маскирования) ташкиллаштириш усулларини ўрганиш.
Қисқача назарий маълумотлар
Кичик-ЭҲМда шартли ўтишлар МП қисмларидаги холатлар регистрлари орқали амалга оширилади. Холатлар регистри беш разряддан иборат бўлиб, улар МП КИСида (Микропроцессор катта интеграл схемасида) охирги буйруқ бажарилиб бўлгандан сўнг ҳар бири тегишли қоида билан ўрнатилади. Булар қуйидаги разрядлардир:
1. С - CARRY- разряд сеткасининг тўлиб кетиш аломати. Агар арифметик ёки силжитиш буйруқлари бажарилиш жараёнида аккумулятор разряд тўлиб кетса, 1 ёзилади, акс холда эса шу разрядга 0 ёзилади.
2. S - SIGN - разряд ишораси. Агар арифметик ёки мантиқий буйруқлар бажарилиш жараёнида аккумулятордаги соннинг катта, еттинчи разрядига 1 ёзилган бўлса, сон мусбат бўлади ва S разрядга 1 ёзилади. Бошқа холларда S разрядга 0 ёзилади.
3. Z - ZERO - олинган натижанинг нолга тенглиги аломати. Агар арифметик ёки мантиқий буйруқлар бажарилиши натижасида аккумуляторнинг ҳамма разрядлари нолга тенг бўлса, Z разрядга 1 ёзилади, бошқа холларда разрядга 0 ёзилади.
4. AC - AUX CARRY - тўлиб кетганликни қўшимча аниқловчи разряд. Агар аккумуляторда буйруқ бажарилиш жараёнида 1 учинчи разрядга кўчиб ўтса, унга 1 ёзилади.
5. P - PARITY - жуфтлик аломатини аниқловчи разряд. Агар буйруқ бажарилиши жараёнида аккумулятор разрядидаги 1 лар сони жуфт бўлса, унга 1 ёзилади.
Кўпинча дастур ишининг бажарилиши жараёнида аккумулятордаги сон разрядларини текшириш ёки ўзгартириш (ниқоблаш) зарурияти пайдо бўлади. Буни қуйидаги амаллар орқали амалга ошириш мумкин.
1) аккумулятордаги сон ва ниқоб мантиқий кўпайтирилади. Агар ниқобнинг мос разрядларига 0 ёзилган бўлса, бунда разряддаги сон тозаланади, агарда ниқоб разрядига 1 ёзилган бўлса, у ҳеч нарсани ўзгартирмайди.
1 - мисол
ANI,22Н буйруғи (22Н сони ниқоб вазифасини бажаради)
01110011 аккумулятордаги сон
00100010 ниқоб
00100010 аккумулятордаги натижа
2 - мисол
ANI ,FO буйруғи
01011111 аккумулятордаги сон
11110000 ниқоб
01010000 аккумулятордаги натижа
2) аккумулятордаги сон ва ниқоб мантиқий қўшилади. Агар шу ниқоб разрядида 1 сони бўлса, бунда 1 сони разрядда ўрнатилади, агар шу разрядга 0 сони ёзилган бўлса, у берилган сонни ўзгартирмайди.
3 - мисол 4 - мисол
ORI,22Н буйруғи ORI ,FO буйруғи
01110011 аккумулятордаги сон 01011111 аккумулятордаги сон
00100010 ниқоб 11110000 ниқоб
01110011 аккумулятордаги натижа 11111111 натижа
3) аккумулятордаги сон ва ниқоб мантиқий рад этувчи "ёки" амалини бажаради. Агар берилган ниқоб разрядига 1 сони ёзилган бўлса, бунда разряд тескариланади (инверсияланади), агарда бу разрядда 0 сони ёзилган бўлса, у ўзгармайди.
5 - мисол 6 - мисол
XRI,22Н буйруғи XRI ,FO буйруғи
01110011 аккумулятордаги сон 01011111 аккумулятордаги сон
00100010 ниқоб 11110000 ниқоб
01010001 аккумулятордаги натижа 10101111 натижа
Келтирилган мантиқий амаллар фақат аккумулятор ичидаги сонлардан ташқари МП КИСининг қолган ички регистрлари билан ҳам бажарилиши мумкин. Бу холда буйруқлар бир байтли бўладилар. Барча мантиқий амаллар бажарилаётганда холатлар регистрнинг Z, S, P, AC разрядлари иш холатида бўлади (С разрядга 0 сони ёзилади). Бу эса ихтиёрий разрядларни текшириш имконини беради ва дастурларда шартли ўтишларни бажариш мумкин бўлади. Алохида разрядларни ниқоблаш дастурлари (3- дастур) қуйида келтирилган.
3 - дастур
Адрес Маш. код Мнемокод Изоҳ
0800 3А 00 0А LDA 0A00 Хотирадан сонни чақириб олиш
0803 E6 F0 ANI F0 Мантикий амал бажариш
0805 32 01 0А STA 0A01 Натижани хотирага ёзиб куйиш
0808 76 HLT Тухташ
Қуйидаги 4-дастурда хотира ячейкасидан олинган соннинг нолинчи разрядида 1 борлигини аниқловчи ва топилган бундай сонни хотира ячейкасига ёзиб қўювчи дастур келтирилган. Дастур сонни ниқоблаш ва шартли ўтиш буйруқларини ишлатишга асосланади.
4 - дастур
Адрес Маш. код Белги Мнемокод Изоҳ
0800 3А 00 0А LDA 0A00 Хотирадан сон олинсин.
0803 47 MOV B,A В регистрда сақлансин.
0804 Е6 01 ANI 01 0 разряднинг холати текширилсин.
0806 С2 0А 08 JZ M1 Агарда 0 нолинчи разрядда бўлса, М1
0809 76 М2: HLT Тўхташ.
080А 78 М1: MOV A,B Сон аккумуляторга кайтарилсин
080В 32 01 СА STA 0A01 Хотирага ёзилсин
080Е С3 09 08 JZ M2 Дастур тугашига утилсин.
5-дастур ОХК (ОЗУ)даги 1-массивдан иккинчи ва бешинчи разрядларида 1 бор бўлган сонларни аниқлайди, сўнгра шу сонлардан 2-массивни хосил қилади.
Адрес Маш. код Белги Мнемокод Изоҳ
0800 21 00 0А LXI Н,0А00 1-массив бошлангич адреси
0803 11 20 ОА LXI D,0А20 2-массив бошлангич адреси
0806 06 06 MVI В,06 Текшириладиган сонлар
0808 7Е М2: MOV А,М Хотирадан сон ўқилсин
0809 4F MOV C,А Сондан нусха кўчирилсин.
080А Е6 24 ANI 24H Ниқоблаш бажарилсин.
080С СА 11 08 JZ M1 Агарда керакли разрядларда
1 бўлса, унда М1га ўтилсин.
080F 79 MOV A,C Топилган сон аккумуляторга
қайтарилсин.
0810 12 STAX D У хотирага ёзилсин.
0811 13 INX D 2-массив адреси биттага
орттирилсин.
0812 23 M1: INX H 1-массив адреси биттага
орттирилсин.
0813 05 DCR B Текширилаетган сонларнинг
миқдори биттага камайтирилсин.
0814 C2 08 08 JNZ M2 Агарда ҳамма текширилаётган
сонлар қаралмаган бўлса, унда
М2 га ўтилсин.
08І7 76 HLT Дастур охири.
Уйда тайёрлаш учун топшириқлар
1. Мантиқий ва шартли ўтиш буйруқларни ўрганинг.
2. МП КИСининг холатлар регистр разрядлари ва уларга 1 сонини
ёзиш қоидалари билан танишинг.
3. 3,4,5-дастурлар билан танишиб чиқинг.
4. 8-жадвалга асосан ўз дастурингизни ишлаб чиқинг.
8-жадвал
Вариант рақами |
Дастурнинг вазифаси |
Массив узунлиги |
01 |
Адреси 0А01бўлган 1-массивдан адреси 0А39 бўлган 2-массивга барча жуфт сонлар узатилсин |
1100В |
02 |
Адреси 0А13 бўлган 1-массивдан адреси 0963 бўлган 2-массивга барча мусбат сонлар узатилсин |
18Н |
03 |
0916 адреси бир массивдан кичик ярим байтида 1 бўлган барча сонлар танлаб олиниб, улар 0А10 адресли 2-массивга ёзилсин. |
12D |
04 |
0АВС адресли 1-массив 09СЕ адресли 2-массивга тескари кўчирилсин. |
14D |
05 |
Бошланғич адреси 0901 бўлган 1-массивдан катта ярим байтида 1100В бўлган сонлар аниқланиб, улардан 09А0 адресли янги массив хосил қилинг. |
1110В |
06 |
0910 адресли 1-массивдан барча жуфт сонлар йиғиндисини тўплаб улардан адреси 09Е1дан бошланадиган 2-массив ташкил қилинг. |
0А |
07 |
0996 адресли 1-массивдан 10100101В сон ажратиб олинсин ва 0А0А адресдан бошланган 2-массивга ёзиб борилсин. |
1010В |
08 |
0А12 адресли 1-массивдан барча тоқ сонлар танлаб олинсин ва 09Е0 адресдан бошланган 2-массив ташкил этилсин. |
0Е |
09 |
101А адресдан бошланган 1-массивдаги барча сонларнинг йиғиндиси аниқланиб 09В0 ячейкага ёзилсин. Аниқланган йиғиндининг жуфтлиги текширилсин, агарда у жуфт сон бўлса, натижани 0981 ячейкага ёзиб қўйилсин. |
17Н |
10 |
0А49 адресли 1-массивдан манфий ишорали сонлар қидирилиб улардан янги 0А59 адресли 2-массив ташкил этилсин . |
19Н |
11 |
0911 адресли 1-массив сонлар йиғиндиси топилсин. Аниқланган йиғинди тоқ сон бўлса 0992 ячейкага, агар жуфт сон бўлса 0991 ячейкага жойлаштирилсин . |
20D |
12 |
0920 адресдан бошланувчи 1-массивдан 09Н сони қидирилсин ва унинг адреси кетма-кет 0980 ва 0981 ячейкаларига ёзилсин, агар бундай сон йўқ бўлса, В0 коди 0906 ячейкага ёзилсин. |
16D |
13 |
0910 адресдан бошланувчи 1-массивдан катта разрядида 0011 коди бор барча сонлар танлаб олинсин, бу аниқланган сонлардан адреси 0920 дан бошланувчи 2-массив ташкил қилинсин. |
1С |
14 |
0А44 адресдан бошланувчи 1-массивдаги сонлар ячейкаси тўлиб кетгунча қўшилсин. Сўнгра қўшиш амалидаги охирги сон адреси кетма-кет 0910 ва 0911 ячейкаларга ёзиб қўйилсин. |
19D |
15 |
0А90 адресли 2-массивдан 0А10 адресли 1-массивга еттинчи разрядида 1 бўлган сонлар кўчириб ёзилсин. |
20Н |
16 |
0А98 адресли 2-массивга 0АА0 адресли 1-массивдан барча 34 Н сонлари кўчирилсин. |
26Н |
17 |
0А01 адресли 1-массив 0А00 адресли 2- массивга тескари тартибда кўчирилиб ёзилсин. Кўчириш жараёнида манфий сонлар ёзилмасин. |
17Н |
18 |
0А00 адресли 1-массивдан барча тоқ сонлар танлаб олиниб, 099А адресли 2-массив ташкил қилинсин. |
28D |
19 |
0В00 адресли 2-массивдан бешинчи разрядида 0 бор сонлар танлаб олиниб, 0А00 адресли 1-массив ташкил этилсин. |
20D |
20 |
0А29 адресли 1-массивдан 30Н кодга мос бўлган ҳамма сонлардан 0981 адрес билан бошланган 2-массив ташкил қилинсин. |
22D |
21 |
0А15 адресли 1-массивдан барча тоқ сонлар йиғиндиси топилиб, натижа 0943 адресга ёзилсин. |
18D |
22 |
0949 адресли 1-массивдан ҳар учинчиси мантиқий кўпайтириб борилсин ва ҳосил бўлган натижанинг ишораси текширилсин. Агарда у мусбат бўлса, у холда бу сон 0906 ячейкага манфий бўлса 0908 ячейкага ёзилсин. |
17Н |
23 |
0944 адресли 1-массивдан 0А28 адресдан бошланган 2-массивни ташкил қилинг. Берилган маълумотлар : 1-массив учун X1,X2, ... Xn, 2-массив учун c1=X1, c2=X1+X2, c3=X1+X2+X3,...ва х.к. |
20Н |
24 |
0991 адресдан бошланган 1-массив йиғиндиси топилсин, унинг ишораси аниқлансин. Агар ишора манфий бўлса, уни 0А00 ячейкага, мусбат бўлса 0А10 ячейкага жойланг. |
14Н |
25 |
0943 адресли 2-массив 0А40 адресли 1-массивдаги сонлар айирмасидан ташкил қилинсин. Агар натижа 00 Н бўлса, массив ташкил қилиш тўхтатилсин. |
15Н |
26 |
09А1 адресли 1-массивдан кичик уч разрядида 1 бўлган сонлар ажратиб олиниб, улардан 0А09 адресли 2-массив ташкил этилсин. |
30D |
27 |
0АВ3 адресли 1-массив сонларининг жуфтлиги текширилсин ва барча тоқ сонлардан 0АС0 адресли 2-массив хосил қилинсин. |
19D |
28 |
0936 адресли 1-массивдан жуфт микдорга тенг бўлган сонлар ажратиб олинсин ва улардан 0949 адресли 2-массив хосил қилинсин. |
0А |
Амалий ишларни бажариш учун топшириқлар
1-топшириқ. 3-дастур текширилсин.
Топшириқнинг бажариш тартиби.
1. 3-дастур кичик-ЭҲМга киритилсин
2. ОХК текширилиши учун зарур маълумотлар ёзилсин.
3. Дастур ишга туширилсин.
4. Дастурнинг тўғри бажарилганига ишонч хосил килинсин.
2- топшириқ. 4-дастур текширилсин.
1. Дастур ва маълумотлар киритилсин.
2. Дастурни кадамлаб бажариш усулига утинг ва дастурни ишга туширинг.
3. УМТ олди панелидаги ёруглик диодлар ёнишини Изоҳланг ва дастурнинг тўғри бажарилаётганига ишонч хосил килинг.
4. Дастурни буйруқ режимида ишлашга утинг ва ёруглик диодлари оркали
унинг бажарилаётганига ишонч хосил килинг.
5. Тизимни бошлангич холатга кайтаринг.
3- т о п ш и р и к. 5- дастур текширилсин.
Топшириқнинг бажариш тартиби: 1-топшириқ бажарилишига ухшашдир.
4-т о п ш и р и к. Мустакил тузилган дастур иши текширилсин.
Топшириқнинг бажариш тартиби: 1-топшириқ бажарилишига мосдир
Ҳ и с о б о т н и н г м а з м у н и
Хисобот куйидаги:
1. 3, 4, 5 - дастурлардан.
2. Мустакил бажарилган 8-дастурдан.
3. КР580ИК80 МПнинг шартли бажарилиш буйруқ турлари тўғрисидаги тўлиқ маълумотлардан.
4. МП КИС учун тўлиқ бўлган мантиқий амаллар тўғрисидаги маълумотдан ташкил топган бўлиши зарур.
Топшириқлар ва ўз-ўзини текшириш учун саволлар
1. 3-дастурда МП КИСнинг қандай буйруқлари ишлатилганда холатлар регистридан фойдаланилган ?
2. МП КИСнинг холатлар регистрига 1 сони қандай шартлар бажарилганда ёзилади?
3. МП КИСда қандай мантиқий амал турлари ишлатилган?
3-амалий иш. ҚИСМ ДАСТУР ВА СТЕК
Ишдан мақсад : Қисм дастурнинг ёзилиши ва унга мурожаат қилиш тамойилларини текшириш, дастур тузишда стекнинг ишлатилиш усулларини ўрганиш.
Қисқача назарий маълумотлар
КР580 сериясида қурилган МПҚ хотира элементлари (қурилмаси) 66536 та бир байтли ячейкалардан ташкил топган бўлиши мумкин. Хотира ячейкалар сони чекланган бўлгани учун тузилаётган дастурлар ҳам иложи борича қиска бўлиши зарур. Бунинг учун тузилаётган дастурнинг кўп марта такрорланадиган қисми ёки шу дастурнинг ўзи қисм дастур тарзида ифодаланиши мумкин. У буйруқлар кетма-кетлигидан ташкил топилган бўлиб, унинг бажарилиши асосий дастурнинг исталган жойидан чақирилиб исталганча такрорланиши мумкин. Қисм дастурга бошқарувнинг берилиши жараёни чақирув деб аталади. Қисм дастур бажарилишидан ва ўз иш жараёни тўхташидан ҳосил бўлган маълумот унинг чиқиш параметри деб аталади.
Қисм дастурни чақириш ва ундан қайтиш учун CALL<A2><A1> ва RET буйруқларидан фойдаланилади. CALL<A2><A1> буйруқдаги <A2><A1> байтлар МП КИСининг дастур ҳисоблагичига хотира ячейкаларининг CALL (СD) кодидан кейин жойлашган кетма-кет ячейкалардан олиб юкланади. <A2> байт қарамоғидаги маълумот дастур ҳисоблагичининг кичик байтига PCLга ёзилади. Буйруқдаги <A1>нинг учинчи байти дастур ҳисоблагичининг катта PCH байтига ёзилиб, бундан МП КИСининг стекида қисм дастурнинг иш жараёни тугагандан сўнг асосий дастурга автоматик равишда қайтиш адрес сақланиб турилади.
Стек - Кичик-ЭҲМдаги берилган маълумот ва адресларни вақтинча саклаш учун қўлланиладиган ОҲҚдаги махсус ташкил қилинган қисмдир. Стекка охирги ёзилган сон биринчи бўлиб чақирилади.
RET қайтариш буйруғи эса қайтиш адресини стекдан чиқариб олиб, дастур ҳисоблагичига юклайди. Кейин эса асосий дастур иши шу юкланган охирги адресдан давом эттирилади. Барча мавжуд қисм дастурлар RET буйруғи билан тугаши зарурдир.
Асосий дастур адреси қисм дастур бажарилиши жараёнида автоматик тарзда сақланиши ва унинг қайта тикланиши қисм дастурларнинг ичида қўшимча қисм дастур киритиш имкониятини яратиб, бунда бир қисм дастурдан иккинчисини чақириш мумкин бўлади. Бунда жойлаштириш сатхи кичик-ЭҲМнинг стеки хажми билан чекланади.
Қисм дастурларни чақириш ва ундан қайтиш учун яна шартли буйруқлар ҳам мавжуд. Улар қисм дастурларни чақириш ва ундан қайтиш учун холатлар регистрининг баъзи бир холатларидан фойдаланилади.
Қисм дастурни чақириш ва ундан қайтиш буйруқларидан ташқари стек билан маълумотлар айрбошлашни PUSH<P> (белгиланган МП КИС регистридаги маълумотни стекка ёзиш) ва POP<P> (маълумотни стекдан МП КИСининг белгиланган регистрига кўчириб ёзиш) буйруқлари билан ҳам амалга ошириш мумкин. Бу буйруқлар бир байтли бўлиб, уларда МП КИСининг жуфт регистрлари кўрсатилади.
Дастурлар ишлаб чиқарилаётганда аввал стек чегараси кўрсатилиб, LXI SP<A2><A> ёки SPHL буйруқлар орқали SP (стек кўрсатгичи) адресига ёзиб қўйилади.
Стек билан бажариладиган амаллар тенг бўлмоги зарур. Бошқача айтганда, ҳар бир қисм дастур ичида PUSH<P> ва POP<P> буйруқлари тенг бўлиб, RET буйруғи билан тугаши керак. Акс холда RET буйруғининг қисм дастур охрида бажарилиши дастур ҳисоблагичига стекдан тасодифий сон ёзилишига олиб келади. Бу эса асосий дастурга қайтиш адресининг йўқолишига ва унинг бажарилишининг бузилишига олиб келади.
12-расмда стек хотирасининг ишлаш жараёни тушунтирилган. Стекка А сўзи жойлаштирилганда у биринчи бўш бўлган хотира ячейкасини эгаллайди. Кейинги ёзилаётган сўз олдинги ёзилиб турган сўзни битта юқорига ячейкага суриб, ўзи эса шу бошлаган жойни эгаллайди ва қолган холларда ҳам шу тартибда давом этади. Саккиз ячейкали стекка 8 сўз Н дан кейин ёзилиши, стекнинг тўлиб кетишига ва А сўзнинг йўқолишига олиб келади. Стекдан маьлумот ёзилган сўзларни ўқиш тескари тартибдан юз беради, бошқача қилиб айтганда охирги ёзилган Н сўзини ўқишдан бошланади. Шуни айтиш керакки, Е сўзини танлашни F сўзини олмагунча бажариш мумкин эмас.
|
|
|
|
|
|
А |
|
|
|
|
|
|
В |
|
|
|
|
|
|
С |
|
|
|
|
|
|
D |
|
|
|
|
|
|
E |
|
|
|
|
А |
|
F |
|
|
А |
|
В |
|
H |
Стек чўққиси.
12 - расм. Стек хотирасининг ишлаш жараёни.
13-расмда оддий кутиш вақтини хосил қилувчи қисм дастурнинг алгоритми келтирилган. Умумий кутиш вақти қуйидаги муносабат билан аниқланади:
TD = t1 + (t2 + t3 + t4)N1 + t5 (13)
бу ерда N - ҳисоблагичга ёзилган бирламчи сон.
Ҳисоблагич сифатида В регистр танлаб олинган бўлиб, унга N1 сони С регистрдан олиб ёзилади.
Йўк
В=0
Ҳа
13-расм. Кутиш вақти хосил қилувчи оддий қисм дастурнинг алгоритми,
Қуйида DLY кутиш вақти 3 - қисм дастури келтирилган.
3 - қисм дастур
Адрес Маш. коди Белги Мнемокод Изоҳ
0900 41 MOV B,C С регистрдан В регистрга сон ёзилсин.
0901 00 DLY: NOP Буш амал
0902 05 DCR B В регистрдаги сон қиймати 1га
камайтирилсин
0903 С2 01 09 JNZ DLY Агар В регистрдаги сон 0га тенг
бўлмаса, DLYга ўтилсин
0906 С9 RET Қайтиш
NOP буйруғи циклдаги бажарилиш вақтини узайтириш учун зарур бўлиши билан бирга, у умумий кутиш вақтини ҳам кўпайтиради. NOP буйруғи ўрнига бошқа буйруқлар кетма-кетлигидан ҳам фойдаланиш мумкин бўлиб, фақат олинган буйруқлар микропроцессор регистрлари ишини ўзгартирмаслиги лозим. N1 сонининг В регистрга иш ва t1 + t5 қисм дастурдан чиқиш вақтлари аниқ бўлиб, улар цикл вақти ичига кирмайди. Келтирилган қисм дастурдаги минимал кутиш вақти N1=0.1 аниқланади ва у
Tdmin = t1 + t2 + t3 + t4 + t5 га тенг
N1=00 бўлганда максимал кутиш вақтига эга бўлади ва у қуйидаги муносабат орқали аниқланади
Tdmax = t1 + (t2 + t3 + t4)256 + t5 (14)
4-дастур ва 3-қисм дастур ёрдамида саккиз разрядли сонларни қўшишни амалга ошириш мумкин.
4 - дастур
Адрес Машина коди Белги Мнемокод Изоҳ
0900 LXI H,0940 Қўшилувчи сонларнинг бош
0903 LXI D,0A10 адресларини юкланг
0906 MVI C,08 Хисоблагични урнатиш
0908 PUSH PSW А регистр ва холатлар
қийматини стекда саклаш
0909 POP: CALL SLOG SLOG кисм дастурни
чакириш
090С SUB A Аккумулятор тозалаш
090D DCR O Хисоблагични 1га
камайтириш
090Е JZ LOP Агар регистр С=0 булса, унда
LOP га утилсин.
0911 INX H Кейинги қўшилувчилар жуфт-
0912 INX D лиги адресларини ташкил этиш
0913 JMP POP POP 0га шартсиз утиш
0916 LOP: POP PSW А регистр ва холатлар киймати-
ни стекдан чикариш
0917 HLT Дастур охири
5 - кисм дастур
Адрес Машина коди Белги Мнемокод Изоҳ
096С SLOG: MOV B,M Қўшилувчиларни хотирадан В
регистрга юклаш.
096D LDAX D D регистридаги сонни чакириш.
096Е ADC B Кучиришни хисобга олиб қўшиш.
096F STAX D Йигиндини иккинчи қўшилувчи
адресида саклаш.
0970 RET Асосий дастурга кайтиш.
У й д а т а й ё р л а ш у ч у н т о п ш и р и к л а р
1. CALL<A1><A2> ва RET буйруқларининг кичик-ЭҲМ да бажарилиш вақт диаграммаси урганилсин.
2. Кисм дастурни чакириш ва унга кайтиш учун МП КИСларининг шартлари .
3. 4-ва 5-кисм дастурларни ишга тайёрланг.
4. 5-кисм дастурининг бажарилиш вақтини аникланг.
5. 5 ва 10 секундли кутиш кисм дастурларини тузинг.
амалий ишларни бажариш учун топшириқлар
1-топшириқ 3-кисм дастур ёрдамида кутиш вақтини текшириш
Топшириқни бажариш тартиби :
1. Кичик-ЭҲМ га 3-қисм дастур киритилсин .
2. Қисм дастур ишга туширилсин ва унинг бажарилиши кичик-ЭҲМда қадамлаш режимида текширилсин.
2-топшириқ. 4-дастур ва 5-қисм дастур текширилсин
Топшириқни бажариш тартиби:
1. 4-дастур ва 5-қисм дастур кичик-ЭҲМга киритилсин.
2. Бошлангич маълумотлар (саккиз разрядли қўшилувчилар) киритилсин.
3. 0900 адресдаги дастур ишга туширилсин.
4. Олинган натижа текширилсин.
Ҳ и с о б о т н и н г м а з м у н и
Ҳисоботда қуйидагилар бўлиши керак:
1. CALL<A1><A2>, RET буйруқларининг вақт диаграммалари.
2. МП КИС КР580 учун қисм дастурни чақириш ва ундан қайтиш буйруқлари тўғрисида тўлиқ маълумотлар.
3. 5 ва 10 секундли кутиш дастурларининг уйда тайёрлаб келинган нусхаси (ҳисобланган вақтлари билан).
4. 3, 4, 5-дастурлар.
4-амалий иш. МАЪЛУМОТЛАРНИ КИРИТИШ ВА ЧИқАРИШни ташкил этиш
Ишдан мақсад: Оддий киритиш - чиқариш қурилмаларининг уланиши ва массив маьлумотларини алмашишни ташкил қилиш усулларини текшириш; дисплей ва клавитурани МПТга улашнинг дастурий - аппарат усулини ўрганиш.
Қисқача назарий маълумотлар
МП КИС КР580ИК80да киритиш ва чиқариш буйруқларига IN(A1) ва OUT(A1) буйруқлари киради. IN(A1) буйруғининг бажарилишида кичик-ЭҲМга (А1)адресли қурилмадан маьлумотни ўқийди ва уни аккумуляторга ёзади. OUT(A1) буйруғининг бажарилишида МП КИС маьлумотни аккумулятордан олиб А1 адресли чақириш қурилмасига ёзади. Қурилманинг адреси бир байт асосида кўрсатилгани учун, бу буйруқлар ёрдамида кичик-ЭҲМ фақат 256 тадан ортиқ бўлмаган ташқи қурилмалар билан маьлумот алмашиш мумкин.
Оддий киритиш ва чиқариш қурилмалари сифатида 8-разрядли регистрларни қўллаш мумкин. (Масалан, кўп режимли буфер регистри К589ИР12).
Киритиш ва чиқариш қурилмаси сифатида бирмунча мураккаб схемаларни ҳам қўллаш мумкин, масалан маьлумотни кодда киритиш ва чиқаришнинг ташкил қилувчи дастурланувчи қурилма (КР580ИК55) КР589ИР12 (Д1) кўп режимли регистр қайта улагичлар асосида қурилган киритиш қурилмасининг кичик-ЭҲМга улаш схемаси 16-расмда келтирилган. Қайта улагич уланганда регистрнинг киришига "0" берилади, узилганда эса "1" берилади. Қайта уланган (переключатель)лар ташқи қурилмаларидан маьлумот узатишни ташкил қилиш учун ишлатилади. Регистрга ёзилган сонларни индикация қилиш учун (HL1-HL8) ёруғлик диодларни регистрга улаш мумкин. 17-расмда КР589ИР12 (Д1) схема асосида қурилган ташқи қурилмани кичик-ЭҲМга уланиш схемаси келтирилган. HL1-HL8 ёруғлик диодлар ташқи қурилмага ёзилган сон миқдорини кўрсатади. Киритиш қурилмасидан (20 адреси билан) чиқариш қурилмасига (30 адресли билан) сонни қайта ёзишнинг оддий дастури (11-дастур) қуйидаги кўринишга эга.
8-жадвал. 11-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изоҳ |
0800 |
DB 20 |
CNT: |
IN 20 |
20 - адреслик киритиш қурилмасидан сонни аккумуляторга ёзиш. |
0802 |
D3 30 |
|
OUT 30 |
30 - адресли аккумулятордаги сон 30 адресли чиқариш қурилмасига ёзиш |
0804 |
С3 0008 |
|
JMP CNT |
CNTга бориш. |
16-расм. Киритиш қурилмасини кичик-ЭҲМга улаш схемаси.
17-расм.Чиқариш қурилмасини кичик - ЭҲМга улаш схемаси.
Маьлумотни қабул қилиш учун қулай бўлган чақириш қурилмаси сифатида кўпинча дисплей қўлланилади. 6 та ячейкадан иборат бўлган дисплейни улаш усулини кўриб чиқамиз. Бу ячейкаларда 8-та ёруглик-диоди умумий аноди билан битта корпусга ўрнатилган. Ҳар бир индикатор (3а-расм) сон сегментларини тасвирлаш учун 7 та ёруғлик-диодларидан иборат, 8 ёруғлик-диоди эса нуқтани тасвирлаш учун ишлатилади (18 б- расм).
18 - расм а) ташқи кўриниши. б) етти сегментли ёруғлик-диодлар матрица схемаси.
19- расм. Дисплей ячейкаларни номерлаш.
Дисплейни кичик-ЭҲМга улашда зарур бўлган схемотехника таъминотини камайтириш учун кўпинча индикаторларнинг мультиплексли иш режими қўлланилади. Бунда информацияни дисплейга чиқариш учун КР580ВВ55 КИС кўланилади. КР580ВВ55 КИСнинг 3 та 8-разрядли А,В,С канали мавжуд. КИС 3 хил иш режимида ишлайди. 0 , 1 , 2 режимлар. 0-режими А ва В каналларни дисплей ишини бошқариш учун маълумотларни чиқаришга мослаштиради, С каналини эса маълумотларнини қабул қилишга мослаштиради. 1 ва 2 режимлар бошқа максадда қўлланилади.
20-расм. Дисплей ва клавиатурани кичик-ЭҲМга улаш схемаси.
Бунинг учун бошқарувчи сўз (FB адресли) регистрига 89Н бошқарувчи сўз коди ёзилади. В канал орқали (F9 адрес) диод матрицасининг катодига ёруғлик кўриниши лозим бўлган рақамнинг коди узатилади. А канал орқали аниқ разрядни танлаш амалга оширилади. (20- расмга қаранг).
Индикаторнинг ҳар бир ячейкасини бир хил сегментлари умумий шина билан боғланган бўлиб, бу шина D1 ва D2 (K155 ЛА12) кичик схемаларнинг бирор бир чиқишига улангандир. Бу кичик схемаларнинг ҳар бири кучланиш қобилиятига эга бўлган 4та "2И-НЕ" элементидан таркиб топган. D1 ва D2 кичик схемалар В каналининг кучланиш қобилиятини кўпайтиради ва шина ташкил этувчи вазифасини бажаради. Индикаторнинг умумий анодлари А каналининг чиқишида VТ1-VТ6 транзистор коллекторларнинг бирортасига уланади. Тасвирлаш учун А ва В каналларига маълумот чиқариш иккита OUT буйруғи билан амалга оширилади. Масалан, В каналига 00000110 (06Н) сони чақирилганда ёруғлик матрица катодига тескари қийматлари 11111001 берилади, А каналига эса 0010 0000 сони чиқарилади VТ6 транзистор очилади ва ток +5B -VT6 -HG6 -b ва c-D1.2 ва D1.3-ер занжири орқали оқиб ўтади. Бунда ўнг томондаги индикаторда "1" ёнади. Агар энди ҳамма ячейкалар кетма-кет дастур орқали ёритилиши амалга оширилса ва бунда А канал орқали ёниш лозим бўлган ячейка танланса В канал орқали эса шу ёнадиган маьлумот коди етарлича тезлик билан ўчирилиб - ёқилиб турилса, у холда дисплей экранида аниқ маьлумот пайдо бўлади.
Дисплей ячейкасининг 6 индикаторига 6 рақамини чиқаришнинг оддий дастурини келтирамиз.(12-дастур).
9-жадвал. 12-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изоҳ |
0800 |
3E 89 |
|
MVI A, 89H |
Бошқарув сўзини РУС (СWR)га юклаш. |
0802 |
D3 FB |
|
OUT СWR |
|
0804 |
3E 7D |
|
MVI A,7DH |
6 рақамининг кодини В каналга юклаш |
0806 |
D3 F9 |
|
OUT port B |
|
0808 |
3E 20 |
|
MVI A,20H |
индикатор номерини А каналга юклаш |
080A |
D3 F8 |
|
OUT port A |
|
080C |
76 |
|
HLT |
|
21-расмда К580ИК55 КИСни бошқариш учун буйруқлар форматининг кўриниши келтирилган. Керакли буйруқ кодини ва иш режимини танлаш(олиш) учун керакли разрядларга "1" ёки "0" ёзилади, хосил қилинган сон иккилик саноқ тизими кўринишидаги 8 разрядли сон бўлади ва шу сонни ўн олтилик рақам кодига ўтказиш керак. Шундан сўнг керакли буйруқ коди хосил бўлади, яъни хосил килинган код ёрдамида, керакли портни киритиш ёки чиқариш учун дастурлаш имкониятига эга бўламиз.
1 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0
|
Режим 0 |
0 |
0 |
Режим 1 |
0 |
1 |
Режим 2 |
1 |
0 |
Кириш |
1 |
|
1 |
Киритиш |
Чиқиш |
0 |
|
0 |
Чикариш |
Кириш |
1 |
|
0 |
Режим 0 |
Чиқиш |
0 |
|
1 |
Режим 1 |
21-расм. К580 ИК55 КИС га буйруқни белгиловчи режимларнинг формати
Дисплейнинг мультиплекс режимини ташкил қилиш.
Мультиплекс иш режимида дисплейнинг ҳар бир индикаторига маьлумот чиқариш кетма-кет амалга оширилади. Индикаторда рақам ёки символ вақт оралиғи қисм дастур ёрдамида қандайдир муддатга ёритилади. Индикаторларининг юқори частотада ўчиб-ёниши маълумотини рақамли дисплейда ёрқин тасвир ҳосил қилишга олиб келади.
Дисплейнинг мультиплекс режимини таъминловчи дастурнинг алгоритм схемаси 22-расмда келтирилган (13-дастур). Дисплейнинг ҳар бир ячейкасига чиқариш учун маълумот коди хотиранинг 0900 ... 0906 адресли кетма-кет ячейкаларида сақланади. Бунда дисплейнинг биринчи индикаторига чиқариш лозим бўлган рақам маълумот коди 0900Н адресига ёзилган. Вақт оралиғи қисм дастурнинг бошланғич адреси 0880Ндир.
Йўқ
Ҳа
|
10-жадвал. 13-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изоҳ |
0800
|
3Е 89 |
|
MVI A,89H |
Бошқарув сўзи РУС (CWR)га юклаш |
0802 |
D3 FB |
|
OUT CWR |
Биринчи рақам адресини юклаш. |
0804 |
21 00 09 |
START: |
LXI H,0900 |
|
0807 |
AF |
|
XRA A |
Барча индикаторлар ўчирилсин. |
0808 |
D3 F8 |
|
OUT F8 |
|
080А |
0601 |
|
MVI B,01H |
Биринчи ёқиладиган индикатор разряди адресини юклаш. |
080С |
7Е |
STEP4: |
M0V A,M |
B портга тасвирланадиган рақам коди чиқарилсин. |
080D |
D3 F9 |
|
OUT F9 |
|
0812 |
СD 80 08 |
|
CALL DELL |
Рақамлар ёниш даврини чегаралаш қисм дастури чақирилсин. |
0815 |
78 |
|
MOV A,B |
Ҳамма маълумот чиқариб бўлинганми? |
0816 |
FE 20 |
|
CPI 20 |
|
0818 |
СА 04 08 |
|
JZ START |
Агар чиқариб бўлинган бўлса, унда иш дастур бошидан бажарилсин, агар шарт бажарилмаса, дастур ўз ишини давом эттирсин |
|
|
|
|
|
081В |
А7 |
|
ANA A |
Навбатидаги разряд адреси кўрсатилсин ва В регистрга ёзилсин |
081С |
17 |
|
RAL |
|
081D |
47 |
|
MOV B,A |
|
081E |
23 |
|
INX H. |
Рақамлар коди адреси оширилсин |
081F |
AF |
|
XRA A |
Ҳамма индикаторлар ўчирилсин. |
0820 |
D3 F8 |
|
OUT F8 |
|
0822 |
C3 00 08 |
|
JMP STEP4 |
STEP4 белгили дастурлар каторига ўтилсин. |
0825 |
76 |
|
HLT |
Тўхташ |
0880 |
DE OF |
DEL: |
MVI C, OFH |
OF рақам С регистрга юклансин. |
0882 |
16FF |
BACK: |
MVI D,FFH |
FF рақам D регистрга юклансин. |
0884 |
15 |
BACK1: |
DCR D |
D регистрдаги рақам микдори 0 тенг бўлгунга қадар иш бажарилсин |
0885 |
С2 84 08 |
|
JNZ BACK1 |
|
0888 |
0D |
|
DCR C |
OF марта иш қайтарилсин |
0889 |
C2 82 08 |
|
JNZ BACK |
|
088С |
С9 |
|
RET |
Рақамлар ёниш чегарасини тугатиш. |
Клавиатурани кичик-ЭҲМга улаш
Кичик-ЭҲМда клавиатура энг кенг тарқалган маьлумот киритиш ва бошқариш қурилмасидир. Клавиатура ёрдамида ОХКга дастур киритиш, кичик-ЭҲМ учун турли иш режимларни хосил қилиш (масалан кўрсатилган адрес ёрдамида дастурни ишга тушириш, дастур ишини тўхтатиш, дастурни машина иш цикли бўйича ишлатиш, МП КИС дисплейига регистрларга ёзилган маьлумотларни чиқариш ва бошқалар) мумкин.
Кичик-ЭҲМ ишлаб чиқкарувчи олдида турли холларда маьлумотларни клавиатура орқкали киритиш даврида, қуйидаги асосий масалаларни ечиш талаб этилади;
1) клавиатурада клавиша (тугма) ларнинг босилиш холатини аниқлаш:
2) босилган клавиш (тугма) рақамини қидириб топиш:
3) бошқаришни мос қисм-дастурга узатишни бажариш:
Кўрилаётган бўлимда биз асосан биринчи икки масала бўлган, маьлумотларни клавиатуралар орқали киритишга эьтиборни қаратамиз. Учинчи масала эса қоида бўйича дастур усули орқали ечилади. Клавиатурага n x m ўлчамли матрица кўринишдаги ташкил қилиш энг қулайдир, бу ерда n x m матрица қатор ва устуни мос равишда аниқлайди. Шу усулда кичик-ЭҲМга n x m клавиш улаш мумкиндир.
20-расмда келтирилган ўқув кичик-ЭҲМда дисплей ва клавиатура А ва С портларга улангандир. Шуни таъкидлаш зарурки А канал ҳам дисплейни ва ҳам клавиатурани бошқариш учун ишлатилади. С канал эса клавиатурани киритиш қурилмаси адреси FAN сифатида ўқувчи канал деб қабул қилинган.
Клавишанинг босилганлиги холатининг дастур орқали аниқланиши қуйидаги кетма-кет амаллар тартибидан иборат.
1. Чиқариш қурилмаси (А канал) разрядларига ноллар ёзилсин.
2. Кириш қурилмаси (С канал) разрядларига ёзилган маълумот ўқилсин.
3. Агарда қурилмаларига бирлар ёзилган бўлса, иш жараёни бошидан қайтарилсин. 14-дастур юқорида келтирилган алгоритм ёрдамида клавишалардан бирининг босилиш холатини аниқклаш билан, қайси клавиш босилгани кўрсатмайди.
22-расмда эса босилган клавиш рақамини аниқлаш алгоритми келтирилган. Бу алгоритм матрица клавиатураси устунларга кетма-кет нолларни ёзишга асослангандир. Кичик-ЭҲМда клавиша босилганини аниқланаётган, устунда нол борлигини билиш учун, клавиатура жойлашган устун тахлил қилинади. Агар қайси бир клавиш босилган бўлса, у холда унинг рақамини разряд номерида нол ёзилган жойининг аниклаш орқали билиш мумкин. Босилган клавиш рақами клавиатура устуни номерида ноль борлигига мос келади ва бу рақам кириш қурилмаси бўлган (С канал) разрядига нол ёзилган разряд рақамига тенгдир.
11-жадвал. 14-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изоҳ |
0800 |
3Е 3F |
WAITK: |
MVI A,3F |
Аккумуляторнинг кичик олти разрядига 1 ёзилсин. |
0802 |
D3 F8 |
|
OUT F8 |
Клавиатуранинг ҳамма устунларига 0 чиқарилсин. |
0804 |
DB FA |
|
IN FA |
Клавиатура чиқишидан рақамли сон олинсин. |
0806 |
E6 74 |
|
ANI,74H |
Фойданилаётган разрядлар тозалансин |
0808 |
FE 74 |
|
CPI,74H |
Клавиатура чиқишида нол борми? |
080А |
СА 00 08 |
|
JMP NEXT |
NEXT адреси бўйича навбатдаги бажарилиши лозим бўлган жойга ўтилсин. |
Йўқ
Йўқ
Ха
Йўқ
Ха
22–расм. Кичик-ЭҲМ клавиши босилганини аниқлаш алгоритми.
Кўпинча маълумотларни товуш сигналлари кўринишда чиқариш талаб этилади. Бунинг учун кичик-ЭҲМда товуш сигналларини 23-расмда келтирилган оддий схема орқали хосил қилиш мумкин. Бу жараён схема киришига, кетма-кет "0" ва "1" ёзиш орқали амалга оширилади. Товуш сигналларини хосил қилиш қисм дастури 15-дастурда, шу дастур алгоритми 24-расмда келтирилган.
|
|
23- расм. Товуш сигналларини хосил килиш
24 расм. Товуш сигналларини чикариш алгоритми
12-жадвал. 15-қисм-дастур
Адрес |
Машина коди |
Белги |
Мнемокод |
Изоҳ |
0А00 |
AF |
ВРР: |
XRA A |
Аккумулятор тозалансин. |
0А01 |
D380 |
|
OUT 80 |
Чиқиш қурилмасига ёзилсин |
0A03 |
CD 00 09 |
|
CALL DLY |
Вақтни чегаралаш қисм дастури чақирилсин. |
0A06 |
2F |
|
СMA |
FF коди аккумуляторга ёзилсин |
0А07 |
D3 80 |
|
OUT 80 |
FF коди чиқиш қурилмасига ёзилсин |
0А09 |
CD 00 09 |
|
CALL DLY |
Вақтни чегаралаш қисм дастур чақирилсин. |
0А00 |
09 |
|
RET |
Қайтиш. |
1. 20-расмда келтирилган клавиатура ва дисплейнинг кичик-ЭҲМга уланиш схемаси билан танишинг.
2. Маълумотларни мультиплекс режимида дисплейга чиқарилишини ўқинг.
3. Клавиатуранинг босилган клавиш рақамини аниқлаш тамойилини ўқинг.
4. 11-15-дастурларни ўқиб ўрганинг.
5. Битта рақамли сонни дисплейнинг турли разрядларида мультиплекс равишда кетма-кет чиқариш дастурини ишлаб чиқаринг. Ҳар бир рақамнинг чиқариб ёритиш учун вақтни чегаралаш қисм-дастуридан фойдаланиш, вақтни чегаралаш нималарга боғликлигини аниқланг.
6. 13-жадвалдан ўз вариантингизга мос дастурни (13-дастурдан фойдаланиб ўз дастурингизни) яратинг ва текширинг.
13-жадвал
Вариант |
Дастур шарти
|
1 ва 12 |
1,2,3,4,5 индикаторларда ГОРОД сўзи 7 рақамли клавиш босилгандан сўнг ёритилсин. |
2 ва 13 |
3 рақамли клавиш босилганда ВЕСНА сўзи кетма-кет ёқилсин ва улар 1,2,3,4,5 индикаторларда учиб ёнсин. |
3 ва 14 |
В клавиши босилиши билан ГОРА сўзи 1,2,3,4 индикаторларда, бир секунддан сўнг эса 3,4,5,6 индикаторларда пайдо бўлсин. |
4 ва 15 |
А клавиши босилиши билан ЗОНА сўзи кетма-кет фақат бир индикаторда чиқарилсин. |
5 ва 16 |
4 клавиши босилиш билан БОРЬБА сўзи ҳар 0,5 сек давомида учиб ёниб турсин. |
6 ва 17 |
D клавиши босилгандан сўнг 1,2,3 индикаторларда, 250 мсек сўнг эса 4,5,6 индикаторларда ГОД сўзи чиқарилсин. |
7 ва 18 |
6 рақамли клавиша босилгандан сўнг РОЗА сўзи кетма-кет дисплей экрани бўйича ўнг томонга сурилиб ёниш дастури ишлаб чиқарилсин. |
8 ва 19 |
9 рақамли клавиша босилгандан сўнг АВАНГАРД сўзи кетма-кет икки индикаторда ёниб кўриниш дастури ишлаб чиқарилсин. |
9 ва 20 |
С клавишани кетма-кет босиш жараёнида 3,4,5,6 индикаторларда СЛОН сўзи чиқарилсин. |
10 ва 21 |
1 рақамли клавиш босилгандан сўнг 2,3,4,5,6 индикаторларда ВОЛНА сўзи чиқарилсин, сўзлар 1 сек оралиқда кетма-кет чиқарилиши зарур бўлиб, сўнгра улар 1 сек оралиқда ўчиб ёниб туриши зарурдир. |
11 ва 22 |
7 рақамли клавиша босилганидан сўнг, РАУНД сўзи 1,2,3,4,5 индикаторларда чиқарилиб ўнг томонга сурилиб ёқилсин, 8 рақамли клавиша босилганда эса шу сўз чап томонга сурилиб ёқилсин. |
Амалий ишларни бажариш учун топшириқлар
1-топшириқ. 1-дастур киритилсин.
Топшириқни бажариш тартиби.
Кичик - ЭҲМ хотирасига 1 дастур киритилсин .
1.1. Дастур ишга туширилсин. Бешинчи дисплейда сегментларнинг ўгаришига эьтибор беринг, бунинг учун кириш қурилмасига берилаётган сон микдори ўзгартирилсин.
2-топшириқ. 13-дастур текширилсин.
Топшириқни бажариш тартиби.
2.1. 13-дастур кичик-ЭҲМ хотирасига ёзилсин
2.2. Дастур ишга туширилсин. Керакли клавиш босилсин ва унинг дисплейга чиқарилиши тўғрилиги текширилсин.
Ҳисоботнинг мазмун и
Хисобот қуйидагилардан иборат бўлиши зарур.
1. Индикатор сегментларга чиқарилаётган харф ва рақам кодлар жадвали.
2. Дисплей индикатори рақамига мос кодлар жадвали.
3. Ишлаб чиқарилган 13-дастур.
Мустақил тайёрланиш учун топшириқлар
1. 1,2,3,4,5,6 сонларни дисплейга чиқариш учун 0900-0905 адресларига қандай кодлар ёзилиши керак?
2. Агарда иккита клавиша бир вақтда босилса, қайси клавиша босилгани аниқланади, агар учтаси босилса-чи?
3. 12 ва 13-дастурлар шундай ўзгартирилсинки, клавиша рақамини аниқлаш доимий равишда амалга оширилсин.
4. Дисплей экранида маълумот текис силжиши(сурилиши) учун 13-дастурга қандай ўзгартиришлар киритиш зарур.
Адабиётлар
1. Преснухин Л.Н., Воробьев Н.В., Шишкевич А.А. Расчет элементов цифровых устройств. М.: Высш.шк., 1991, 526 с.
2. Угрюмов Е.П. Цифровая схемотехника. Учеб. пособие для вузов.ғ 2- изд.
перераб. и доп.-СПб. БХВ – Петербург. 2005.-800 с.:ил.
3. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. Учебник.-М.:Горачая линия- Телеком.,2003 г.-336.
4. Суворов В.И., Юнусов Д.Ю. Методическое руководство по лабораторно-практическим занятиям по курсу «Основы цифровой техники и микропроцессоры» (№ 47). ТЭИС, 1984, 118 с.
5. Хокинс Г. Цифровая электроника для начинающих: Пер. с англ. М.: Мир, 1986, 232 с.
6. Гольденберг Л.М. и др. Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учеб. пособие для вузов. М.: Радио и связь, 1992, 256с.
7. Абдурахманов Р.П., Баширов Р.В., Амирсаидов У.Б. Задания к контрольной работе и методические указания к их выполнению по курсу «Цифровая и вычислительная техника». ТЭИС, 1995, 30 с.
8. Преснухин Л.Н., Воробьев Н.В., Шишкевич А.А. Расчет элементов цифровых устройств. – М.: Высш.шк., 1991. – 526 с.
9. Угрюмов Е.П. Проектирование элементов и узлов ЭВМ . – М.: Высш.шк., 1987. – 318 с.
10. Суворов В.И., Юнусов Д.Ю. Методическое руководство по лабораторно-практическим занятиям по курсу «Основы цифровой техники и микропроцессоры» (№ 47). – ТЭИС, 1984. – 118 с.
11. Гольденберг Л.М. Цифровые устройства и микропроцессорные системы.
Задачи и упражнения.: Учеб. Пособие для вузов. М.: Радио и связь, 1992.
12. Гольденберг Л.М. Цифровые устройства на интегральных схемах в связи.
М.: Радио и связь, 1979, 232 с.
13. Абдурахманов Р.П., Баширов Р.В., Амирсаидов У.Б. Задания к контрольной работе и методические указания к их выполнению по курсу «Цифровая и вычислительная техника». – ТЭИС, 1995. – 30 с.
МУНДАРИЖА
КИРИШ ......................................................................................................... 3
1-АМАЛИЙ ИШ. Оддий дастурларни ёзиш ва
бажариш .................................................................................................. 4
2-АМАЛИЙ ИШ. Маълумотларни ниқоблаш ва
шартли ўтишларни ташкил этиш .......................................... 13
3-АМАЛИЙ ИШ. Қисм дастур ВА СТЕК........................................ 21
4-АМАЛИЙ ИШ. Маълумотларини киритиш ва
чикариш, дисплей ва клавиатурани улаш ..................... 27
АДАБИЁТЛАР ........................................................................................... 43