- •Шина керування (Control bus)
- •1.Організація однокристальних еом
- •1.3 Організація вводу/виводу інформації
- •1.4. Блок керування
- •1.5. Логічна схема умовних переходів
- •1.6.Режим преривання
- •1.7.Таймер/лічильник
- •2.Повноекраний налагоджувач ассемблерних програм для однокристальних еом кр1816ве48
- •2.2.Команди налагоджувача.
- •2.3.Повноекранне редагування.
- •2.4.Режим Ассемблера.
- •2.5. Робота з точками преривання.
- •3.Система команд оеом кр1816
- •3.1.Група команд пересилки данних
- •Рпзп Програм і
- •Порт р1
- •Порт р2
- •3.2.Група команд арифметичних та логічних операцій
- •3.3.Група команд вводу-виводу інформації.
- •3.4.Група команд передачі керування.
- •3.5.Група команд операцій з таймером
- •3.6.Група команд керування режимом роботи оеом
- •4.Приклади написання програм для оеом кр1816 ве48
- •4.1. Приклади використання команд передачі данних
- •4.2. Приклади використання команд арифметичних операцій.
- •4.3. Приклади використання команд логічних операцій
- •4.4. Приклади використання команд передачі керування і команд керування режимом оеом
3.5.Група команд операцій з таймером
Помимо розглянутих раніше команд обміну між таймером та аккумулятором (MOV A,T i MOV T,A), по яких вміст таймера може бути прочитано або зміне-но (перезавантажено) під час зупинки підрахунку, або під час підрахунку (на льоту), в ОЕОМ виконуються спеціаьні команди керування рожимом роботи таймера. Таймер може бути (в залежноті від команди) використаний як лічиль-ник тактів або подій від внутрішнього або зовнішнього джерела сигналів. Вико-нуєма команда визначає джерело тактування таймера. Система команд ОЕОМ має можливості розширення або заборони преривання від таймера.
STRT T
Запуск таймера
Код: [55].
Команда розширює роботу таймера від сигналів синхронізації. Вміст таймeра інкрементується через кожні 32 цикли тактування.
STRT CNT
Запуск лічильника подій.
Код:[45].
Таймер працює в якості лічильника подій від сигналів на вході Т1. Інкремент лічильника подій виконується по спаду сигналу на вході Т1.
STOP TCNT
Зупинка таймера/лічильника подій.
Код:[65].
Приклад: Заборонити преривання від таймера, але дозволити преривання після восьми сигналів переповнення таймера. При переході до процедури обробки преривання зупинити таймер. Сигнали переповнення підраховувати в регістрі 5.
START: DIS TCNTI ; заборона преривання від таймера
CLR A ; очистка аккумулятора
MOV T,A ; очистка таймера
MOV R5,A ; очистка регістра 5
STRT T ; запуск таймера
M1: JTF COUNT ; якщо TF=1, то перехід до COUNT і установка TF в 0
JMP M1 ; цикл
COUNT INC R5 ; інкремент регістра R5
MOV A,R5 ; переслати R5 в аккумулятор
JB3 INT ; перехід до підпрограми обслуговування преривання
INT якщо біт 3 аккумулятора має значення 1.
JMP M1 ; перехід, якщо В3=/1.
.
.
INT STOP TCNT ; останов таймера
JMP 07H ; перейти до елемента памяті 7 (вектор преривання
від лічильника подій)
EN TCNTI
Дозвіл преривання від таймера
Код:[25]
Cигнал переповнення таймера /лічильника подій визиває підпрограму обслуговування преривання.
DIS TCNTI
Заборона преривання від таймера
Код:[35].
Запит преривання по сигналу переповнення таймера не обслуговується. Таймер/лічильник подій продовжує свою роботу.
3.6.Група команд керування режимом роботи оеом
Команди керування режимом роботи ОЕОМ дозволяють або забороняють об-слуговування преривань і визначають робочі банки регістрів і блок пам’яті. На-явність двох банків регістрів дозволяє при визові підпрограм і обробці прери-вань еффективно використовувати другий банк регістрів в якості робочого, збе-рігаючи параметри обчислювального процесу не в стеку, а в вихідному банку регістрів. При програмуванні процедур обробки преривань можна переключати або не переключати банки регістрів. В тому випадку , якщо банки регістрів пе-реключаються, повернення до вихідного банку регістрів буде виконаний авто-матично , але підпрограма обробки преривань закінчується командою поверне-ння з відновленням ССП (RETR).
Спеціальною командою ENT0 на вивід T0 дозволяється передача синхроні-зуючого сигналу з частотою опорного синхросигналу, поділеної на 3. Видача цього сигналу може бути відключена тільки сигналом загального збросу. Синхросигнал на виході T0 використовується або для активізації системи або для загальної синхронизації зовнішніх пристроїв, узгоджених з ОЕОМ по частоті роботи.
ENI
Дозвіл преривання
Код:[05]
Поява сигналу 0 на вході ЗПР активізує процедуру обробки запросу преривання.
DISI
Заборона преривання.
Код:[15]
Поява сигналу 0 на вході ЗПР ігнорується.
SEL RBO
Вибір банку регістрів 0
Код:[C5]
Алгоритм (BS)0
Признак селектора банка регістрів в ССП встановлюється в стан 0. Доступні регістри з адресами 0-7.
SEL RBI
Вибір банку регістрів 1
Код:[D5]
Алгоритм: (BS) 1
При цьому звернення в програмі до регістрів 24-31.
SEL MBO
Вибір блока памяті 0
Код:[E5]
Алгоритм: (DBF) 0
Триггер вибору блока пам’яті встановлюється в нуль. Розряд 11 лічильника команд буде установлений в нуль по першій команді передачі керування. Всі адреси находяться в діапазоні 0-2047.
SEL MBI
Вибір блоку памяті 1
Код:[F5]
Алгоритм: (DBF) 1.
Тригер вибору блоку памяті встановлюється в 1. Розряд 11 лічильника команд буде встановлений в 1 першою командою передачі керування. Всі адреси нахо-дяться в діапазоні 2048-4095.
ENTO CLK
Видача дозволу сигналу синхронізації.
Код:[75]
На вивод Т0 передається синхронізуючий сигнал , частота якого в 3 рази меншою опорного.
NOP
Немає операції.
Код:[00]
Команда використовується для точного налагодження часових затримок. Виконується за один машинний цикл.