Главная страница
Навигация по странице:

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

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

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

  • схематехника. Схемотехника


    Скачать 0.84 Mb.
    НазваниеСхемотехника
    Анкорсхематехника
    Дата12.02.2021
    Размер0.84 Mb.
    Формат файлаdocx
    Имя файласхематехника.docx
    ТипДокументы
    #176048
    страница8 из 9
    1   2   3   4   5   6   7   8   9

    12.2 i8085 микропроцессор құрылымы

     

    12.2 суретте i8085 МП ішкі құрылымы көрсетілген, оның құрамына буферлік регистрлі және ондық коррекция сызбалы 8-разрядтық АЛБ, РОН блогы, SP стек көрсету регистрлері және PC командасы есептегіші, алғашқы басқарушы автомат БА, адрес және мәліметтер шинасының буферлік сызбалары және жүйені басқару сызбасы кіреді.

     



    12.2 сурет -  i8085 МП ішкі құрылымы

     

    Сыртқы интерфейс 8-разрядтың екі бағытты мәліметтер шинасымен D[7:0], 16-разрядтың адрес шинасымен  A[15:0]  және басқару желісі тобымен көрсетілген.

    Микропроцессор, оның блоктары ақпаратпен алмасатын ішкі сегіз разрядтық мәліметтер шинасынан тұрады.

    Сызбада мынандай белгілеулер алынған:

    - AC (Accumulator) — регистр- аккумулятор, екісатылы триггерлерде орындалған және біруақытта екі сөзді сақтауға қабілетті (біреуі операндтар және операция нәтижесі);

    - W1 – операндттардың біреуін уақытша сақтау регистрі;

    - ALU (Arithmetic-Logic Unit) — арифметикалық-логикалық құрылғы, оның кірісіне берілетін екі сөз – операндысы жұмысты орындайды. Аккумулятор мәліметтер көзі және қабылдағыш қызметін атқарады. АЛҚ тікелей қосу, азайту, ығысу, сөздерді салыстыру, разряд бойынша логикалық операциялар (коньюкция, дизьюкция, 2 модулы бойынша көбейту) операцияларын ғана орындайды. Бұдан күрделілеу операциялар (көбейту, бөлу және т.б) кіші бағдарламалар бойынша орындалады. АЛҚ-да екілік сандарды екілік ондыққа көшіру схемасы бар (DA, Decimal Adjust);

    - RF (Register Rags) — яғни АЛҚ орындалған арифметикалық және логикалық нәтижелер белгілерін көрсететін жалаулар регистрі бес белгісі көрсетіледі: Z (Zero)- нөлдік нәтиже, С-тасымалдау, AC (Auxiliary Carry)-қосымша тасымалдау, S (Sign) – белгі, Р(Parity) – сөз салмағының тақтылығы. Қосымша тасымалдау белгісі (кіші және үлкен жартыбайттардың арасында) екілік-ондық кодта операциясын орындауда қажет.

    Мәліметтердің ішкі шинасымен мультиплексор арқылы регистрлер блогы байланысқан, олардың бөлігі арнайы,  басқа бөлігі (жалпы қолданыстағы регистрлер, ЖҚР)  бағдарламалық қол жеткізерлік және программистің қарауына қарай қолданыла алады. Регистрлер W2, W3, B,C,D,E, H, L, SP және PC арқылы белгіленген.  W2 және W3 регистрлері жадыдан команданы таңдауда мәліметтерді уақытша сақтау үшін ғана арналған және программистерге рұқсат етілмейді. B,C,D,E,H,L жалпы қолданыстағы регистрлерге жатқызылады, себебі программист қарауына қарай  қолданыла алады. Бұл сегізразрядты регистрлер бөлек, немесе 16-разрядты регистрлер рөлінде болатын B-C, D-E, H-L жұптары түрінде қолданыла алады. Регистрлер жұптары жұптың бірінші регистрі бойынша аталады, B. D, H жұптары сияқты. H-L жұбы жанама регистрлік адресация кезінде оған адрестерді енгізу үшін қолданылады.

    SP (Stack Pointer)  регистрі – стек көрсеткіші. Стек (дүкендік жады) сөздер массивін есте сақтау үшін ыңғайды, бұл кезде жеке адрестеу талап етілмейді. Сөз стекке белгілі бір ретпен енгізіледі, сол сияқты есептеу кезінде олардың реті алдын-ала белгілі болады. (Last In — First Out) типін ұйымдастыруда стекке жазылған соңғы сөз есептеу кезінде бірінші болып шығады. Стектің негізгі міндеті бағдарламаның үзілуіне қызмет көрсететін бағдарламаларды орындау.

    PC (Program Counter) бағдарламалық есептегіші команда адресін береді және жады адресінің  64К ұяшықтарының кез-келгеніне орналасуы мүмкін. Микропроцессор МП ауытқуы кезінде РС нөлдік күйді қабылдайды, сөйтіп бірінші орындалатын ұяшық адресі болады, басқаша айтқанда команданы орындау нөлінші ұяшықтан басталады. Команда ұзындығын 1...3 байты құрайды. Жадыдан  келесі байтты таңдаған соң бағдарламалық есептегіш құрамы автоматты түрде инкрементирленеді, егер ағымдық команда немесе кері жағдайда ағымдық команданың келесі байты бір байттық болса, онда  PC келесі команда адресі шығады. Команданың екінші және үшінші байттары W2 және  W3 регистрлеріне түседі, олар бағдарламалық адрестелмейді және ішкі басқарудың блогымен ғана қолданылады.

     Берілген сөзді INC/DEC (Increment/Decrement) схемасы одан өтетін сөздерді +1 немесе  - 1-ге өзгертеді.

    IR (Instruction Register)  командалар регистрі жадыдан команданың бірінші байтын (операция кодын) қабылдайды, олар дешифрациядан кейін операция кодымен алдын-ала жазылған машиналық циклдерді іске асыруға қажетті сигналдарды тудырады.

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

    МП мен жады (немесе СҚ) арасындағы ауысу кезінде жадының (немесе СҚ) сәйкес ұяшық адресі таңдалған команда немесе регистрлік жұптардың біреуінен  RA регистріне беріледі.

    Үш шығу күйі бар ВА адрес буфері А адрестік шинасының сызығындағы разряд адресінің үлкен, аға сигналдарын жібереді.

     

    13 Дәріс. Адресация және  командалар

     

    Команда – бұл МП белгілі әрекеттер орындауға мәжбүр ететін екі сөз. Командалар жиыны – МП орындай алатын барлық командалар жиынтығы. Команда екі бөліктен: операция кодынан (коп – opcode) және адрестен тұрады. ОПК басқару сызбасына «не істеу керек» және есептегіш командалары үшін командалар ұзындығын хабарлайды; ал адрес осы операцияға қатысатын  мәліметтердің орнын көрсетеді. i8085 сериясы микропроцессорлар үшін командалар жиыны 75-80 команданы құрайды. Командалар саны ОПК санынан едәуір көп, себебі командалар құрған кезде операцияның сол бір коды түрлі адрестеу әдістерінде қолданылуы мүмкін. Қысқаша әріптік белгілеу ОПК адресті  сандық жазу формасы түрінде жазу ассемблер бағдарламалау тілі деп аталады. Ассемблердің бағдарлама-трансляторы ОПК мнемоникалық белгілеуін машиналық код деп аталатын сәйкес екілік кодтарға түрлендіреді.  МП әртүрлі ұзындықты командаларға ие: 1, 2 немесе 3 байт. Мәліметтерге қарау типін адрестеу тәсілі деп атайды.

    Адрестеу әдісінің келесі түрлері болады:

    - анық емес – ақпарат көзі мен қабылдаушы адресі бірбайттық командада анық емес көрсетілген. Мысалы, В регистрінен А регистріне (В → А) жіберу командасы.  MOV A, B – opcode = 78h – СУ жіберуге арналған команда коды; 111- А регистр адресі, 000- В регистрі адресі;

    - тәуелсіз – ОПК әрқашан команданың бірінші байтында орналасады, ал одан кейін тікелей командаға байланысты 2 немесе 2 байтты алатын мәліметтер жүреді.  MVI A, 6Dh 3E – КОП,  6Д – мәлімет (сан), 6Д санын А регистріне жіберетін екібайттық команда (6Д → А), жадыда екі торшаны алады;

    - тура  – ОПК-дан кейін жады адресі немесе кіріс/шығыс құрылғысы (интерфейсі) орналасады, яғни адрес команданың өзінде көрсетіледі. STA 83F8 – А регистрін 83F8 адресі бойынша жады торына жіберетін үшбайтты команда. 32 (КОП) – F8(мл.байт) – 83(ст.байт);

    - жанама – бірбайттық  команда, жадыдағы мәліметтер адресі бар регистрлік жұбының (HL, SP) ОПК-да көрсетілетін.

    MOV A, M   - 7Eh – ОПК, адресі HL  регистрлік жұбында орналасқан жады  торынан қайта жіберу (көшіру).

     

    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»

     

     

    Останов



















     

     
    1   2   3   4   5   6   7   8   9


    написать администратору сайта