Схемотехника


i8085 микропроцессор командалары



бет36/36
Дата25.04.2022
өлшемі0.84 Mb.
#32208
1   ...   28   29   30   31   32   33   34   35   36
13.1 i8085 микропроцессор командалары

 

МП командалары 13.1 кестеде келтірілген бірінші бағанда r арқылы белгіленген,  rp арқылы белгіленген регистр жұптарының, М арқылы белгіленген жады ұяшықтарының, b3b2 арқылы белгіленген 2 және 3 байт командааралық,  port арқылы белгіленетін СҚ адрестерінің мнемокодтары берілген.



 

13.1 кесте - i8085 микропроцессор командалары



      Ассемблер

       КОП

Ұзындығы, байт

Мазмұны

Қайта жіберу командалары

     MOV r1, r2

01ПППИИИ

         1

Жіберу   r2 → r1

     MOV r, M

01ППП110

         1

Жіберу М → r

     MVI r, b2

00ППП110

         2

Байтты жіберу → r

     LXI rpb3b2

00ПР0001

         3

2 байтты жүктеу → rр

    LDA b3b2

       3A

         3

А-ны тура жүктеу

    SHLD b3b2

       22

         3

Тура жазу HL → M

     STA b3b2

       32

         3

Тура жазу A → M

Арифметикалық және логикалық командалар

     ADD r

10000ИИИ

         1

  А + r → А

     ADD M

       86

         1

  А + М → А

     ADI b2

       С6

         2

  А + байт → А

     ADC r

10001ИИИ

         1

  А + r + С → А 

     ACI b2

       СЕ

         2

  А + байт + С → А 

     SUB r

10010ИИИ

         1

  А - r → А

     SUI b2

      D6

         2

  А - байт → А

     SBB r

10011ИИИ

         1

  А - байт - С → А 

     INR r

00ППП100

         1

Регистр инкременті

     INR M

      34

         1

Жалы инкременті

13.1 кестенің жалғасы

     DCR r

00ППП101

         1

Регистр декременті

     DCR M

      35

         1

Жады декременті

     DAA

      27

         1

      BC → BCD

     ANA r

10100ИИИ

         1

Лог.ЖӘНЕ    А & r → A

         ORA r

10110ИИИ

          1

Лог. НЕМЕСЕ  А + r → A

         CMA

         2F

          1

Лог. ЕМЕС  инверсия А

         XRA r

10101ИИИ

          1

Ерекшелік. НЕМЕСЕ   А + r → А

         CMP r

10111ИИИ

          1

Салыстыру  А - r

         CPI b2

        FE

          2

Салыстыру А - байт

         RLC

        07

          1

Цикл.А солға ығысуы

         RRC

        0F

          1

Цикл.А оңға ығысуы

Басқару командалары

     JMP b3b2

         C3

          3

Шартсыз ауысым

     Jусл b3b2

11УУУ010

          3

Шартты ауысым

     CALL b3b2

         CD

          3

Бағдарламаны шақыру

         RET

         C9

          1

Қайтару

Арнайы командалар

       PUSH rp

11РП0101

          1

rp ағынына жіберу

       POP rp

11РП0001

          1

 rp ағынынан жүктеу

       IN port

         DB

          2

А енгізу

       OUT port

         D3

          2

А шығару

       EI

         FB

          1

Үзуге рұқсат беру

       DI

         F3

          1

Үзуге рұқсат бермеу

       NOP

         00

          1

Опреация жоқ

       HLT

         76

          1

тоқтатылды

 

Екінші бағанында ИИИ -мәліметтер көздерінің адресі; ППП – қабылдағыш адресі; РЖ- регистрлер жұбы. РОН адрестері: 000 – В; 001 – С; 010 – Д; 011 – Е; 100 – Н; 101 – L; 111 – A.

ADD – addition – қосу;

SUB – subtraction – азайту.

    

13.2 МПС құрылымдық сызба

 

Микропроцессорлық жүйе құрамына төмендегі микросызбалар кіреді:



- орталық  процессор i8085;

- тактілік импульстар генераторы (ТИГ) i8284A;

- ақаулар бақылаушысы i8259;

- баспа регистрі  i8282 сыртқы қондырғыларды бекітуге арналған;

- шиналы қалыптастырғыш  i8286 (екібағытты  мәліметтер буфері);

- оперативті жады RAM i2142;

- бағдарламаланатын  ПЗУ PROM i2716;

- бағдарламаланатын параллельді интерфейс (БПИ) i82С55.



 

13.1 сурет – i8085 базасындағы МПС сызбасы

 

13.3 Индикация құрылғылары

 

Жетісегментті индикаторлар МП регистрлерінің құрамын және жады ұяшықтарын бақылауға мүмкіндік береді, басқа ақпаратты бейнелейді. Әрбір индикаторға ОЗУ (ОЕСҚ) ұяшығы сәйкес келеді, онда индикатор сегменттерінің жарқырауын басқаратын жетісегментті код сақталады. Осы ұяшықтардан ақпарат арнайы сызба көмегімен индикаторларға жіберіліп, олар индикацияның динамикалық режимін қамтамасыз етеді. Бұл ұяшықтардағы әрбір бит анықталған сегментке (13.2 суретті қара) сәйкес келеді. Егер бит 1-ге тең болса, онда сәйкес сегмент жанатын болады, және керісінше 83FFH – жады ұяшығы оң индикаторға (барлығы сегіз) сәйкес келеді. 





Бит

7

6

5

4

3

2

1

0

Сегмент

H

G

F

E

D

C

B

A

 

 

 

 

 

 

 

 

 

 

13.2 сурет - Жеті сегментті индикатор сызбасы  

 

Сыртқы құрылғылармен ақпарат алмасу i82C55 бағдарламалаушы интерфейс арқылы іске асырылады.



Бағдарламалар ассемблер тілінде, яғни мнемониканы қолдану арқылы жазылады. МП команданы «түсіну» үшін оны машина тіліне (код) аудару керек. МП сандық сигналдармен тікелей жұмыс жасағандықтан, Ассемблер командалары екі кодта кодталған. Үлкен көрнекілік және ыңғайлылық үшін екі кодты он алтылыққа ауыстырады. Мысалы, 00111100 коды оналтылық түрде 3С деп жазылады, МП 8085 үшін А регистрі құрамындағы команданы 1-ге арттыруды көрсетеді және Ассемблер тілінде (INRA түрінде) жазылады.

Ассемблерде жазылған бағдарламалар қодың трансляциялау және ОЕСҚ жүктеуге ұшырайды, сондай-ақ жүктеу жадының тізбекті ұяшықтарында іске асырылады. Қолдан трансляциялау 13.1 кестесі көмегімен i8085 мнемоникалық белгілеулерімен іске асырылады. 

Мысалы индикаторға «8»  цифрын шығаратын бағдарламаны (13.2 кестені қара) . Бұл үшін  басқа барлық сегменттерге бірлік импульстер беру керек.  «1» байтының сәйкес разрядын қарастырыңыз (13.2 суретті қара). Екілік кодын аламыз: 01111111.   7Fh коды алдымен МП аккумуляторына  алдымен MVI A командасымен жазылады, содан соң А құрамындағы индикаторға қайта жіберіледі.

 

13.2 кесте



Адрес

Мазмұны

Оператор

Операнд

Түсініктеме

8000

8001


8002

8003


8004

8005


3E

7F

32



F8

83

76



MVI

 

STA



 

 

 



A, 7Аh

 

83F8h



 

 

 



 

 

Цифра  «8»



 

 

Останов





















 

 

14 Дәріс. Арифметикалық және логикалық командалар

 

14.1 Арифметикалық командалар

 

МП орындалатын негізгі арифметикалық функциялардың бірі қосу болып табылады. Бір екілік санды екіншінің қосымша кодымен қосқан кезде азайту операциясы іске асырылады. Қосу көп рет қайтаналануы мүмкін, ал көп рет қосу дегеніміз, бұл көбейту операциясы. Қайталанатын азайту операциясы бөлу операциясын береді.



Екілік сандарды көбейту ондықтарды көбейтуге ұқсас. Екі жағдайда да ең шеткі оң позицияда орналасқан  ең аз мәнді сандар наймын өңдеуден  басталады. 

       Тасымалдау     110               0110  0000     С

       Қосылғыш   062               0011  1110     А

       Қосылғыш  049               0011   0001    В

       --------------------                -------------

       Сома          111               0110  1111     А

Он екілік сандарды азайту операциясы да ондықтарға ұқсас.

       Заем /тасымалдау/        1       0000  0010     С

       Азайғыш       62       0011  1110     А

       Азайтқыш          49       0011  0001     В

       --------------------                ------------

       Айырымы                13       0000  1101     А

 

Теріс екілік сандар қосымша кодта беріледі (2 дейін толықтырылған), оның қалыптасуы екі кезеңнен тұрады: теріс кодты алу және бірді қосу. Егер сан оң болса, онда үлкен бит белгі  0 тең, ал  кері жағдайда да 1-ге  тең. Екілік санның кері коды осы типті санның кодын инвертирлеу нәтижесі. Жоғарыда келтірілген  мысалда теріс санды қосымша кодта беруге болады



    0011 0001                                49 саны тура кодта

   ------------

   1100 1110                                49 кері коды

   0000 0001                                кері кодқа қосылған бірлік

   ------------

   1100 1111                                49 қосымша код

     Сонда екі санның айырмасы мынаған тең болады

   0011 1110  А         аға битте 0, яғни оң сан

   1100 1111  В

   ----------------

   0000 1101  А

Екі екілік санды көбейтуде екі амал орындалады: ығысу және қосу. Көбейтіндіні солға жылжыту, екілік санды 1 көбейту сол санның өзіне тең.

Бөлу көбейтуге кері операция, яғни азайтқыш азайғыштан аз болғанша алу деген сөз. Арифметикалық операциясының көбейтіндісін орындауға қажетті бағдарламаны жазуы керек «Қосу» операциясы АDD r командасымен орындалады , бұл А, В регистрлерінің мазмұнына байланысты мәліметтердің орналасу орнына тәуелді қосылады, қосылу командасы жады және А (АDD М),  мәліметтер және А (АDI байт) бірге болуы мүмкін.

«Азайту» операциясы SUB r, командасымен іске асырылады,  бұл кезде А регистрі құрамынан  r регистрі құрамы азайтылады. Осы сияқты азайту командалары және А жадысымен  (SUI байт) болуы мүмкін.

 

14.2 Логикалық  (биттік) командалар

 

Әрбір бит және булдік айнымалы болатын мәліметтермен операциялар жүргізу үшін НЕ, ЖӘНЕ, НЕМЕСЕ логикалық командалары, НЕМЕСЕ  жоққа шығару командалары қолданылады.  



ЕМЕС функциясын бірбайттық СМА (коп 2F)командасы жүзеге асырады, ол аккумулятор құрамын инвертирлейді.

ЖӘНЕ функциясын ANA B – коп  А0 командасы орындайды.

НЕМЕСЕ функциясы ОRА r, командасымен орындалады, ол «НЕМЕСЕ» бойынша А және  r регистрлер құрамын біріктіреді.  

«НЕМЕСЕ  шығарылып тасталынатын» функция  XRA r командасымен іске асырылады, бұл кезде A және  r регистрлері құрамындағы логикалық функция орындалады. Іс жүзінде аккумуляторды тазалау үшін XRA A (коп AF) командасы қолданылады, ол әрбір битте нөлдік  нәтиже береді.

i8085  екілік- ондық кодпен (ВСD) жұмыс істеуге мүмкіндік береді, онда әрбір разрядтың ондық сандары екілік болып танылады. Осының салдарынан 9 (1001+1111) екіде асатын сандар ВСD-да жіберілмейді. Осы мақсатта МП ондық коррекциясы жүзеге асырылады DАА (коп 27) командасы қарастырылған: егер аккумулятор құрамындағы жартылай байт 9-дан  үлкен болса, онда 6 қосылады. Ереже бойынша, ондық коррекция қосу операциясынан кейін орындалады.                                                                                

i8085 қосымша логикалық командаларына СМР r командасын жатқызуға болады, ол аккумулятор құрамы мен r регистрін бірінен  бірін алу кезінде А құрамын өзгертпеу жолы арқылы салыстыру жүргізеді. Салыстыру нәтижесі жалаулар биттері бойынша анықталады: егер  Z = 1 нолі,  А = r ; егер  А < r болса, ауысуы  C = 1 болады. Кейбір есептерді шешуде берілген санды 2 есе арттыру/ кеміту керек. Ол RRC (оңға) немесе RLC (солға), бір разрядқа жылжиды.

 RAR және RAL командаларының айырмашылығы - олардың  аккумулятор құрамының оңға  (солға)    циклдік ығысуы тасымалдау (С)  жалау биті  арқылы жүзеге асырылуында. 

CMC (коп 3F) командасы (C) тасу бит жалауын инвертирлейді.  

 

 

15 Дәріс. i82С55 кіріс-шығыс интерфейсі



 

15.1 Жалпы мағлұматтар

 

Енгізу/шығару жүйесі (КШЖ) МП сыртқы құрылғылармен байланысын қамтамасыз етеді, оларға мыналар жатады:



- енгізу/шығару құрылғылары (ЕШҚ) - пернетақта, дисплей, принтер, берілгіштер және орындаушы  механизмдер, АЦП, ЦАП, таймерлер және т.б.;

- сыртқы есте сақтау құрылғылары (СЕСҚ): магниттік дискідегі жинақтаушылар, «электронды дискілер» және т.б.

ЕШЖ қарастыру шегінде «ЕШҚ» және «СҚ» терминдерін синонимдер деп аламыз да, оларға процессор тарапынан көңіл аудару бір заң бойынша іске асырылады.

ЕШЖ келесі функциялардың орындалуын қамтамасыз етуі керек:

- мәліметтер форматын келістіру, себебі процессор әрқашан мәліметтерді параллельді формада жібереді/қабылдайды, ал кейбір СҚ (мысалы, НМД) – тізбекті формада.  Осы көзқарас тұрғысынан параллель және тізбекті интерфейс құрылғылары ажыратылады. Параллель ауысу аясында берілген сөздердің форматтарын түрлендіру жүргізілмейді, осы кезде тізбекті ауысуда параллель кодты тізбектіге түрлендіру жүзеге асырылады;

- ауысу режимін ұйымдастыру – әртүрлі шиналарда ақпараттың болуы, оның типі, СҚ күйі (Дайын, Бос емес, Авария),  ауысудың уақытша параметрлерін шектеу, индентификациялаушы басқару сигналдарының қалыптасуы мен қабылдануы.  Процессор және  СҚ байланыс тәсілімен (активті және пассивті)  асинхронды және синхрондық ауысуды бөліп көрсетуге болады.  Синхрондық ауысу кезінде ауысудың уақыттық сипаттамалары толығымен МП анықталады, ол СҚ ауысуға дайындығын және ауысудың іс-жүзіндегі аяқталу  уақытын сараптамайды. Синхрондық ауысу осыған үнемі дайын болатын құрылғылармен ғана болуы мүмкін (мысалы, екілік индикация).

Асинхронды ауысу кезінде МП ауысу біту процесінде СЖ күйін сараптайды. Осы жағдайда ауысудың уақыттық сипаттамалары СҚ анықтала алады:

 - сыртқы құрылғының сыртқы селекциясын.

Енгізу/шығару процесі МП басқаруымен не СҚ (ПДП контроллері) болуы мүмкін. Бірінші жағдайда енгізу/шығару әдістері екі түрге бөлінеді: сұрау бойынша және сүзу бойынша.

Сұрау бойынша енгізу/шығару әдісі СҚ жауапқа дайындығын процессормен үнемі тексеру дегенді білдіреді. Бұл әдістің кемшілігіне төменгі тезжүргіштікті жатқызуға болады. Процессор және сыртқа құрылғылар

жылдамдық бойынша сәйкес болулары керек. Егер ақпарат сирек түсетін болса (процессор СҚ сұрайды, ақпарат жоқ), тиімділігі төмен болады. 

      


15.2 Бағдарламаланатын i8255 периферийлік интерфейсі

 

Бағдарламаланатын i8255 бағдарламаланатын периферийлік интерфейсінің  (programmable peripheral interface – PPI)  40 шығысы бар:

- мәліметтерді енгізу/шығаруға арналған үш порт  А(РА7 – РА0), В(РВ7 – РВ0), С(РС7 – РС0);

- мәліметтерді уақытша сақтауға арналған мәліметтер буфері  МБ (Д7 – Д0);

- басқару блогы.

Басқару блогының 6 шығысы бар:  CS – бағдарламалау, есептеу немесе жазу операциялары үшін микросхемалар жиыны; А0, А1 – енгізу-шығару портын таңдау  (00 – порт А, 01 – В, 10 – С, 11 – басқару блогының командаларының регистрі); RD, WR – оқу және жазу операциясы үшін; RESET – бастапқы күйге келу ауытқу сигналы, яғни ППИ барлық порттары мәліметтердің енгізу құрылғысы ретінде МП қолданылады.



 

 

15.1 сурет – ППИ құрылымдық



А, В, С порттары жеке бағдарламаланған, сол сияқты топтар бойынша бағдарламаланған болуы мүмкін: А тобы – А порты және С портының үлкен жартылай байтты (РС7 – РС4); В тобы – кіші жартылай байтты В порты (РС3 – РС0).   

      ППИ үш режимде жұмыс істейді:

- 0 режим – негізгі  (стробталмаған);

- 1 режим –стробталған енгізу-шығару ( бірбағытты);

- 2 режим – стробталған екібағытты ауыстыру.

 

15.2.1 Режим 0.



ППИ-ді 0 режимінде порттар топтарға қосылатындай етіп бағдарламалауға болады:

- екі бірбайттық және екі жартылай байттық порт (С порт) енгізу-шығару 16 мүмкін комбинациялары не үш бірбайттық порт А,В, және С порттарынан 8 мүмкін комбинациялар. Аккумулятор (А) мәліметтерді шығарған кезде МП

(OUT командасы бойынша, порт адресі) олар ППИ буферлік регистрінде есте сақталып, ал содан кейін порт шинасы арқылы белгіленген портқа жіберіледі.

Мәліметтерді аккумуляторға енгізген кезде МП А,В,С регистрлері «мөлдір» болады (мәліметтерді тіркемейді) және (IN, порт адресі) командасы бойынша мәліметтерді порт шинасынан микропроцессорлық  мәліметтердің жүйелік шинасына  (Д7 – Д0) жібереді.

 

15.2.2 Режим 1.



Бұл режимде С портының 6 разряды МП және СҚ арасындағы мәліметтер ауысуын синхронизациялау үшін А және В порттары арқылы пайдаланылады, яғни тек екі порт А және В порттары ғана қолданылады. Бұл кезде 1 режим стробирленген кіріс немесе стробирленген шығыс ретінде болуы мүмкін.

1 режимінің стробирленген шығысы А порты немесе В портының жалғамалары бар енгізу құрылғысы ретінде жұмыс жасауын ұсынады. Бұл сыртқы мәліметтердің МП оларды шығарып тастауға дайын болғанша портта сақталуына мүмкіндік береді. Көптеген енгізу/шығару құрылғылары ақпаратты МП істегенге қарағанда біраз баяулау қабылдайды және береді. Ақпаратты ендіру-шығару процесін басқару әдісі бар, ол квиртирлеу (handshaking) немесе сауалнама  (poling) деп аталады да, МП-мен енгізу-шығару құрылғысының жұмысын синхрондайды. Мысалы, квитирлеуді талап ететін құрылғы болып, секундына 100 белгі (cps) басып шығаратын жылдамдықты параллель принтер бола алады.  Принтерден оның бос еместігі туралы сұрау  сауалнама  жүргізу,  ал принтерге бір уақыттағы Strobe  сигналымен мәліметтер жіберу – квиртирлеу деп аталады.

  

Әдебиеттер тізімі

 

1. Гусев В. Г. Электроника и микропроцессорная техника: Учебник для вузов. – М.: Высшая школа, 2006. – 799 с.



2. Опадчий Ю.Ф. Аналоговая и цифровая электроника:  Учебник для вузов. /Под ред. О.П.Глудкина. – М.: Горячая линия‑Телеком, 2005. – 768 с.

3. Новиков Ю.В., Скоробогатов П.К. Основы микропроцессорной техники. – М.: БИНОМ. Лаборатория знаний, 2006.

4. Угрюмов Е.П. Цифровая сұлбатехника. – СПб.: БХВ-Петербург, 2002. – 528 с.

5. Шанаев У.Т. Цифровые устройства и микропроцессоры. Методические указания к выполнению лабораторных работ. – Алматы: АУЭС, 2010. – 25 с.



6. Байкенов Б.С. 8085-симулятор. Методические указания к выполнению лабораторных работ. – Алматы: АУЭС, 2010. – 24 с.

 

  

Достарыңызбен бөлісу:
1   ...   28   29   30   31   32   33   34   35   36




©emirsaba.org 2022
әкімшілігінің қараңыз

    Басты бет