Page 165 - 149
P. 165

PT0          IP.1         Біт пріоритету таймера 0. Працює аналогічно ІР.3
                   PX0          IP.0         Біт  пріоритету  зовнішнього  переривання  0.  Працює
                                             аналогічно ІР.2

                         Індикатори переривань опитуються в момент S5P2 кожного машинного
                  циклу.  Ранжування  переривань  за  рівнем  пріоритету  виконується  на
                  наступному  машинному  циклі.  Система  переривань  генерує  апаратний
                  виклик  (LCALL)  відповідної  програми  обслуговування,  якщо  вона  не
                  блокується однією з таких умов:
                  1)  в  даний  момент  обслуговується  запит  переривань  рівного  або  вищого
                      рівня пріоритету;
                  2)  поточний машинний цикл – не останній в циклі виконання команди;
                  3)  виконується команда RETI або інша команда, пов’язана зі зверненням до
                      регістрів ІЕ або ІР.
                         За апаратно-сформованим кодом LCALL система переривань розміщує
                  в  стеку  тільки  вміст  лічильника  команд  РС  і  завантажує  в  нього  адресу
                  вектора підпрограми обслуговування. За адресою вектора має бути розміщена
                  команда  безумовного  переходу  (JMP)  до  початкової  адреси  підпрограми
                  обслуговування  переривань.  Підпрограма  обслуговування  у  випадку
                  необхідності має починатись командами запису в стек (PUSH) регістра PSW,
                  акумулятора, покажчика даних тощо і закінчуватись командами відновлення
                  із  стеку  (РОР).  Підпрограма  обслуговування  переривань  має  завершуватись
                  командою RETI, за якою у лічильник команд завантажується зі стеку адреса
                  повернення в основну програму.
                                         Cистема команд МК 51
                         Система  базових  команд  МК  51  містить  111  базових  команд,які  за
                  функціональною ознакою поділяють на п’ять груп: команди передачі даних,
                  арифметичні  операції,  логічних  операцій,  передачі  керування  і  операцій  з
                  бітами.  Серед  цих  команд:  50  однобайтових,  45  двобайтові,  16  трибайтові.
                  Більшість  команд  (64  однобайтових  і  двобайтових)  виконуються  за  один
                  машинний цикл, 45 команд за 2 машинні цикли, а комнди множення і ділення
                  виконуються за чотири машинні цикли. При тактовій частоті 2 МГц довжина
                  машинного  циклу  складає  1  мкс.  Перелік  базових  типів  команд  МК  51
                  поданий в таблиці 2.11.
                         Перший  байт  команди  будь-якого  типу  і  формату  операції  завжди
                  містить код операції (КОП). Другий і третій байти є або адресою операндів
                  або безпосередні операнди. На рисунку 8.9 показані 13 форматів команд МК
                  51.
                                          Типи операндів та способи адресації
                         МК  51  використовує  операнди  чотирьох  типів:  біти,  4-бітові  цифри,
                  байти і 16-байтові слова. З карти адрес РПД (рисунок 8.4) видно, МК  має 128
                  програмно-керованих  індикаторів  користувача,  а  також  є  можливість
                  адресації  окремих  бітів  блока  регістрів  спеціальних  функцій.  Для  адресації




                                                                                                             166
   160   161   162   163   164   165   166   167   168   169   170