Коммерциялық емесАкционерлік қоғамы
АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТЕТІ
«Компьютерлік технологиялар» кафедрасы
КОМПЬЮТЕРЛІК ЖҮЙЕЛЕРДІҢ АРХИТЕКТУРАСЫ
5В070300 – Информациялық жүйелер
мамандығының барлық оқу түрінің студенттері үшін
зертханалық жұмыстарды орындауға арналған әдістемелік нұсқаулар
Алматы 2012
Құрастырушы: О.Т. Шанаев. Компьютерлік жүйелердің архитектурасы. 5В070300 – Информациялық жүйелер мамандығының барлық оқу түрінің студенттерінің сәйкесті пәні бойынша зертханалық жұмыстарды орындауына арналған әдістемелік нұсқаулар. – Алматы: АЭжБУ, 2012. – 52 б.
Әдістемелік нұсқауларда ұсынылып отырған жұмыстар 5В070300 – Информациялық жүйелер мамандығындағы “Компьютерлік жүйелердің архитектурасы” пәнінің оқу материалын мазмұны жағынан толық қамтыған зертханалық жұмыстар ұйымдастыруға арналған жұмыстар келтірілген. Олар мамандарға қойылған квалификациялық талаптарға, Мемлекеттік стандартқа, зертханалық жұмыстарды жүргізудің педагогико-психологиялық негіздеріне сәйкесті құрастырылған. Ұсынылған жұмыстар Electronics Workbench бағдарламасындағы моделдеу виртуалдық тәжірибелер түрінде және сәйкесті құрылымдардың бағдарламалық симуляторларында құрылған іс жүзіндегі тексерім түрінде орындалады.
Зертханалық жұмыстарға дайындалған әдістемелік нұсқаулар 5В070300 – Информациялық жүйелер мамандығындағы студенттерге арналған. Оларды өзге мамандықтарда оқылатын мазмұны жағынан ұқсас пәндерде де пайдалануға болады.
Без. 19, кест. 3, әдеб. көрсеткіші. – 9 атау.
Пікір беруші: аға оқытушы С. А. Адилгажинова
“Алматы энергетика және байланыс университеті” коммерциялық емес акционерлік қоғамының 2012 ж. басылым жоспары бойынша басылады.
© “Алматы энергетика және байланыс университеті” КЕАҚ, 2012 ж.
Кіріспе
“Компьютерлік жүйелердің архитектурасы” пәні жалпы компьютерлік жүйелердің де, микроконтроллер микросұлбаларының да құрамына кіретін әртүрлі құрылғылардың іскерлік негіздерін оқуға арналған. Студенттердің оқылатын пән бойынша теориялық білімінің қалыптастырылуын қамтамасыз ету үшін және олардың әртүрлі қыметке бағытталған цифрлық жүйелерді құру жолдарын игеруі үшін пәннің негізін қалаушы тақырыптары бойынша зертханалық жұмыстардың орындалуы ұйымдастырылу керек.
Әдістемелік нұсқамадағы бірінші жұмыс тұрақты жадылық құрылғының (ТЖҚ) құрылымы мен жұмыс принциптерін, бағдарламалы ТЖҚ-ны бағдарлау тәртібін және жады микросұлбаларын жасауда қолданылатын әртүрлі базалық құрылымдарды оқуға арналған.
Келесі екі жұмыс студенттерді, микропроцессорлық жүйелердің негізгі іскерлік блоктарына жататын, информация енгізу құрылғылары мен жады жүйесінің құралымдық ұйымдастырылуымен таныстыруға арналған.
Төртінші жұмыста зерттелетін микропроцессорлық жүйенің виртуальная моделі студенттердің осындай жүйелердің құрылымын түсініп, оларды бағдарлау принциптерін игеруге көрнекі мүмкіндік береді. Бұл төрт жұмыс Electronics Workbench бағдарламасында құрылған моделдерде орындалады.
8085 Simulator IDE симуляторы арқылы орындалатын келесі екі жұмыс студенттердің ассемблер тілінде бағдарлау негіздерін игеруін ұйымдастыруға арналған.
Соңғы екі жұмыс PIC Simulator IDE симуляторында орындалады және олар студенттердің Microchip компаниямының PIC микроконтроллерлерінің құрылымы жөнінде де, олардың бағдарламалық ерекшеліктері жөнінде де толық түсінік алуына мүмкіндік береді.
Әдістемелік нұсқамадағы жұмыстар микропроцессорлық жүйелердің әртүрлі бөліктемелерінің құрылымы жағынан ұйымдастырылуы мен олардың қызметінің өзара әрекеттесуі арқылы ұйымдастырылу бағытын студенттердің түсініп игеруіне арналғандықтан, олар оқытушының тікелей басқаруымен қатар орындалады.
Барлық жұмыста да студенттердің өздік жұмыстарына (СӨЖ) арналған тапсырмалар ұсынылған, олардың орындалуы студенттердің пәннен алған теориялық білімін нығайтуға және осы білімін сәйкесті аппараттық және бағарламалық құрылымдар құруға іс жүзінде қолдана білуіне икемділігін қалыптастыруға мүмкіндік береді.
1 Зертханалық жұмыс № 1. Жадылық құрылғылар
Жұмыс мақсаты:
- ROM жадыларының құрылым принциптерін игеру;
- PROM жадыларын бағдарлау тәртібін игеру;
- жады жүйелерінің негіздік құрылымдарымен танысу және олардың құрылу принциптерін игеру.
1.1 Жұмыс орнының құрал-жабдықтары:
- компьютер, Electronics Workbench Professional бағдарламасы;
- ROM(M) 16x7.ewb файлы;
- PROM 16x7.ewb файлы;
- RAM 2D_8x4.ewb файлы;
- RAM_3D_16x4.ewb файлы;
- RAM 2DM_32x4.ewb файлы.
1.2 Қажетті мәліметтер мен әдістемелік ұсынылымдар
Зертханалық жұмыстың бірінші тапсырмасы, оналтылық символдардың 7-сегментті индикаторда көрсетілуіне пайдаланылатын, өзгермейтін информация сақталған, тұрақты жадылық құрылғының (ТЖҚ) құрылымын және оның жұмыс принциптерін игеруге арналған (1.1 суретті қара).
1.1 Сурет
ТЖҚ блогы (қосалқы ROM_16x7 сұлбасы), сәйкесті аталымды қосалқы сұлбалар түрінде безендірілген, 16 шығысты дешифратордан (74154 микросұлбасы) және 16x7 түрінде ұйымдастырылған жады матрицасынан тұрады. Дешифратордың жұмысына рұқсат E (Enable) түймесінен алынатын сигналдың оң деңгейімен қамтамасыз етіледі. Жады жолдарының (7-разрядты ұяшықтардың) адресі 4-разрядты санауыш (қосалқы add4 сұлбасы) арқылы қалыптастырылады.
Екінші тапсырма, бастапқы жағдайда жалғамдар оналты горизонталь (дешифратордың шығыс жолдары) мен жеті вертикаль (дерек разрядтарының жолдары) жолдардың қиылыстарының барлығында болатын, микросұлба дайындамасын бағдарлау (тігу) принциптерін үйренуге арналған (1.2 суретті қара).
1.2 Сурет
Микросұлбаны бағдарлау келесі тәртіппен жүргізіледі:
- іске қосу (Activate simulation) түймесін басу арқылы сұлбаны жандандыр;
- W (Write/Read) түймесімен құрылғыны бағдарлау режиміне ауыстыр (сәйкесті жарықдиоды жанады);
- жады матрицасы жолының адресін қой;
- таңдалған жолға орналастырылатын символдың сегменттеріне сәйкесті түймелерді басу арқылы қажетті бағдарлау информациясын дайында;
- P (programming) түймесін тез басу арқылы таңдалған жолдың бағдарлануын (информация тігілуін) қамтамасыз ет;
- сегмент түймелерін бастапқы қалыпты жағдайына қайтар;
- клавишей W (Write/Read) түймесімен құрылғыны оқу режиміне ауыстырып, жады матрицасының жолдарында тігілген информацияны тексер.
Зертханалық жұмыстың келесі тапсырмалары жады жүйелерінің әртүрлі құрылымдарымен (2D, 3D, 2DM) және олардың жұмыс принциптерімен танысуға арналған. Олар сәйкесті моделдер (1.3-1.5 суреттерді қара) арқылы орындалады.
2D құрылымды жады жүйесін зерттеуге арналған сұлба (1.3 суретті қара) сәйкесті қосалқы сұлбалармен безендірілген келесі блоктардан тұрады:
- санауыш негізіндегі үшразрядты адрес қалыптастырғышы (add3);
- санауыш негізіндегі төртразрядты дерек көзі (data);
- құрамына сегізшығысты дешифратор (dc8) және регистрлер негізіндегі 8 ұяшықтан (rg4) тұратын жады ұяшықтарының матрицасы (8x4) кіретін жады жүйесі RAM_8x4. Жады матрицасының әрбір ұяшығында орналастырылған индикатор тәжірибе кезінде жады ұяшықтарының таңдалымын бақылауға мүмкіндік береді.
1.3 Сурет
3D құрылымды жады жүйесін зерттеуге арналған сұлба (1.4 суретті қара) сәйкесті қосалқы сұлбалармен безендірілген келесі блоктардан тұрады:
- санауыш негізіндегі төртразрядты адрес қалыптастырғышы (add4);
- санауыш негізіндегі төртразрядты дерек көзі (data);
- құрамына қосар дешифратор (2dc4) және регистрлер негізіндегі 16 ұяшықтан (rg4) тұратын жады ұяшықтарының матрицасы (16x4) кіретін жады жүйесі RAM_16x4.
1.4 Сурет
2DM құрылымды жады жүйесін зерттеуге арналған сұлба (1.5 суретті қара) құрамында келесі блоктар болады:
- 2DM құрылымды жады блогы RAM_32x4;
- деректерді дайындау блогы Prepare;
- басқару блогы Control.
RAM_32x4 жады блогының құрамы:
- жады элементтерінің матрицасы 32х4;
- жолды дешифрациялау блогы dc8;
- жолдан ұяшық таңдау (оқу кезінде) блогы mux4.
1.5 Сурет
32х4 жады матрицасында (логика жағынан) 8 жол болады, әрбір жолда төрт 4-разрядты жады ұяшығынан rg4 тұратын cell_4x4 блогы орналасқан. Іс жүзінде 32х4 жады блогы (жалғау және қарастыру ыңғайлылығы үшін) төрт cell_4x4 блогынан тұратын екі 16х4 блогының біріктірмесі түрінде ұйымдастырылған. Жады матрицасының әрбір ішкі блогы индикатормен қамтылған, олар тәжірибе кезінде жады ұяшықтарының таңдалымын бақылауға мүмкіндік береді.
Жады жолын таңдауға арналған dc8 блогы – сегіз шығысты дешифратор.
4-кірісті мультиплексорлар негізінде құрылған mux4 блогы жандан-дырылған жолдан қажетті ұяшықты таңдауға мүмкіндік береді.
Prepare блогы жады матрицасының жолына қатар жазуға арналған төрт 4-разрядты сөз дайындау қызметін атқарады. Дайындау кезеңінде бұл сөздер уақытша төрт 4-разрядты in аталымды жады ұяшығынан тұратын ішкі in_4 блогында сақталады. Бұл ұяшықтардың біреуін таңдау дешифраторлық блока 0_3 блогымен сілтенетін dc4 блогы арқылы жүзеге асырылады.
Control блогында басқару түймелері мен құрылғының жұмысын қамтамасыз етуші қоымша элементтер бірктірілген. Ол үш режимде жұмыс режимінде істей алады – жазуға деректер дайындау, жазу және оқу.
Деректер дайындау режимі келесі түрде орындалады:
- P (Prepare) түймесімен құрылғыны деректер дайындау режиміне ауыстыр (сәйкесті индикатор жанады);
- I (In) түймесімен in_4 блогындағы төрт ұяшықтың біреуін таңда (сәйкесті индикатор көрсетеді);
- С (CLK) түймесімен осы ұяшыққа data блогында қалыптасқан бір санды жаз.
Жазу/оқу режиміне ауыстыру P тұймесін қайта басумен жүзеге асырылады (индикатор сөнеді).
Жазу режимінде:
- A түймесімен жады матрицасының қажетті жолын таңда (сәйкесті 7-сегментті индикатор көрсетеді);
- С (CLK) түймесімен дайындалған деректерді жады матрицасының таңдалған жолына жаз.
Оқу режимінде:
- клавишей A түймесімен жады матрицасының қажетті жолын таңда (сәйкесті 7-сегментті индикатор көрсетеді);
- S (Select) түймесімен жады матрицасының жандандырылған жолынан нақтылы ұяшықты таңда (сәйкесті 7-сегментті индикатор көрсетеді).
1.3 Жұмыс тапсырмасы
1.3.1 ROM жадысының құрылым принциптерімен танысып, онымен жұмыс істеу тәртібін игер:
- ROM(M) 16x7.ewb файлын ашып, ондағы әртүрлі қосалқы блоктардың (4.1 суретті қара) құрылымымен таныс;
- жады ұяшықтарының адресін A (Address) түймесімен өзгерте отырып, жадының сәйкесті жолдарында жазылған информацияны тексер.
1.3.2 PROM жадысының құрылым принциптерімен танысып, оны бағдарлау тәртібін игер:
- PROM 16x7.ewb файлын ашып (4.2 суретті қара), ондағы chip16x7 матрицасы мен бағдарлау құрылғысының (programmer) құрылымымен таныс;
- жады матрицасының жолдарын келесі тізімдегі символдарды көрсетуге бағдарла: L, J, H, P, S, U, –, _, e, n, q, r және т.б.
1.3.3 2D құрылымды жады жүйесінің құрылу принциптерін игер:
- RAM 2D_8x4.ewb файлын ашып, ондағы 2D құрылымды жады жүйесінің (4.3 суретті қара) құрамындағы жеке блоктарды ашып, олардың құрылымымен таныс;
- келтірілген жады жүйесінің ұяшықтарына нақтылы информация жазып, сосын олардың сақталымын тексеру арқылы құрылғының жұмысын зертте.
1.3.4 3D құрылымды жады жүйесінің құрылу принциптерін игер:
- RAM 3D_16x4.ewb файлын ашып, ондағы 3D құрылымды жады жүйесінің (4.4 суретті қара) құрамындағы жеке блоктарды ашып, олардың құрылымымен таныс;
- келтірілген жады жүйесінің ұяшықтарына нақтылы информация жазып, сосын олардың сақталымын тексеру арқылы құрылғының жұмысын зертте.
1.3.5 2DM құрылымды жады жүйесінің құрылу принциптерін игер:
- открыть файл RAM 2DM_32x4.ewb файлын ашып, ондағы 2DM құрылымды жады жүйесінің (4.5 суретті қара) құрамындағы жеке блоктарды ашып және сәйкесті түсіндірме мәліметті оқи отырып, олардың құрылымымен таныс;
- RAM_2DM жадысының барлық жолына информация жазып, сосын жадының нақтылы ұяшығынан оқу мүмкіндігін тексер.
1.4 СӨЖ тапсырмалары
1.4.1 Стектік режимде істеуші жады құрылғысының сұлбасын құр.
1.4.2 Нақтылы адрестен бастап, ұяшықтарына тізбелеп жазу мүмкіндігі бар жады құрылғысын құр.
1.5 Тексерім сұрақтары
1. Жады құрылғыларының негізгі параметрлерін түсіндір.
2. ROM жадысының қызметін түсіндір?
3. ROM құрылымдарында қандай жады элементтері пайдаланылады?
4. PROM жадысы қайда және қалай бағдарланады?
5. EPROM және EEPROM жадыларының айырмашылығы қандай?
6. Жады элементтерінің қандай сұлбақұралысы RAM жадысының ең жоғарғы тезәрекеттікті қамтамасыз етеді?
7. Бірөлшемді және екіөлшемді RAM жадыларының құрылым ерекшеліктері қандай?
8. 2D және 3D құрылымдарын құндылығы мен кемістігіне байланысты салыстыр.
9. 2DM жадысының құрылым принциптерін және оның негізгі құндылығын түсіндір.
2 Зертханалық жұмыс № 2. Информация енгізу құрылғысы
Жұмыс мақсаты:
- мәртебелі шифраторлар негізіндегі информация енгізу құрылғысы-ның құрылым принциптерін игеру;
- құрылғының жұмысын жетілдіру бағыттарын үйрену;
- көпрежимді құрылғы құру жолын үйрену.
2.1 Жұмыс орнының құрал-жабдықтары:
- компьютер, Electronics Workbench Professional бағдарламасы;
- Input Unit (addressable).ewb файлы;
- Input Unit (multiplexing).ewb файлы;
- Input Unit (integration).ewb файлы.
2.2 Қажетті мәліметтер мен әдістемелік ұсынылымдар
Бірінші тапсырмада мәртебелі шифраторлар негізіндегі оналты түйме арқылы информация енгізу құрылғысын жүзеге асыру мүмкіншіліктері қарастырылады (2.1 суретті қара). Қалыптастырылған кодтар алдыңғы жұмыста зерттелген жады ұяшықтарында сақталады (қосалқы RAM_16x4 сұлбасы). Жазу үшін шифратор микросұлбасының CS шықпасындағы сигнал деңгейінің өзгерісі пайдаланылады. Бұл құрылғыда қажетті жады ұяшығының адресі алдыңғы жұмыстардағыдай санауыш арқылы дайындалады.
Сұлбаның негізгі блоктарына, түймелер жинамы түріндегі және шифраторлардан тұратын қосалқы 0_F және СD блоктары жатады. 0_F блогындағы әрбір түйменің сигналдық жолында ұзақтығы 10 ns теріс импульстердің қалыптастырғышы (l символымен белгіленген қосалқы сұлбалар) орналастырылған.
CD блогының негізін екі мәртебелі 74148 шифраторы арқылы құрылған кодылау сұлбасы қалайды. Ұзақтығы 10 ns жазу импульстері де осында код қалыптасуының басынан (түйменің баылу мезетінен) 20 ns кідіріспен өндіріледі. Қалыптастырылған импульстердің параметрлері (жазу сигналының ығыстырылымы) басылған түйменің кодының уақытында қалыптасуын және оның жадыға жазылуын қамтамасыз етеді.
2.1 Сурет
Осы жұмыста қарастырылатын келесі сұлбада (2.2 суретті қара) адрестің де, жазылатын информацияның да түймелер арқылы қалыптастырылу мүмкіндігі жүзеге асырылған, яғни адрес пен деректер жалғыз желі арқылы кезектесіп (мультиплексорланып) жіберіледі. Бұнда 0_F және СD блоктары қосалқы Input сұлбасына біріктірілген.
2.2 Сурет
Мультиплексорлау G түймесінен алынған сигнал деңгейімен анықталады: G=1 кезінде – адрес регистріне (қосалқы RG_addr сұлбасына) жазылатын адрес жіберілімі; ал G=0 кезінде – жадыға жазылатын дерек жіберілімі.
2.3 Сурет
Құрылғының алдыңғы екі вариантын біріктірген, одан әрі жетілдірілген варианты келесі сұлбада (2.3 суретті қара) қарастырылады. Бұл сұлбада адрес қалыптастырғышын екі түрлі режимде жүзеге асыруға болады: санауыштан (add4) және кодылау блогынан (Inter). Бұлардың арасында ауыстыру, яғни оларды мультиплексорлау K түймесімен басқарылатын үшжағдайлы элементтер негізінде құрылған екі блок (қосалқы 3st сұлбасы) арқылы жүзеге асырылады (K=0 кезінде – add4 және K=1 кезінде – Inter). Екі жағдайда да адрес жіберілімі G=1 кезінде, ал адрес жіберілімі – G=0 кезінде жүзеге асырылады.
2.3 Жұмыс тапсырмасы
2.3.1 Шифратор негізіндегі енгізу құрылғысының құрылым принциптерін игер:
- Input Unit (addressable).ewb файлын ашып (2.1 суретті қара), сұлбадағы қосалқы сұлбалардың құрылымымен таныс;
- алдымен S түймесі арқылы жады ұяшығының адресін қойып, сосын таңдалған жады ұяшығына сәйкесті түймені (0 … F) басу арқылы нақтылы информация жазып, құрылғы жұмысын тексер.
2.3.2 Әртүрлі информацияның кезектестіріліп жіберілу тәртібін игер:
- адрес пен мен дерек жіберілімі кезектестірілген сұлба келтірілген, Input Unit (multiplexing).ewb файлын ашып (2.2 суретті қара), сұлбадағы қосалқы сұлбалардың құрылымымен таныс;
- алдымен жады ұяшығының адресін қойып (G=1 кезінде), сосын таңдалған жады ұяшығына сәйкесті түймелер (0 … F) арқылы нақтылы информация жазып (G=0 кезінде), құрылғы жұмысын тексер.
2.3.3 Информация енгізілімінің тәртібі өзгертілмелі құрылғыны зертте:
- алдыңғы екі құрылғы біріктірілген сұлба келтірілген, Input Unit (integration).ewb файлын ашып (2.3 суретті қара), сұлбадағы қосалқы сұлбалардың құрылымымен танысу;
- құрылғының әртүрлі режимдердегі жұмысын зертте.
2.4 СӨЖ тапсырмалары
2.4.1 Түймелерді кезектеп тексеру принципімен (мультиплексорлар негізінде) информация енгізу құрылғысын құр.
2.5 Тексерім сұрақтары
1. CD блогындағы сұлбаның жұмысын түсіндір.
2. Қосалқы 3st сұлбасының қызметін және оның құрылым элементтерінің жұмысын түсіндір.
3. Зертханалық жұмыста қарастырылған құрылғылардың жұмыс принципін түсіндір.
3 Зертханалық жұмыс № 3. Жады жүйесінің құрылым негіздері
Жұмыс мақсаты:
- жады жүйесінің құрылымдық ұйымдастырылу принциптерін игеру;
- жады жүйесінің информациялық сиымдылығын ұлғайту принцип-терін игеру;
- цифрлық жүйенің көпвариантты жұмыс режимдерін қамтамасыз ету жолдарын үйрену.
3.1 Жұмыс орнының құрал-жабдықтары:
- компьютер, Electronics Workbench Professional бағдарламасы;
- Memory Expansion.ewb файлы.
3.2 Қажетті мәліметтер мен әдістемелік ұсынылымдар
Бірінші жұмыста қарастырылған жадылық құрылғылырдың базалық құрылымдары негізінде жады микросұлбалары құрылады. Бұндай микросұлбалардың информациялық сиымдылығы онша үлкен болмайды. Нақтылы микропроцессорлық жүйенің жұмысын қамтамасыз етуге қажетті сиымдылықты жады жүйесін құру үшін осындай бірнеше микросұлба пайдалануға тура келеді. Бұндай жағдайда олардың бірге жұмыс істеуін қажет ету керек болады, яғни нақтылы микросұлбаның кез келген ұяшығына сілтеу мүмкіндігі қамтамасыз етілу керек. Бұндай мүмкіндік қосымша дешифраторлар арқылы жүзеге асырылады. Нақтылы микросұлбаның таңдалуы адрестің үлкен разрядтарының мәнімен, ал оның құрамындағы қажетті ұяшық разрядтарының мәнімен анықталады.
Микроконтроллерлердің көпшілігінің (мысалы, Microchip фирмасының шығаратын PIC микроконтроллерлерінің) жады жүйесі әрбіреуі нақтылы санды (әдетте, бірдей) жады ұяшығынан тұратын, бірнеше дерек банкісі түрінде ұйымдастылған. Нақтылы дерек банкісінің таңдалуы жоғарыда суреттелген тәсілмен жүргізіледі. Бұндай іс жүзіндегі жүйелерде жадының информациялық сиымдылығын қосымша сыртқы жады қосу арқылы ұлғайту мүмкіндігі ескерілетінін ескерте кету керек.
Жұмыста, 16 ұяшықтан тұратын жады блоктарының (m16) негізінде құрылған, жады жүйесінің виртуалды моделі пайдаланылады (3.1 суретті қара). Құрылым құрамында, екінші жұмыста қарастырылған, түймелі информация енгізу блогы In пайдаланылған. Бұл модель микропроцессорлық жүйелердің жады жүйесінің құрылымы мен олардың жұмысын түсінуге көрнекі түрде мүмкіндік береді.
Жүйе, басқару блогындағы сәйкесті түймелердің жағдайымен анқталатын, бірнеше режимде жұмыс істейді. Бұл түймелердің жағдайын сәйкесті индикаторлар көрсетіп тұрады. Осы режимдерді сипатталық.
3.1 Сурет
Бастапқы сілтеу режимі (Pre), яғни дерек банкісінің нөмірі мен осы банктегі бастапқы ұяшықтың адресін қою, W=0 жағдайында жүзеге асырылады. Дерек банкісін таңдау оның нөмірін Sel регистріне S=1 жағдайында, ал жандандырылатын ұяшықтың адресін анықтау Add регистріне S=0 жағдайында жазу арқылы жүзеге асырылады. Бұл деректердің жазылуы қажетті санның оналтылық белгілемесіне (0 - F) сәйкесті түймені басу арқылы жүзеге асырылады. Жандандырылған ұяшықтың таңдалуы Sel (A1/A0) индикаторының жағдайымен көрсетіледі.
Жадыға дерек жазу (Write) W=1 жағдайында сәйкесті түймелердің (0 – F) біреуін басу арқылы жүзеге асырылады. Бұл кезде R түймесі R=0 жағдайында тұру керек. Ұяшық адресі мен банк нөмірін тізбелі өзгерту O (Order) түймесін басу арқылы жүзеге асырылады.
Жадыдан дерек оқу режимі (Read) осуществляется переводом клавиши R түймесін R=1 жағдайына ауыстырып, сосын ұяшық адресі мен банк нөмірін O түймесі арқылы өзгерте отырып, жүзеге асырылады.
3.3 Жұмыс тапсырмасы
3.3.1 Құрылғының әртүрлі қызмет блоктарын (базалық жады блогын, енгізу блогын, банк таңдау және және жады ұяшығына сілтеу регистрлерін) ашып, олардың ішкі құрылымы мен информациялық және басқару шықпаларының орналастырылу тәртібімен таныс.
3.3.2 Құрылғының жалпы құрылымымен, оның әртүрлі қызмет блоктарының арабайланыстарымен және басқару сигналдарының қалыптастырылу принциптерімен таныс.
3.3.3 Құрылғыны бастапқы сілтеу режиміне қойып (W=0), сәйкесті регистрлерге банк нөмірі мен осы банктегі ұяшықтың адресін енгіз.
3.3.4 Құрылғыны жадыға дерек жазу режиміне (W=1, R=0) ауыстыр да, жадының таңдалған ұяшығына нақтылы дерек жаз. Жады ұяшығының адресін өзгерте отырып (O түймесімен), жадыға дерек жазуды жалғастыр. Бұл деректерді жұмыс дәптеріңе жазып ал.
3.3.5 Құрылғыны жадыдан дерек оқу режиміне (W=1, R=1) ауыстырып, сосын жады ұяшығының адресін өзгерте отырып (O түймесімен), жадының сәйкесті ұяшығынан дерек оқылуын жүзеге асыр да, оларды алдында жазып алынған деректермен салыстыр.
3.4 СӨЖ тапсырмалары
3.4.1 Құрылғының әртүрлі қызмет блоктарының арасында жіберілетін басқару сигралдарының уақыттық параметрлерін (ұзақтығы, кідірімі) анықта.
3.4.2 Жады құрылғысының информациялық сиымдылығын екі есе ұлғайт.
3.1 Тексерім сұрақтары
1. Құрылғының әртүрлі қызмет блоктарының ішкі құрылымын суретте.
2. Құрылғының әртүрлі қызмет блоктарының арасындағы информациялық байланыстардың ұйымдастырылу принциптерін суретте.
3. Құрылғының әртүрлі қызмет блоктарының арасында жіберілетін басқару сигналдарының қалыптастырылу принциптерін суретте.
4 Зертханалық жұмыс № 4. MP4M моделі
Жұмыс мақсаты:
- микропроцессорлық жүйе (МПЖ) моделінің құрылымымен танысу;
- МПЖ моделімен жұмыс істеу тәртібін игеру;
- әртүрлі командалардың іс-әрекетін түсіну;
- МПЖ моделінде айналымды бағдарламалы құрылымдардың ұйымдастырылу принциптерін игеру;
- деректер массивімен жұмыс істеу тәртібін игеру;
- бірнеше санның қосындысын есептеу бағдарламасының құрылымын түсіну;
- деректердің нақтылы разрядындағы бірлік битті іздеу әдістемесін игеру.
4.1 Жұмыс орнының құрал-жабдықтары:
- компьютер, Electronics Workbench Professional бағдарламасы;
- MP4M.ewb файлы.
4.2 Қажетті мәліметтер мен әдістемелік ұсынылымдар
Құрамына микропроцессор (MP4M), дерек енгізу құрылғысы (In), жады жүйесі (Mem) және жүйенің жұмыс режимін таңдау блогы енгізілген, 4-разрядты микропроцессорлық жүйенің моделі 4.1-суретте келтірілген .
Рисунок 4.2
Микропроцессор құрамына келесі блоктар кіреді:
- арнайы қызметтік регистрлер жинағы (RGs, Registers);
- арифметикалық-логикалық құрылғы (ALU, Arithmetic-Logic Unit);
- команда регистрі (BUF, Buffer Register);
- команда дешифраторы (DC_16, Decoder 16-bit);
- таймер (CLK, Clock);
- микробағдарламалық құрылғы (Combi, Combinational Circuit.
Әрбіреуі нақтылы қызмет атқаруға арналған регистрлер жинағының (RGs) құрамына келесі регистрлер кіреді:
- A регистрі аккумулятор (Accumulator) қызметін атқарады, онда арифметикалық және логикалық операцияларға қатысты операндтардың біреуі немесе операциялардың орындалу нәтижесі сақталады. Аккумуляторға дерек жадыдан (LD A командасы) немесе ALU-дан (кезекті арифметикалық немесе логикалық операция орындалғаннан кейін) енгізіледі;
- A1 регистрі айналымды қосылымдардың ұйымдастырылуы кезінде туатын тасылымдарды жинауға арналған. Ол бағдарламаның іске қосылуы кезінде және аккумуляторға (A регистріне) LD A командасымен дерек енгізілуі кезінде тазартылады. Ондағы дерек Space түймесін қысқа уақытқа басу арқылы аккумулятор көрсеткіштеріне шығарылады;
- B регистрі микропроцессордың ішкі регистрлері мен жады арасындағы дерек жіберілімдерінің адрес регистрінің қызметін атқарады (LD C, LD IP, LD SP, LD A командалары). LD C, LD SP, LD A командалары орындалғаннан кейін B регистріндегі сан ұлғайтылады (яғни, оған бір қосылады). Бұл регистрге дерек LD B командасымен енгізіледі, оған адрес регистрі ретінде C регистрі пайдаланылады. Ол бағдарламаның іске қосылуы кезінде тазартылады;
- C регистрі арифметикалық және логикалық операцияларға қатысты екінші операндтың адрес регистрінің қызметін атқарады. Сәйкесті командалар орындалғаннан кейін С регистріндегі сан ұлғайтылады, бірақ оның бағытын (B регистрінен ерекше) өзгертуге болады, ол I түймесі арқылы қойылады және оның жағдайы (I) - Dcr/Inr көрсеткішінде көрсетіледі: I=0 кезінде – тура бағытта (Increment), ал I=1 кезінде – теріс бағытта (Decrement). Ондағы санды өзгермеген түрінде де қалдыруға болады, бұндай жағдай туралы жүйенің жұмыс режимдерін суреттеу кезінде айтылады. Бұл регистрге дерек LD C командасымен жүзеге асырылады. Бағдарламаның іске қосылуы кезінде бұл регистр 1111 жағдайына қойылады (XOR элементтері арқылы). Кез келген бағдарламаның құрамында дерек тарату командаларының болатындығынан, бағдарламаның бірінші командасы B регистріне дерек енгізу командасы (LD B) болу керек. C регистрінің сұлбасындағы төрткірісті OR элементі регистрдің нөлдік жағдайын анықтауға арналған, ол арқылы айналымды операциялардың ұйымдастырылуы кезінде шартты ауысу жүзеге асырылады;
- SP регистрі стек көрсеткішінің (Stack Pointer) қызметін атқарады, яғни PUSH және POP командалуы кезінде адрес регистрінің рөлінде болады: ондағы адрес PUSH командасының орындалар алдында кемітіледі (Predecrement) және POP командасы орындалғаннан кейін ұлғайтылады (Postincrement). Загрузка этого регистра осуществляется командой LD SP. Бұл регистрге дерек LD SP командасымен жүзеге асырылады. Бағдарламаның іске қосылуы кезінде бұл регистр 1111 жағдайына қойылады;
- IP регистрі команда көрсеткішінің (Instuction Pointer) қызметін атқарады. Кезекті команданың коды жадыдан шығарылып, команда регистріне сақталғаннан кейін ондағы адрес ұлғайтылады. Бұл регистрге дерек LD IP командасымен жүзеге асырылады. Ондағы адрес, жүйенің кейбір альтернативті жұмыс режимдерінде анықталатын, шартты ауысу кезінде де өзгертіледі. Ол бағдарламаның іске қосылуы кезінде тазартылады.
Барлық регистрдің кірістері – ішкі дерек желісіне, ал шығыстары (үш жағдайлы буферлік элементтер арқылы) атқаратын қызметіне сәйкесті дерек желісіне немесе адрес желісіне қосылған.
Арифметикалық-логикалық құрылғы (ALU, Arithmetic-Logic Unit) арифметикалық және логикалық операциялардың орындалуын жүзеге асырады. Оның құрамында сәйкесті операциялардың орындалуын жүзеге асырушы бөліктемелер (sum, not, and, or, xor) және операндтар мен орындалған операцияның нәтижесін уақытша сақтауға арналған буферлік регистрлер болады.
Команда дешифраторы (DC_16) кезекті команданың кодына сәйкесті орындаушы микробағдарламасын іске қосады, яғни осы команданың орындалуына қатысты құрылғыларға жіберілетін басқару сигналдарының қалыптастырылу жолын анықтайды.
Таймер (CLK) командалардың орындалуына қатысты құрылғыларға жіберілетін басқару сигналдарының уақыттық таралымын анықтайды.
Қиыстырмалы микробағдарламалық құрылғы (Combi, Combinational Circuit) кезекті команданың орындалуын қамтамасыз етуші кеңістіктік және уақыттық басқару сигналдарын қалыптастырады.
Енгізу құрылғысы мен жады жүйесінің негізі ретінде бұрын қарастырылған сәйкесті құрылымдар пайдаланылады.
Жадыны басқару жүйесі (MCon, Memory Control) жады блоктарының (команда кодтарының немесе деректердің) біреуін және енгізу құрылғысынан құрылғысынан немесе микропроцессордан түсетін басқару сигналдарына байланысты олардың жұмыс режимінің (ввода, записи, считывания) таңдалуын қамтамасыз етеді.
Жүйе бірнеше режимде істей алады, олар режим таңдау блогындағы (Regime) түймелердің жағдайымен анықталады. Олардың жағдайы сәйкесті көрсеткіштерде суреттеледі. Осы режимдерді суреттелік.
Енгізу құрылғысынан жады жүйесіне ақпарат енгізу M=1 кезінде жүргізіледі. Егер бұл кезде P=1 болса, онда ақпарат – бағдарлама жадысына (бағдарлама коды F тоқтату командасымен аяқталу керек), ал P=0 кезінде дерек жадысына енгізіледі. Жады құрамын тексеру Space түймесін қысқа уақытқа басып, жады ұяшығының адресін өзгерту арқылы жүргізіледі. P түймесінің жағдайы өзгертілгенде жады адресі тазартылады.
Бағдарламаны іске қосу M түймесін M=0 жағдайына ауыстыру арқылы жүзеге асырылады. Егер бұл кезде P=1 болса, онда арифметикалық және логикалық командалардың орындалуы кезінде C регистрінің жағдайы өзгертіледі (I мәніне сәйкесті), ал P=0 кезінде оның жағдайы өзгермеген жағдайда қалады.
S=0 кезінде ADS және ACS командалары арқылы – қосу операциялары, ал S=1 – алу операциялары орындалады.
V=0 кезінде AND командасы арқылы екі операнд арасында – қалыпты логикалық көбейту операциясы, ал V=1 кезінде деректің нақтылы разрядындағы бірлік битті табуға арналған биттік операция жүзеге асырылады. Бұл биттік операцияның орындалуы үшін аккумуляторға қажетті разрядында ғана бір тұрған санауыш енгізілу керек. Суреттелген биттік операция сыртқы құрылғыдан келетін сұраныс сигналын немесе іс жүзіндегі қолданба жүйелердегі құптау сигналын тануды елестетеді.
Жүйені суреттелген режимдердің біреуіне ауыстыру бағдарламаны іске қосу алдында жүргізіледі, бірақ оны бағдарламаның жұмысының барысында да жүзеге асыруға болады, бұл жүйенің жүйенің бағдарламалық иүмкіндіктерін кеңейтеді. Мысалы, жұмыс барысында қосу операцияларын алу операцияларына өзгертуге болады. Сол сияқты, конъюнкцияны биттік операцияға ауыстыруға болады.
MP4M микропроцессорының командалары мен олардың сипаттамалары 4.1-кестеде, ал жүйенің жұмыс режимдерінің қойылу тәртібі 1.2-кестеде келтірілген.
4.1 кесте – MP4M микропроцессорының командалары
Мн-ка |
Код |
Операциялар |
|||
Hex |
V=0 |
P |
S |
V=1; I=1 |
|
LD B |
0 |
B←[(C)]; C←(C)+1 |
|
|
|
LD C |
1 |
C←[(B)]; B←(B)+1 |
|
|
|
LD IP |
2 |
IP←[(B)] |
|
|
|
LD SP |
3 |
SP←[(B)]; B←(B)+1 |
|
|
|
LD A |
4 |
A←[(B)]; B←(B)+1 |
|
|
|
ST |
5 |
[(B)]←(A);B←(B)+1 |
|
|
|
INR |
6 |
A←(A)+1 |
|
|
|
NOT |
7 |
A← |
|
|
|
ADS |
8 |
A←(A)±[(C)]; TC |
P=1: C←var(I) P=0: C = invar |
S=1: SUB (–) S=0:ADD,ADC (+) |
Zc = 0: IP←IP+1 |
ACS |
9 |
A←(A)±[(C)±TC; TC |
|
|
|
AND |
A |
A←(A)۸[(C)] |
|
|
Zc۸Za=0: IP←IP+1 |
OR |
B |
A←(A)۷[(C)] |
|
|
|
XOR |
C |
A←(A)[(C)] |
|
|
|
PUSH |
D |
SP←(SP)–1; (SP)]←(A) |
|
|
|
POP |
E |
A←(SP)]; SP←(SP)+1 |
|
|
|
HLT |
F |
IP = invar |
|
|
|
4.2 кесте – MP4M микропроцессорының жұмыс режимдерінің қойылуы
Кілт, инд-р |
M/R = 1 |
M/R → 0: Running: A,B,IP ← 0; C,SP ← F |
||
P=1: C←var(I); P=0: C = invar |
||||
S = 0 |
P/D = 1: MemPr←IN |
P/D = 0: MemD←IN |
Addition (+) |
A ← (A) + [(C)] |
S = 1 |
Subtraction (–) |
A ← (A) – [(C)] |
||
I = 1 |
PostDecrement C←(C) –1 |
C←(C)–1; (C)=0: Zc ← 0 |
||
I = 0 |
PostIncrement C←(C) +1 |
C ← (C) + 1 |
||
V = 0 |
Logical Operation |
A ← (A) {۸ / ۷ / } [(C)] |
||
V = 1 |
Verifying of Byte |
(A)=0010…bi = 1: Za ← 0 |
4.3 Жұмыс тапсырмасы
4.3.1 Ауыстыру командаларының іс-әрекетімен таныс:
- открыть программу EWB5PRO и выбрать файл MP4M.ewb. Раскрывая подсхемы основных блоков системы (см. рисунок 6.1) и их внутренних компонентов и изучая практические сведения о системе, приведенные выше, ознакомиться с их структурой и принципами функционирования;
- EWB5PRO бағдарламасын түймесімен жандандырып, жадыға жазылған информацияны жоғалтып алмас үшін, оны жұмыс аяғына дейін сөндірме MP4M.ewb файлын таңда;
- M және P түймелерін M=1 және P=1 жағдайына қою арқылы жүйені бағдарлама енгізу режиміне дайындап, жадыға келесі бағдарламаның команда кодтарын енгіз;
Адрес |
Команды |
Коды |
Адрес |
Команды |
Коды |
0 |
LD B |
0 |
5 |
POP |
E |
1 |
LD A |
4 |
6 |
ST |
5 |
2 |
LD SP |
3 |
7 |
PUSH |
D |
3 |
LD C |
1 |
8 |
PUSH |
D |
4 |
POP |
E |
9 |
HLT |
F |
- M және P түймелерін M=1 және P=1 жағдайына қою арқылы жүйені бағдарлама енгізу режиміне дайындап, жадыға келесі бағдарламаның команда кодтарын енгіз;
- жады түрін P түймесімен ауыстыра отырып, жадыға енгізілген ақпараттың (бағдарлама мен деректердің) дұрыстығын Space түймесін қысқа уақытқа басу арқылы тексер;
- алдымен P түймесін P=1 жағдайына қойып, сосын M түймесін M=0 жағдайына ауыстыру арқылы бағдарламаны іске қос. Көрсеткіштердің жағдайын бақылай отырып, бағдарлама жұмысын тексер. Қажетті жағдайда бағдарлама жұмысын түймесімен тоқтата тұруға немесе M түймесін екі рет басу арқылы бағдарлама жұмысын қайта бастауға болады;
- бағдарлама жұмысы тоқтатылғаннан кейін жүйені енгізу жүйесіне ауыстырып, дерек жадысын тексер. Ондағы өзгерістердің себебін анықта;
- бұрынғы деректерді қалпына келтіріп және деректер жадысының адресі F ұяшығынағы деректі өзгертіп, бағдарламаны қайтадан іске қос та, оның жұмысын тексер.
4.3.2 Арифметикалық және логикалық командалардың іс-әрекетімен таныс:
- жүйені бағдарлама енгізу режиміне дайындап (M=1, P=1), жадыға келесі бағдарламаның команда кодтарын енгіз;
Адрес |
Команды |
Коды |
Адрес |
Команды |
Коды |
0 |
LD B |
0 |
7 |
ADS |
8 |
1 |
LD C |
1 |
8 |
ACS |
9 |
2 |
LD A |
4 |
9 |
ACS |
9 |
3 |
INR |
6 |
A |
AND |
A |
4 |
INR |
6 |
B |
OR |
B |
5 |
ADS |
8 |
C |
XOR |
C |
6 |
ADS |
8 |
D |
HLT |
F |
- жүйені дерек енгізу режиміне ауыстырып (M=1, P=0), жадыға нақтылы бір мәннен басталған сандар тізбесі түріндегі деректер енгіз де, оларды жұмыс дәптеріңе жазып ал;
- енгізілген бағдарламаны іске қос (P=1, затем M=0). Көрсеткіштердің жағдайын бақылай отырып, бағдарлама жұмысын тексер. Қажетті жағдайда бағдарлама жұмысын түймесімен тоқтат;
- бағдарлама жұмысы тоқтатылғаннан кейін Space түймесін қысқа уақытқа басу арқылы A1 регистріндегі санды анықта. Ондағы нәтижені түсіндір. Оған қиындық туса, онда M түймесін екі рет басу арқылы бағдарламаны қайтадан іске қосып, қосу операцияларының кезінде туатын тасымалдарды ұқыпты бақыла;
- жүйені бағдарлама енгізу режиміне ауыстырып, S түймесін S=1жағдайына ауыстыр, нәтижесінде қосу бағдарламасы алу бағдарламасына айналады, яғни ADC және ACS командаларының орындалуы кезінде алу операциялары (тасымалды және тасымалсыз) орындалады;
- бағдарламаны іске қос (P=1, затем M=0). Көрсеткіштердің жағдайын бақылай отырып, бағдарлама жұмысын тексер. Қажетті жағдайда бағдарламаны іске қайта қос;
- арифметикалық операциялардың қосымша кодта орындалатынын ескере отырып, алу бағдарламасындағы барлық алу операцияларын қолмен есепте де, оны жүйеде алынған нәтижелермен салыстыр.
4.3.3 Айналымды бағдарламалық құрылымдардың ұйымдастырылу принциптерін игер:
- жүйені бағдарлама енгізу режиміне дайындап, жадыға N санның (бұл жағдайда N=5) қосындысын анықтауға арналған келесі бағдарламаның команда кодтары мен деректерді енгіз;
Адрес |
Команды |
Коды |
Адрес |
Данные |
Адрес |
Данные |
0 |
LD B |
0 |
0 |
6 |
… |
… |
1 |
LD C |
1 |
1 |
8 |
7 |
5 |
2 |
ADS |
8 |
2 |
D |
8 |
2 |
3 |
LD IP |
2 |
3 |
A |
… |
… |
4 |
HLT |
|
4 |
9 |
|
|
|
|
|
5 |
B |
F |
7 |
- енгізілген бағдарламаны P=1, S=0, I=1 жағдайында іске қос. Бағдарлама тоқтатылғаннан кейін нәтижені кіші тетрадасы аккумуляторда (A регистрінде) болады, ал A1 регистріндегі үлкен тетрадасын Space түймесін тез басу арқылы анықтауға болады;
- адресі 1…5 ұяшықтардағы сандардың қосындысын қолмен есептеу арқылы анықтап, оны жүйеде алынған нәтижемен салыстыр;
- жүйені енгізу режиміне ауыстырып, жадыға адресі 1…5 арасында орналастырылған деректердің ішінен үшінші разрядында бір тұрған санды (бұл жағдайда адресі 2 ұяшықта орналасқан D санын) табу бағдарламасының команда кодтары мен деректерді енгіз;
Адрес |
Команды |
Коды |
Адрес |
Данные |
Адрес |
Данные |
0 |
LD B |
0 |
0 |
6 |
… |
… |
1 |
LD C |
1 |
1 |
8 |
7 |
6 |
2 |
LD A |
4 |
2 |
D |
8 |
4 |
3 |
AND |
A |
3 |
A |
9 |
3 |
4 |
LD IP |
2 |
4 |
9 |
… |
… |
5 |
HLT |
F |
5 |
B |
F |
7 |
- енгізілген бағдарламаны іске қос. Көрсеткіштердің жағдайын бақылай отырып, бағдарлама жұмысын тексер. Ізделген сан табылған кезде Bit көрсеткіші жанады да, бағдарлама жұмысын тоқтатады;
- жүйені енгізу режиміне ауыстырып, адресі 2 ұяшыққа 3 енгізіп, бағдарламаны қайта іске қос. Бұл жағдайда бағдарлама адресі 1…5 арасындағы барлық санды тексеріп, оның ішінен қажетті санды таба алмай, жұмысын тоқтатады.
4.4 СӨЖ тапсырмалары
4.4.1 y=(a1+a2-a3)٨4 өрнегі бойынша есептеу бағдарламасын құрып, әртүрлі дерек мәндерінде (a1, a2, a3) оның жұмысын тексер, бұндағы ٨ – деректердің нақтылы разрядындағы (бұл жағдайда – үшінші разрядындағы) бірлік мәнді табу операциясының символы.
4.5 Тексерім сұрақтары
1. Микропроцессорлық жүйе моделінің құрылымын және оның іскерлік блоктарының қызметін түсіндір.
2. Микропроцессордың ішкі құрылымын және құрама бөліктемелерінің құрылымын түсіндір.
3. Зерттелген бағдарламадағы ауыстыру командаларының іс-әрекеттерін түсіндір.
4. Бағдарламада пайдаланылған арифметикалық және логикалық командалардың іс-әрекеттерін түсіндір. Сәйкесті операциялардың орындалу тәртібін мысалдар арқылы түсіндір.
5. Оқу моделінде айналымды бағдарламалардың ұйымдастырылу принциптерін түсіндір.
6. Деректер массивімен жұмыс ұйымдастырылу принциптерін түсіндір.
7. Сандар қосылымын есептеу бағдарламасының құрылымын түсіндір.
8. Деректер массивінің ішінен нақтылы разрядында бір орналасқан санды табу бағдарламасының құрылымын түсіндір.
5 Зертханалық жұмыс № 5. Intel 8085 жүйесі
Жұмыс мақсаты:
- Intel 8085 микропроцессорының негізіндегі микропроцессорлық жүйенің (МПЖ) құрылымымен танысу;
- 8085 Simulator IDE симуляторының жұмыс тәртібін игеру;
- Intel 8085 микропроцессорының командалар жүйесіндегі, сілтеу тәсілі әртүрлі, дерек жіберу командаларының іс-әрекетімен танысу;
- Intel 8085 микропроцессорының сілтеу тәсілі әртүрлі арифметикалық командалардың іс-әрекетімен танысу;
- Intel 8085 микропроцессорының негізіндегі микропроцессорлық жүйенің симуляторының іскерлік мүмкіндіктерімен танысу.
5.1 Жұмыс орнының құрал-жабдықтары:
- компьютер, 8085 Simulator IDE бағдарламасы.
5.2 Қажетті мәліметтер мен әдістемелік ұсынылымдар
Жұмысты орындау үшін компьютерге 8085 Simulator IDE бағдарламасы орналастырылу керек. Симулятормен жұмыс бастар алдында C:\Program Files\8085 Simulator IDE ішінде студент туралы жеткілікті мәлімет (топ нөмірі, фамилиясы мен аты) берілген аталыммен бума (папка) ашып, алда құрылатын файлдардың барлығын да сонда сақтау керек. Бұл бұдан әрі сіздің файлдармен жұмысыңызды жеңілдетеді.
Симулятордың құрылымы мен оның іскерлік мүмкіндіктерінің пайдаланылуы зертханалық жұмыстардың орындалу барысында кездесу ретімен суреттеледі.
5.3 Жұмыс тапсырмасы
5.3.1 8085 Simulator IDE симуляторына бағдарламаны енгізу тәртібін игеру және дерек жіберу командаларының іс-әрекетімен таныс:
- симулятор бағдарламасын әлпеттемесімен аш та, ашылған симулятор терезесінде (5.1 суретті қара) Tools/Assembler таңдап, кезекті Assembler терезесінде File/New таңда;
- бағыттаманы Tab түймесімен ығыстырып, төмендегі бағдарламаның бірінші командасын енгіз де, Enter түймесін бас. Осы сияқты бағдарламаның келесі командаларын да енгіз. Белгілер жол басында жазылады. Бірнеше блок түрінде құрылған бұл бағдарламада процессор мен жады арасындағы дерек жіберілімдері жүзеге асырылады. Бірінші блокта (Single Writing-1) жадыға тура сілтемелі команда арқылы жеке жіберілім жүзеге асырылады. Екінші блокта (Serial Writing) жадыға жанама сілтемелі команда арқылы дерек массивінің (арифметикалық прогрессияның мүшелері түріндегі) жіберілімі жүзеге асырылады. Дерек массивінің жіберілімінің ыңғайлырақ тәсілі келесі блокта (Single Writing-2) келтірілген. Келесі үш блокта (Data Access, Data Access and Conversion, Single Writing) деректердің жадының бір аймағынан екінші аймағына алғы пайдаланылған командаларға ұқсас командалармен жіберілуі (тек кері тәртіппен) жүзеге асырылады. Жазылған бағдарламаны Transfers (Жіберілімдер) аталымымен сақта (File/Save As). Нәтижесінде asm кеңейтілімді файл құрылады.
5.1 Сурет
;WRITING to MEMORIES
SW: ;Single Writing
MVI A,0FH;Direct Loading
STA 00D0H;Direct Writing
NOP
S1: ;Serial Writing-1
MVI C,07h;Data Counter
LXI D,00D0H;Initial Address
MVI A,00H;Cleaning
T0: ADI 13H;Expansion Step
INX D;Address Increment
STAX D;Indirect Writing
DCR C;Monitoring of the Data Counter
JNZ T0;Continue
XCHG;Exchange
NOP
S2: ;Serial Writing-2
MVI C,08H;Data Counter
T1: ADI 09H;Expansion Step
INX H;Address Increment
MOV M,A;Indirect Writing
DCR C;Monitoring of the Data Counter
JNZ T1;Continue
NOP
AW: ;Data Access and Writing
LXI D,00EFH;Initial Address
MVI C,08H;Data Counter
T2: MOV A,M;Indirect Loading
STAX D;Indirect Writing
DCX H;Address Decrement
DCX D;Address Decrement
DCR C;Monitoring of the Data Counter
JNZ T2;Continue
NOP
AC: ;Data Access, Conversion and Writing
MVI C,07H;Data Counter
T3: MOV A,M;Indirect Loading
RLC;Left Shift
XCHG;Exchange
MOV M,A;Indirect Writing
DCX H;Address Decrement
DCX D;Address Decrement
XCHG;Exchange
DCR C;Monitoring of the Data Counter
JNZ T3;Continue
NOP
SA: ;Single Access and Writing
LDA 00D0H;Direct Loading
STA 00E0H;Direct Writing
HLT;Ending
- Assembler терезесінде Tools/Assemble&Load таңда. Нәтижесінде hex, lst, obj кеңейтілімді файлдар құрылады;
- симулятордың негізгі терезесінде Tools/Breakpoints Manager таңдап, әрбір блоктан кейін, яғни NOP командасы тұрған жолдарға (5.2 суретті қара), тексерім нүктелерін қой;
5.2 Сурет
- симулятордың негізгі терезесінде моделдеу жылдамдығын (мысалы, Rate/Normal) таңдап, симуляторды іске қос (Simulation/Start);
- бағдарламаның әрбір тексерім нүктесіндегі тоқталымында орындалған бағдарлама блогындағы командалардың іс-әрекетін және алынған нәтижелерін (микропроцессор регистрлері мен жадының сәйкесті ұяшықтарындағы) талда;
- моделдеу жылдамдығын (мысалы, Rate/...) таңдау арқылы симулятор жұмысын жалғастыр.
Қажетті жағдайда (оқытушының ұсынысы бойынша) бағдарламаның әрбір блоктарын жеке орында. Ол үшін бағдарламаның бірінші жолына JMP командасын қойып, оған қажетті блоктың белгісін жалға да, блок соңындағы NOP командасын HLT командасына ауыстыр.
5.3.2 Сілтеу тәсілі әртүрлі, арифметикалық командалардың іс-әрекетімен таныс:
- келесі блоктардан тұратын бағдарламаны енгіз: Data Array – жадыға арифметикалық прогрессия мүшелері түріндегі деректердің жазылуын жүзеге асырады (прогрессияның берілген параметрлерін (n = 0AH – мүшелер санын, a1 = 00H – бірінші мүшенің мәнін, d = 55H – прогрессия қадамын) жұмыстың орындалу барысында өзгертуге болады). Cumulative Summation – бағдарламаның алдыңғы блогында жадыға жазылған арифметикалық прогрессия мүшелерінің қосындысын анықтайды. Retention of Result – алынған қосынды нәтижесін жадыда сақтайды. Series Subtraction – алдында алынған қосындыдан арифметикалық прогрессия мүшелерінің мәндерін тізбелеп алады. Екі қосалқы блок түрінде (Data и Cumulative Summation-A) құрылған ALTERNATIVE of the Single-Byte Summation блогында арифметикалық прогрессия мүшелерінің қосындысын анықтаудың перифериялық құрылғыларды пайдалану арқылы (IN, OUT) анықталатын өзгеше түрі жүзеге асырылады. Енгізілген бағдарламаны Single-Byte Arithmetic (Бірбайтты арифметика) аталымымен сақта;
;SINGLE-BYTE ARITHMETIC
DA: ;Data Array (arithmetical progression)
LXI H,00E0H;Initial Address
MVI C,0AH;Data Quantity
MVI A,00H;Cleaning
MOV M,C;Writing in the Memory
SD: INX H;Address Increment
ADI 55H;Increment Step of the Linear Series
MOV M,A;Writing in the Memory
DCR C;Monitoring of the Data Counter
JNZ SD;Continue
NOP
CS: ;Cumulative Summation
;SUM=((2a1+(n-1)d)/2)n
;a1-first operand,n-quantity,d-step,
LXI H,00E0H;Initial Address
MVI A,00H;Cleaning
MOV B,A;Cleaning
MOV C,M;Installation of the Data Counter
C1: INX H;Address Increment
ADD M;Addition
JNC C2;Carry Monitoring
INR B;Carry Accumulation
C2: DCR C;Monitoring of the Data Counter
JNZ C1;Continue
NOP
RR: ;Retention of Result
INX H;
MOV M,A;Low Byte
INX H;
MOV M,B;High Byte
NOP
SS: ;Series Subtraction
LXI H,00E0H;Initial Address
MOV C,M;Installation of the Data Counter
S1: INX H;Address Increment
SUB M;Subtraction
JNC S2;Borrow Monitoring
DCR B;Borrow Subtraction
S2: DCR C;Monitoring of the Data Counter
JNZ S1;Continue
NOP
AD: ;ALTERNATIVE of the Single-Byte Summation
;Data
IN 01H;First Operand
MOV E,A
IN 01H;Data Quantity
MOV C,A
IN 02H;Step
MOV D,A
LXI H,0000H
NOP
AC ;Cumulative Summation-A
A1: MOV A,E
ADD D
MOV E,A
MOV A,L
ADD E
JNC A2
INR H
A2: MOV L,A
DCR C
JNZ A1
MOV A,L
OUT 03H
MOV A,H
OUT 04H
HLT;Ending
- Assembler терезесінде выбрать Tools/Assemble&Load таңдап, сосын симулятордың негізгі терезесінде Tools/Breakpoints Manager таңда да, әрбір блоктан кейін, яғни NOP командасы тұрған жолдарға (5.2 суретті қара) тексерім нүктелерін қой;
- симулятор терезесінде Tools/Peripheral Devices терезесін аш. Ашылған Peripheral Devices терезесінде Device 1 түймесін басып, порт адресін 01 түрінде анықта да, сосын бұл портты IN жағдайына қой. Осы сияқты келесі порт адресін 02 түрінде анықтап, оны да IN жағдайына қой. Келесі порттардың адресін 03 және 04 түрінде анықтап, оларды OUT жағдайына қой (5.3 суретті қара);
- симулятордың негізгі терезесінде моделдеу жылдамдығын (мысалы, Rate/Normal) таңдап, симуляторды іске қос (Simulation/Start). Бағдарламаның әрбір тексерім нүктесіндегі тоқталымында орындалған бағдарлама блогындағы командалардың іс-әрекетін және алынған нәтижелерін (микропроцессор регистрлері мен жадының сәйкесті ұяшықтарындағы) талда;
5.3 Сурет
- моделдеу жылдамдығын (мысалы, Rate/...) таңдау арқылы симулятор жұмысын жалғастыр;
- алынған қосынды нәтижесінің өрнегі арқылы есептелген мәнге сәйкестігін тексер.
Қажетті жағдайда (оқытушының ұсынысы бойынша) бағдарламаның әрбір блоктарын жеке орында. Ол үшін бағдарламаның бірінші жолына JMP командасын қойып, оған қажетті блоктың белгісін жалға да, блок соңындағы NOP командасын HLT командасына ауыстыр.
5.4 СӨЖ тапсырмалары
5.4.1 Перифериялық құрылғылар арқылы енгізілетін, екібайтты n (мысалы, бес) санның қосындысын есептеу бағдарламасын құр.
5.4.2 Әртірлі сілтемелі логикалық операцияларды орындау бағдарламасын құр.
5.5 Тексерім сұрақтары
1. Микропроцессордың ішкі құрылымын және оның құрама бөліктерінің қызметін түсіндір.
2. Бағдарламалардың жеке блоктарының құрылымын және олардағы командалардың іс-әрекетін түсіндір.
3. Бағдарламада пайдаланылған ауыстыру командаларының іс-әрекетін түсіндір.
4. Бағдарламада пайдаланылған арифметикалық командалардың іс-әрекетін түсіндір.
5. Екібайтты сандарды қосу қандай командалармен жүзеге асырылады?
6. Тасымалды және тасымалсыз арифметикалық командалардың іс-әрекетінің айырмашылығын түсіндір.
6 Зертханалық жұмыс № 6. Қосалқы бағдарламалармен жұмыс
Жұмыс мақсаты:
- қосалқы бағдарламалармен жұмыстың ұйымдастырылу принциптерін игеру;
- микропроцессор регистрлері мен стек арасында деректер жіберілуінің ұйымдастырылу принциптерін игеру.
6.1 Жұмыс орнының құрал-жабдықтары:
- компьютер, 8085 Simulator IDE бағдарламасы.
6.2 Қажетті мәліметтер мен әдістемелік ұсынылымдар
Қосалқы бағдарламалармен және стекпен жұмыс ұйымдастырылу тәртібін қарастыру мақсатында y = a1*a2 + a3*a4 + өрнегі бойынша есептеу бағдарламасы қарастырылады. Қойылған есепті шешу үшін алдын ала көбейту және жиналымды қосу бағдарламаларын құру керек.
Intel 8085 микропроцессорында көбейту командасы жоқ, сондықтан көбейту операциясын орындау үшін сәйкесті бағдарлама құру керек болады. Көбейту алгоритмін анықталық. Машина алгоритмін көрнек түсіндіру мақсатында төменде ондық сандардың көбейтілімінің мектеп қабырғасынан белгілі үш түрлі жүзеге асырылу алгоритмі келтірілген:
|
|
|
Бірінші жазылымда көбейткіштің разряд мәндерін өзімізге үйреншіктікті оңнан солға қарай алып көбейту тәртібі келтірілген. Екінші жазылымда көбейткіштің разряд мәндерін солдан оңға қарай алып көбейту тәртібі келтірілген. Цифрлық құрылғыларда қосу операциясы екі санға ғана жүргізілетініне байланысты ондық сандардың жеке көбейтінділерінің солай қосылғаны үшінші жазылымда келтірілді. Бұнда төртразрядты сандардың көбейтіндісі сегізразрядты болатындығы ескеріліп, операция басында нәтиже нөл мәнінде алынды және ығыстыру операциясы (олар бағыттама арқылы көрсетілген) әрбір жеке көбейту операцияларының алдында жүргізіліп, жазылым қосу операцияларын орындауға ыңғайландырылды. Тап осы жазылым тәртібі екілік сандарды цифрлық құрылғыда көбейтуге ыңғайлы келеді. Сонымен, бірбайтты екілік сандарды көбейту алгоритмі келесі тәртіппен жүзеге асырылады:
- сегізразрядты сандардың көбейтілу нәтижесі оналтыразрядты сан болатындықтан және жеке қосылымдардың да оналтыразрядты сандарға жүргізілетіндігіне байланысты, оналтыразрядты аккумулятор ретінде HL регистрлік жұбы алынып, ол операция басында тазартылады;
- DE регистрлік жұбының E регистріне бірінші сан (көбейтілгіш), ал оның D регистріне нөл енгізіліп, көбейтілгіш қосуға ыңғайлы оналтыразрядты санға айналдырылады;
- екінші сан (көбейтілгіш) оның разрядтарын ығыстырып шығару үшін аккумуляторға (сөзімізді шатыстырмас үшін, оны бұдан әрі A регистрі деп атаймыз) енгізіледі;
- ығыстыру операциясының санын бақылап отыру үшін, көбейткіштің разряд саны микропроцессордың бір регистріне (мысалы, С регистріне) енгізіледі;
- әрбір жеке көбейту алдында осы мезетке дейін жиналған нәтиже (HL жұбындағы) солға ығыстырылады;
- ығыстыру арқылы А регистрінен шығарылған көбейткіштің кезекті разрядының мәні нөл болғанда, жеке көбейту осымен бітеді (яғни, алдыңғы ығыстырыммен);
- А регистрінен шығарылған көбейткіштің кезекті разрядының мәні бір болғанда, HL жұбына DE жұбы қосылады;
- әрбір жеке көбейтілімнен кейін санауыш құрамы бірге кемітіледі де, оның нөлге тең болған кезінде көбейту бағдарламасы өз жұмысын тоқтатады.
Сонымен, ығыстыру операциясы сегіз рет жүргізіледі, ал қосу операциясының саны көбейткіштің құрамындағы бірліктердің санымен анықталады.
6.3 Жұмыс тапсырмасы
6.3.1 Құрамында бірнеше қосалқы бағдарлама бар, күрделі бағдарламаның құрылымымен таныс:
- симулятор бағдарламасын іске қос та, ашылған симулятор терезесінде Tools/Assembler таңдап, сосын File/New таңда;
- төмендегі бағдарламаны енгізіп, оны Stack (Стек) аталымымен сақта;
;SUM=a1*a2+a3*a4+sum(ai,n,d)
LXI SP,0FFH
MVI B,0A0H
;mul1=a1*a2
IN 01H;first multiplier
MOV E,A
IN 02H;second multiplier
CALL MUL
PUSH H
CALL PER
NOP
;mul2=a3*a4
IN 01H;first multiplier
MOV E,A
IN 02H;second multiplier
CALL MUL
PUSH H
CALL PER
NOP
;sum(ai,n,d)
IN 01H;quantity - n
MOV C,A
IN 02H;step - d
MOV D,A
IN 01h;first operand - a1
MOV D,A
LXI H,0000H
CALL SUM
CALL PER
NOP
;S3
POP D
DAD D
POP D
DAD D
CALL PER
HLT
MUL: ;Multiplication (subroutine)
MVI D,00H
LXI H,0000H
MVI C,08H
M1: DAD H
RLC
JNC M2
DAD D
M2: DCR C
JNZ M1
RET
SUM: ;Cumulative Summation (subroutine)
CS3: MOV A,E
ADD D
MOV E,A
MOV A,L
ADD E
JNC CS4
INR H
CS4: MOV L,A
DCR C
JNZ CS3
RET
PER: ;Displaying on the Periphery
;and Writing on the Memory
MOV C,B
MVI B,00H
MOV A,L
OUT 03H
STAX B
INR C
MOV A,H
OUT 04H
STAX B
INR C
MOV B,C
RET
Бағдарламаның негізгі бөлігі келесі блоктардан тұрады: SUM – негізгі бағдарламаның басы, онда стек көрсеткішінің мәні SP және нәтижелерді шығару құрылғысында көрсетуге арналған қосалқы бағдарламаның жұмысын ұйымдастыруға қажетті информация қойылады. mul1 и mul2 – көбейтуге арналған деректер енгізіледі де, сосын – көбейту бағдарламасы, одан кейін нәтиже көрсету бағдарламасы шақырылады. sum – қосуға арналған деректер енгізіліп, сосын – қосу бағдарламасы, одан кейін нәтиже көрсету бағдарламасы шақырылады. S3 – ақырғы нәтиже, яғни алдыңғы кезеңдерде алынған жеке нәтижелердің қосындысы есептеледі.
Бағдарламада үш қосалқы бағдарлама пайдаланылады: Multiplication – шақырылар алдында енгізілген екі санның көбейтілуін жүзеге асырады. Cumulative Summation – алдын-ала енгізілген деректердің қосындысын есептейді. Displaying – қосалқы бағдарламаларда алынған нәтижелердің сыртқы құрылғыда шығарылуын және олардың жадыда сақталуын жүзеге асырады.
- Assembler терезесінде выбрать Tools/Assemble&Load таңдап, сосын симулятор терезесінде Tools/Peripheral Devices аш та, онда порт адрестерін 01…04 арасында анықтап, екі портты (01 және 02 адресті) – IN жағдайына, ал қалғанын OUT жағдайына қой;
- симулятордың негізгі терезесінде Tools/Breakpoints Manager таңдап, негізгі бағдарламаның әрбір блогынан кейін, яғни NOP командалары тұрған жолдарға тексерім нүктелерін қой;
- симулятордың негізгі терезесінде моделдеу жылдамдығын (мысалы, Rate/Normal) таңдап, симуляторды іске қос (Simulation/Start). Бағдарламаның әрбір тексерім нүктесіндегі тоқталымында орындалған бағдарлама блогындағы командалардың іс-әрекетін және алынған нәтижелерін (микропроцессор регистрлері мен жадының сәйкесті ұяшықтарындағы) талда;
- моделдеу жылдамдығын (мысалы, Rate/...) таңдау арқылы симулятор жұмысын жалғастыр.
6.4 Тексерім сұрақтары
1. Бағдарламалы жүзеге асырылуға негіз ретінде алынған көбейту алгоритмін түсіндір.
2. Қосалқы бағдарламалармен жұмыс ұйымдастырылу принциптерін түсіндір.
3. Микропроцессордың стегі мен регистрлерінің арасында дерек жіберілімінің ұйымдастырылу принциптерін түсіндір.
7 Зертханалық жұмыс № 7. PIC16F8X микроконтроллері
Жұмыс мақсаты:
- PIC микроконтроллерлерінің құрылымымен танысу;
- PIC Simulator IDE бағдарламалық симуляторының іскерлік мүмкіндіктерімен танысу және онымен жұмыс істеу әдістемесін игеру;
- микроконтроллерлердің бағдарламасын құру тәртібін игеру;
- микроконтроллерлердің регистрлеріне дерек енгізілуін жүзеге асыру тәртібімен танысу;
- микроконтроллерде айналымды бағдарламалық құрылымды ұйымдастыру принциптерін игеру;
- моделденген құрылғының параметрлерін (қалыптастырылатын импульстердің және олардың бос аралықтарының) есептеу және өлшеу әдістемесін игеру.
7.1 Жұмыс орнының құрал-жабдықтары:
- компьютер, PIC Simulator IDE бағдарламасы.
7.2 Қажетті мәліметтер мен әдістемелік ұсынылымдар
PIC16F8X топтамасындағы микроконтроллерлердің қарапайым және аса ұтымды командалар жүйесі небәрі 35 командадан тұрады. Олардың әрбір командасы операция коды (OPCODE) мен операцияға қатысуы немесе қатыспауы мүмкін бір немесе бірнеше операндқа арналған аймағына бөлінген. PIC16F8X микроконтроллерлерінің командалар жүйесі ортогоналды және оның құрамына байтпен істеуші, битпен істеуші, константалармен істеуші және басқару командалары кіреді. Төменде команда аймақтарының суреттемесі келтірілген.
Аймақ |
Суреттеме |
f |
Регистр адресі |
w |
Жұмыс регистрі |
b |
8-разрядты регистрдегі бит нөмірі |
k |
Константа |
d |
Нәтиже регистрі: d=0 – нәтиже w регистрінде; d=1 – нәтиже f регистрінде |
label |
Белгі аты |
TOS |
Стек төбесі |
PC |
Команда санауышы |
PCLATH |
PCLATH регистрі |
GIE |
Барлық үзіліске рұқсат регистрі |
WDT |
Қарауыл таймер |
/TO |
Тайм-аут |
/PD |
Қоректің өшірілуі |
[ ] |
Қажетті емес параметрлер |
( ) |
Мазмұны |
Жіберу |
|
< > |
Бит нөмірінің аймағы |
Жинақтан |
Микроконтроллер командаларының негізгі форматтары 7.1-суретте көрсетілген.
7.1 Сурет
Командалардың бәрі дерлік бір команда циклінде орындалады. Екі жағдайда команданың орындалуы екі команда циклін алады:
- шартты тексеру және ауысу;
- команданың орындалу нәтижесіне байланысты бағдарлама санауышының өзгерісі.
Бір команда циклі генератордың төрт тактісінен тұрады. Сонымен, жиілігі 4 МГц генератор команда циклінің орындалу уақыты 1 мкс болады.
PIC16F8X топтамасындағы микроконтроллерлердің командалар жұйесі 7.1-кестеде келтірілген.
7.1 кесте
Мнемоника |
Команда суреттемесі |
Цикл |
Ахуал биті |
Түсін. |
ADDWF f, d |
W және f регистрлерін қосу |
1 |
C, DC, Z |
1, 2 |
ANDWF f, d |
W және f регистрлеріне логикалық ЖӘНЕ |
1 |
Z |
1, 2 |
CLRF f |
f регистрін тазарту |
1 |
Z |
2 |
CLRW |
W регистрін тазарту |
1 |
Z |
|
COMF f, d |
регистра f регистрін тазарту |
1 |
Z |
1, 2 |
DECF f, d |
Декремент регистра f |
1 |
Z |
1, 2 |
DECFSZ f,d |
f регистрін кеміту, егер 0 болса, келесі команданы аттап кету |
1(2) |
|
1, 2, 3 |
INCF f, d |
f регистрін ұлғайту |
1 |
Z |
1, 2 |
INCFSZ f,d |
f регистрін ұлғайту, егер 0 болса, келесі команданы аттап кету |
1(2) |
|
1, 2, 3 |
IORWF f, d |
W және f регистрлеріне логикалық НЕМЕСЕ |
1 |
Z |
1, 2 |
MOVF f, d |
f регистрін жіберу |
1 |
Z |
1, 2 |
MOVWF f |
W регистрін f регистріне жіберу |
1 |
|
|
NOP - |
Жұмыссыз команда |
1 |
|
|
RLF f, d |
f регистрін ауыспа арқылы солға ығыстыру |
1 |
C |
1, 2 |
RRF f, d |
f регистрін ауыспа арқылы оңға ығыстыру |
1 |
C |
1, 2 |
SUBWF f, d |
W регистрін f регистрінен алу |
1 |
C,DC,Z |
1, 2 |
SWAPF f, d |
f регистрінің тетрадаларын ауыстыру |
1 |
|
1, 2 |
XORWF f, d |
W және f регистрлеріне екілік қосу |
1 |
Z |
1, 2 |
BCF f, b |
f регистрінің битін тазарту |
1 |
|
1, 2 |
BSF f, b |
f регистрінің битін қою |
1 |
|
1, 2 |
BTFSC f, b |
f регистрінің биті 0 болса, келесі команданы аттап кету |
1(2) |
|
3 |
BTFSS f, b |
f регистрінің биті 1 болса, келесі команданы аттап кету |
1(2) |
|
3 |
ADDLW k |
Константа мен W регистрін қосу |
1 |
C, DC, Z |
|
ANDLW k |
Константа мен W регистріне логикалық ЖӘНЕ |
1 |
Z |
|
CALL k |
Қосалқы бағдарламаны шақыру |
2 |
|
|
CLRWDT |
Қарауыл таймерін WDT тазарту |
1 |
/TO, /P |
|
GOTO k |
Адрес бойынша ауысу |
2 |
|
|
Мнемоника |
Команда суреттемесі |
Цикл |
Ахуал биті |
Түсін. |
IORLW k |
Константа мен W регистріне логикалық НЕМЕСЕ |
1 |
Z |
|
MOVLW k |
Константаны W регистріне жіберу |
1 |
|
|
RETFIE - |
Үзілістен қайту |
2 |
|
|
RETLW k |
Қосалқы бағдарламадан W регистріне константа енгізіп, қайту |
2 |
|
|
RETURN - |
Қосалқы бағдарламадан қайту |
2 |
|
|
SLEEP - |
SLEEP режиміне ауысу |
1 |
/TO, /P |
|
SUBLW k |
W регистрін константадан алу |
1 |
C, DC, Z |
|
XORLW k |
Константа мен W регистріне екілік қосу |
1 |
Z |
|
Кестеге түсініктемелер:
1) Егер енгізу/шығару регистрі түрлендірілсе (мысалы, MOVF PORTB,1), онда шықпалардан оқылатын мән пайдаланылады. Мысалы, егер енгізуге қосылған порттың шығыс тығынында "1" болса, ал сыртқы құрылғы бұл шықпада "0" қалыптастыратын болса, онда дерек разрядына "0" жазылады.
2) Егер команда операнды является содержимое TMRO регистрі болса (және d=1 қоюға болса) және бастапқы бөлгіш TMRO-ға қосылған болса, онда ол тазартылады.
3) Егер команданың орындалу нәтижесінде команда санауышы өзгеретін болса немесе шарттың тексерілуіне байланысты ауысу орындалса, онда команда екі циклде орындалады. Екінші цикл NOP ретінде болады.
1.2.1 Бағдарламалық PIC Simulator IDE симуляторы
Зертханалық сабақтарға жұмыс тапсырмаларының орындалуы бағдарламалық PIC Simulator IDE симуляторында жүзеге асырылады. PIC Simulator IDE – Microchip компаниясының 12 және 16 жинамаларындағы microPIC микроконтроллерлері үшін жазылған бағдарламалардың қалыптастырушысы. PIC Simulator IDE бағдаламасының құрамындағы ассемблермен қатар Basic тәрізді тілдің компиляторының орналастырығандығы микроконтроллердің жұмыс бағдарламасының жазылу процесін жеңілдетіп, нәтижесінде құрылымның дайындалуын тездетеді.
PIC Simulator IDE бағдаламасында микроконтроллердің түр-түрлі реттелімдері мен оның жұмыс режимдерін қоюға арналған көптеген мүмкіндіктері пайдаланушыға көптеген береді. PIC Simulator IDE бағдаламасының бұл мүмкіндіктері оны жаңа ғана бастаған құрастырушыларға да (мысалы, студенттерге), тәжірибелі бағдарлаушыларға да арналған аса ыңғайлы аспап ретінде қарастыруға мүмкіндік береді.
Бұл бағдарлама жұмыс бағдарламасын жазу және оны қалыптастыру процестерімен қатар құрушыға тікелей қалыптастандырылушы кодтың өзінде виртуалды перифериямен жұмыс істеуге мүмкіндік береді. PIC Simulator IDE бағдарламасының құрамында іс жүзіндегі әртүрлі электрондық құрылғылардың (символды сұйық кристалды экранның, байланыс терминалының 7-сегментті индикаторларының, 4-арналы генератордың, осциллографтың және т.б. құрылымдардың) жұмысын елестетуші арнайы модулдер бар. Жұмыс бағдарламасын жазу және оны қалыптастыру процестерін іс жүзінде тікелей PIC Simulator IDE бағдарламасында орындауға болады, яғни бағдарламаға өзгеріс ергізгеннен кейін микроконтроллерді қайта бағдарлап, оны сыртқы құрылғылар қосылған қалыптастыру тақтасына орналастырудың қажеті жоқ.
1.2.2 Симулятормен жұмыс ұйымдастырылуы
Симулятормен жұмыс (также, как и при работе с настоящим микроконтроллером) істеген кезде бірнеше түрлі файлдар құрылады. Бірнеше жоба және олардың әртүрлі варианттарын құру кезінде (біздің жағдайымызда, бірнеше зертханалық жұмыс орындалғаннан кейін) жұмысқа қажетті файлды іздеп табу қиындық тудырады. Осындай ізденісті жеңілдету үшін, аталымына студент туралы жеткілікті информация (топ нөмірі мен аты-жөні) енгізілген, жалпы папка (мысалы, Менің документтерім бөлімінде) дайындап, оның ішінде әрбір зертханалық жұмысқа арналған жеке папкалар (мысалы, Lab_1, Lab_2 және с.с. аталымдарымен) ашқан, сосын барлық құрылатын файлдарды сонда сақтаған дұрыс болады. Жеке компьютермен (ноутбукпен) жұмыс істеген кезде жалпы папканы (мысалы, PICSIM аталымымен) PIC Simulator IDE бағдарламасының өзінде-ақ сақтауға болады.
Симулятордың құрылымы мен оның іскерлік мүмкіндіктерінің пайдаланылуы осы және келесі зертханалық жұмыстардың түсіндірілу барысында суреттеледі.
7.3 Жұмыс тапсырмасы
Жұмыста аса тиянақталған жиілігінің мәні 1450 Гц шақыру сигналын қалыптастырушы құрылғы құру керек. Құрылғының сигнал жіберіліміне қосылған кезінде, бұл “жіберілімнің” нақтылы уақыт интервалында (3 сек.) жүргізілуін ұйымдастыру керек. Онымен қатар сигнал жіберіліміне рұқсат берілуін (немесе тиым салынуын) жеке түймеден (жіберілім кезінде де, одан бұрын да) басқару мүмкіндігі болу керек.
7.3.1 PIC симуляторына жұмыс бағдарламасын енгізу тәртібін игеру:
- симулятор бағдарламасын иконасымен іске қос. Симулятордың ашылған негізгі терезесінде (7.2 суретті қара) Options/Select Microcontroller таңдап, онда микроконтроллер түрін (PIC16F84A) анықтап, Select түймесін бас. Бұнымен қатар симулятордың негізгі терезесінде тактілік генератордың жиілігін (4 MHz) қой;
- симулятордың негізгі терезесінде Tools/Assembler және ашылған Assembler терезесінде – File/New таңда;
7.2 Сурет
- аса тиянақты жиілікті (1450 Гц) шақыру сигналын қалыптастырушы құрылғының төменде келтірілген жұмыс бағдарламасын 8085 симуляторымен жұмыс кезіндегі сияқты енгіз.
- жазылған бағдарламаны Сontrolled Call (Басқарылымды шақырым) аталымымен сақтап, оның екілік кодын ал (Tools/Assemble&Load);
; Device of the call 1.45 KHz
;===========================
; Microcontroller PIC16F84A
; Clock Frequency 4.0 MHz
;===========================
Sec equ 0Ch
SecH equ 0Dh
SecL equ 0Eh
;===========================
org 0
goto START
;===========================
START clrf IntCon
clrwdt
bsf Status,RP0
movlw .65
movwf TrisB
movlw .143
movwf Option_REG
bcf Status,RP0
;----------------------------------------------
movlw .15
movwf SecH
movlw .255
movwf SecL
;----------------------------------------------
CYCLE btfsc PortB,0
goto START
;----------------------------------------------
btfss PortB,6
goto PRD
;----------------------------------------------
bcf PortB,2
nop
nop
movlw .85
movwf Sec
PAUSE_1 clrwdt
decfsz Sec,F
goto PAUSE_1
;----------------------------------------------
bsf PortB,2
nop
nop
movlw .83
movwf Sec
PAUSE_2 clrwdt
decfsz Sec,F
goto PAUSE_2
;----------------------------------------------
decfsz SecL,F
goto CYCLE
decfsz SecH,F
goto CYCLE
bcf PortB,2
;----------------------------------------------
PRD clrwdt
btfss PortB,0
goto PRD
btfss PortB,0
goto PRD
goto START
;----------------------------------------------
end
7.3.2 Монитордың экранына В портының индикаторлары (Tools/8xLED Board) мен осциллограф (Tools/Oscilloscope) шығар және Tools/Microcontroller View терезесін аш (7.3-7.5 суреттерді қара).
7.3.3 Симуляторды іске қосып, бағдарлама жұмысын индикаторлар (Tools/8xLED Board) мен осциллограф (Tools/Oscilloscope) арқылы бақыла.
7.3.4 Microcontroller View терезесінде B портының сәйкесті шықпаларының жанындағы T түймелерін басып, RB1 және RB6 кірістеріндегі сигнал деңгейін ON жағдайына қой. Олардың біріншісі жүйені қабылдау режиміне қояды, ал екіншісі шақырым сигналын жіберуге рұқсат береді. Перевести уровень сигнала на входе RB1 кірісіндегі сигнал деңгейін OFF жағдайына қой.
7.3 Сурет
7.4 Сурет
7.5 Сурет
7.3.5 RB6 шықпасын OFF жағдайына қой да, одан кейін RB1 кірісінің жағдайын бірнеше рет өзгерт.
7.3.6 Симулятордың жұмысын тоқтатып (RB6 шықпасын ON жағдайын ауыстыру арқылы), сосын бағдарламаның нақтылы жолдарына тексерім нүктелерін қойып (Tools/Breakpoints Manager), қалыптасушы сигналлдардың әртүрлі бөліктерінің ұзақтығын тексер.
7.3.7 Осы жолмен шақырым сигналының жіберілім уақытының ұзақтығын да тексер. Бұл кезде бағдарламаның моделдену жылдамдығының іс жүзіндегі құрылғының жұмыс жылдамдығынан шамамен 500 есе кем екендігін (автордың тексеруіне сәйкесті) ескеру керек. Сондықтан, өлшенім уақытын қысқарту үшін SecH және SecL регистрлеріне жазылатын деректердің мәнін кеміту керек.
7.4 СӨЖ тапсырмалары
T уақытының аралығында F жиілігімен импульстер бумаларын қалыптастырушы құрылғының қызметін жүзеге асырып, оның жұмысын симуляторда көрсет. Бумадағы импульстер жиілігі – f, ал ондағы импульстер саны – n.
№ |
F, kHz |
T, ms |
f, kHz |
n |
1 |
0,5 |
16 |
21,8 |
10 |
2 |
0,6 |
14 |
21,9 |
9 |
3 |
0,7 |
12 |
22,0 |
8 |
4 |
0,8 |
10 |
22,2 |
7 |
5 |
0,5 |
20 |
22,3 |
6 |
6 |
0,6 |
18 |
22,4 |
5 |
7 |
0,7 |
16 |
21,8 |
5 |
8 |
0,8 |
14 |
21,9 |
6 |
9 |
0,5 |
12 |
22,0 |
7 |
10 |
0,6 |
10 |
22,2 |
8 |
11 |
0,7 |
20 |
22,3 |
9 |
12 |
0,8 |
18 |
22,4 |
10 |
7.5 Тексерім сұрақтары
1 Зерттелген бағдарламаның құрылымын және оның жұмысын түсіндір.
2 Бағдарламада жалпы жіберілім уақыты қалай жүзеге асырылады?
3 Жіберілетін сигналдардың әртүрлі деңгейінің қажетті ұзақтығы қалай қамтамасыз етіледі?
4 Микроконтроллердің басқару шықпаларындағы сигнал деңгейі қалай тексеріледі?
8 Зертханалық жұмыс № 8. Үзіліс ұйымдастырылуы
Жұмыс мақсаты:
- микроконтроллердің үзіліс режиміндегі жұмысының ұйымдастырылу принциптерін игеру;
- микроконтроллерде айналымды және таралымды бағдарлама құрылымдарының ұйымдастырылу принциптерін игеру;
- моделденген құрылғының параметрлерін (қалыптастырылушы импульстердің әртүрлі деңгейлерінің ұзақтығын) есептеу және әдістемелерін игеру.
8.1 Жұмыс орнының құрал-жабдығы:
- компьютер, PIC Simulator IDE бағдарламасы.
8.2 Қажетті мәліметтер мен әдістемелік ұсынылымдар
Зерттелетін құрылғыда екі жіберім арнаның кезектеп тексерілімі жүзеге асырылады, яғни бұл арналар периодты түрде ауыстырып отырылады да, үзіліс сигналының болған уақыт интервалында олардың ауысуы тоқтатылады. Бұл кезде, әрбір арнаның "тесерілімі" нақтылы және оптималды уақыт интервалымен бекітілу керек. Үзіліс сигналының тууында және оның біткенінше, яғни осы сигналдың өңделу уақытының интервалында тексерім тоқтатылады да, оның жойылған кезінде қайтадан басталады. Демек, бұл кезде бағдарламаның жұмыс нүктесі қосалқы үзіліс бағдарламасына кетіп, үзіліс сигналы алып тасталғанда одан шығады.
Терминологияны анықталық. Түсіндірудің және ұғудың ыңғайлылығы үшін бағдарламаның жұмыс бөлігін екіге бөліп қарастырған дұрыс. Бағдарламаның үзіліске кеткеннен кейін орындалатын командалар тобын үзіліс бағдаламасы деп, ал қалғанын оның "негізгі бөлігі" деп атаймыз.
Үзіліс бағдарламасына кету келесі тәртіппен жүргізіледі. Егер үзілістерге рұқсат беру "аймағының" өңделу уақытының интервалында RB0/INT шықпасындағы сыртқы, басқару сигналының жанды ауытқымасы қалыптасса, онда бағдарламаның жұмыс нүктесі қосалқы үзіліс бағдарламасының басына "секіреді де", одан кейін осы бағдарлама орындала бастайды.
Идеалды жағдайда, үзілістерге рұқсат "аймағы" бағдарламаның "негізгі бөлігін" түгел қамту керек еді, бірақ іс жүзіндегі құрылғының мынадай ерекшелігі бар: арналардың ауысуы нақтылы уақытқа созылатындықтан, осы ауысу кезінде үзіліске "қате кету" болуы мүмкін, ал бұндай жағдайды болдырмау керек.
START бағдарламасы барлық үзіліске тиым салудан басталып (clrf IntCon), үзілістерге кету мүмкіндігі кейінірек болу керек. Бағдарлама үзілістерге рұқсат беру "аймағының" басына дейін өңделеді (орындалады). Осы "аймақтың" басында RB0/INT кірісі бойынша үзіліске рұқсат беріледі де, одан кейін бағдарлама "үзілісті күту режимінде" орындалады. Осы "аймақтың" соңында үзілістерге тиым салынады да, бағдарламаның жұмыс нүктесі оның "негізгі бөлігіне" ауысады.
Үзілістерге рұқсат "аймағында" екі түрлі оқиға болуы мүмкін:
- Үзіліс болмаса, онда бағдарлама оның "негізгі бөлігінің" шегінде орындалады;
- Үзіліс туса (RB0/INT шықпасында сигналдың жанды ауытқымасы қалыптасса), онда бағдарламаның жұмыс нүктесі қосалқы үзіліс бағдарламасының басына ауысады.
Бұндай ауысу стек арқылы жүргізіледі, яғни стекке келесі команданың адресі жазылады. Бұл үзіліс бағдарламасы өңделіп біткеннен кейін бағдарламаның жұмыс нүктесінің осы "келесі" командаға қайтуы үшін керек.
Үзіліс бағдарламасының соңғы командасы әрқашан retfie болу керек. Ол үзіліс бағдарламасынан қайту үшін ғана пайдаланылады. Бұл команда арқылы стек арқылы қайту жүзеге асырылады.
Тағы бір маңызды "мәселе": үзіліс бағдарламасының құрамына, міндетті түрде, әрекет қылған үзіліс көзінің туын (немесе үзіліс көзі бірнеше болса, онда туларды) тазарту командасы кіру керек. Біздің жағдайда RB0/INT кірісінен үзіліс пайдаланылады, сондықтан bcf IntCon,1 командасы қолданылады. Көптеген жағдайда ту тазарту командасын тікелей retfie алдына орналастырады. Ту тазарту командасының болмаған жағдайында бағдарламаның жұмыс нүктесі, бірінші үзіліске кеткеннен кейін, үзіліс бағдарламасы мен бағдарламаның "негізгі бөлігінің" арасында басқарусыз "қаңғи" бастайды ("глюк").
Үзіліс бағдарламасының басында STATUS және W регистрлерінің құрамын осы үшін арнайы құрылған жалпы қызмет регистрлеріне сақтау керек те (олардың стандартты аталымы: Stat_Temp және W_Temp, бірақ оларды басқаша да атауға болады), үзіліс бағдарламасының соңында олардың құрамын қайта қалпына келтіру керек. Мәселе мынада: үзіліс бағдарламасының орындалу кезінде STATUS және W регистрлерінің құрамы өзгеріп кетіп, үзіліс бағдарламасынан қайтқан кезде олардың құрамы бағдарламаның "негізгі бөлігінің" орындалуына теріс әсер етуі мүмкін.
Сонымен, үзіліспен жұмыс ұйымдастырылуы үшін (біздің жағдайда RB0/INT кірісі бойынша):
- бағдарлама "төбесінде" үзіліс векторын;
- үзіліс көзі (INTCON) қойылады;
- үзілістің жанды ауытқымасы (OPTION) анықталады;
- үзіліске рұқсат "аймағы" құрылады;
- үзіліс бағдарламасының басында STATUS және W регистрлерінің құрамы сақталып, бұл бағдарламаның соңында олар қайта қалпына келтіріледі;
- үзіліс бағдарламасынан қайтар алдында таңдалған үзілістің туы тазартылады;
- үзіліс бағдарламасының ең соңында retfie командасы орындалады.
Басқару сигналының бар кезінде бағдарламаның жұмыс нүктесі үзіліс бағдарламасында болуы керектігінен, оның бар-жоқтығын айналымды кідірім бағдарламасы арқылы тексеріп отыру керек болады, оған көпразрядты санауыш пайдаланылады.
Бағдарламаның "негізгі бөлігінде", алдымен, дайындық операцияларын жүргізу керек (бағдарламаның START бөлігі). Тексерім бағытын ауыстырып отыру үшін "триггер" құрылады. Бұл "триггердің" жағдайы периодты түрде тексеріп отырылады да, оның нәтижесіне байланысты ана немесе мына арнаға ауысу жүзеге асырылады.
Порт шықпаларын анықталық. В порты пайдаланылады. Сыртқы үзілістің INT шықпасы – RB0, демек, RB0/INT шықпасын "кіріске" бағытталған қызметке қалыптау керек. Порттың RB0 шықпасынан өзге ешқандай шықпасын сыртқы INT үзілісіне тағайындауға болмайды.
Үзіліс сигналы түсетін шығыс – ашық коллекторлы, сондықтан В портының тартым регистрлерін қосу керек. Бұл жағдайда RB0/INT шықпасының тартым регистрі ашық коллекторлы каскадтың жүктемесінң қызметін атқарады. Тәжірибе арқылы ашық коллекторлы каскадтың жағдайын тексеруге болады: сигналдың жоқ кезінде транзистор жабық, ал оның бар кезінде ол ашық, сондықтан RB0/INT шықпасындағы тартым регистрін ескерсек, бірлік деңгей сигналдың жоқтығына, ал нөлдік деңгей барлығына сәйкес келеді.
Арналардың ауыстырылуын басқару шығысы ретінде В портының қалған шықпаларының кез келгенін тағайындауға болады. Біздің құрылғыда ол үшін RB2 шықпасы алынған. Бұл шықпаны "шығысқа" бағытталған жұмысқа қалыптау керек. Ауысу екі арнаның арасында жүргізіледі: 1-арнаға RB2 шықпасындағы бір, ал 2-арнаға RB2 шықпасындағы нөл сәйкес келеді. Қай арнада үзіліс тууына байланысты (бірінші немесе екінші арнаны тексру кезінде) үзіліс бағдарламасында нақтылы жиілікті тербеліс қалыптастырылады.
8.3 Жұмыс тапсырмасы
8.3.1 Үзіліспен істеуші құрылғының төменде келтірілген жұмыс бағдарламасын енгізіп, оны Interrupt (Үзіліс) аталымымен сақта және оның екілік кодын шығар.
; Scanner with interruptions
;===============================
; Microcontroller PIC16F84A
; Clock Frequency 4.0 MHz
;===============================
Trigg equ 0Ch
W_Temp equ 0Dh
Stat_Temp equ 0Eh
Sec_H equ 0Fh
Sec_L equ 1Bh
Sec_1 equ 1Ch
Sec_2 equ 1Dh
Sec_F equ 1Eh
Sec_FF equ 1Fh
;===============================
org 0
goto START
;===============================
org 4
;*******************************
INT movwf W_Temp
movf Status,W
movwf Stat_Temp
;-------------------------------
movlw .15
movwf Sec_FF
btfsc Trigg,0
goto F1
movlw .150
goto F0
F1 movlw .50
F0 movwf Sec_F
call FF
;===============================
EndInt bcf IntCon,1
movf Stat_Temp,W
movwf Status
swapf W_Temp,F
swapf W_Temp,W
retfie
;===============================
FF movwf Sec_F
bcf PortB,3
PAUSE_F0 clrwdt
decfsz Sec_F,F
goto PAUSE_F0
;-------------------------------
movwf Sec_F
bsf PortB,3
PAUSE_F1 clrwdt
decfsz Sec_F,F
goto PAUSE_F1
;-------------------------------
decfsz Sec_FF,F
goto FF
return
;*******************************
START clrf IntCon
clrwdt
bsf Status,RP0
movlw .1
movwf TrisB
movlw .0
movwf Option_REG
bcf Status,RP0
;-------------------------------
TRIGGER btfsc Trigg,0
goto Mark_1
movlw .251
movwf PortB
goto Mark_0
Mark_1 movlw .255
movwf PortB
;-------------------------------
Mark_0 movlw .121
movwf Sec_1
PAUSE_D clrwdt
decfsz Sec_1,F
goto PAUSE_D
;===============================
movlw .245
movwf Sec_H
movlw .255
movwf Sec_L
;-------------------------------
movlw .144
movwf IntCon
;-------------------------------
PAUSE clrwdt
decfsz Sec_L,F
goto PAUSE
incfsz Sec_H,F
goto PAUSE
;-------------------------------
clrf IntCon
incf Trigg,F
goto START
;*******************************
End
8.3.2 Монитор экранына В портының индикаторлары мен осциллографты шығар және Tools/Microcontroller View терезесін аш (8.1 суретті қара).
8.3.3 Симуляторды іске қос.
8.3.4 Microcontroller View терезесіндегі B портының INT/RB0 шықпасының жанындағы T түймесін басып, үзіліс сұранысының сигналын бер де, бағдарлама жұмысын индикаторлар (Tools/8xLED Board) мен осциллограф (Tools/Oscilloscope) арқылы бақыла.
8.1 Сурет
8.3.5 Тәжірибені бірнеше рет қайталап, қалыптастырылған шығыс сигналдарының өзгерістерін бақыла.
8.3.6 Қалыптастырылған сигналдардың параметрлерін өлше.
8.4 СӨЖ тапсырмасы
Үш арналы тексеру құрылғысының қызметн жүзеге асыр.
8.5 Тексерім сұрақтары
1 Зерттелген бағдарламаның құрылымын және оның жұмысын түсіндір.
2 Үзіліспен істеуші құрылғының жұмысы қалай жүзеге асырылады?
Әдебиеттер тізімі
1. Шанаев О.Т. Electronic Workbench моделдеу жүйесі /қазақ және орыс тілдерінде. – Алматы: АЭжБи, 2003.
2. Шанаев О.Т. Цифрлық құрылғылар және микропроцессорлар. Курстық жұмысқа арналған әдістемелік нұсқаулар. – Алматы: АЭжБи, 2008.
3. Шанаев О.Т. Цифрлық құрылғылар және микропроцессорлар: Оқу құралы / Алматы: АЭжБИ, 2009.
4. Шанаев О.Т. Микропроцессорлық жүйелер: Оқу құралы / Алматы: АЭжБИ, 2009.
5. Угрюмов Е. П. Цифровая схемотехника. – СПб.: БХВ-Петербург, 2004.
6. Токхайм Р. Микропроцессоры. Курс и упражнеия: Пер. с. англ. – М.: Мир, 1988.
7. Уэйкерли Дж. Ф. Проектирование цифровых устройств: Пер. с. англ. – М.: Постмаркет, 2002.
8. Хамахер К. И др. Организация ЭВМ. Пер. с. англ. – СПб.: Питер, 2003.
9. Сугано Т. Дж., Уидмер Н. С. Цифровые системы. Теория и практика: Пер. с англ. – М.: Издательский дом “Вильямс”, 2004.
Мазмұны
1 Зертханалық жұмыс № 1. Жадылық құрылғылар
2 Зертханалық жұмыс № 2. Информация енгізу құрылғысы
3 Зертханалық жұмыс № 3. Жады жүйесінің құрылым негіздері
4 Зертханалық жұмыс № 4. MP4M моделі
5 Зертханалық жұмыс № 5. Intel 8085 жүйесі
6 Зертханалық жұмыс № 6. Қосалқы бағдарламалармен жұмыс
7 Зертханалық жұмыс № 7. PIC16F8X микроконтроллері
8 Зертханалық жұмыс № 8. Үзіліс ұйымдастырылуы
Жинақ жоспар 2012 ж., орны 169