Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Eom_part1.doc
Скачиваний:
0
Добавлен:
28.08.2019
Размер:
411.65 Кб
Скачать

4.4. Приклади використання команд передачі керування і команд керування режимом оеом

4.1

Передати керування по мітці LL, якщо перемикач банка регістрів (біт ССП.4) встановлений

JBSET: MOV A,PSW ; передача ССП в аккумулятор

JB4 LL ; перехід, якщо А.4=1

4.2

Передати керування по мітці LABEL, якщо лячильник подій досягне стану 64

TESTC: MOV A,1 ;пересилка вмісту лічильника в аккумулятор

JB6 LABEL ; перехід по мітці, якщо А.6=1

4.3

Виконати перехід з нульового банка ПП до програми з іменем ROUT, розміщеної в першому банку ПП

SEL MB1 ; установка признаку DBF

JMP ROUT ; перехід на підпрограму ROUT

4.4

Множинне розгалудження програми

Допустимо, що результатом роботи деякої програми являється число Х ( в ме-жах від 0 до 15). Необхідно організувати передачу керування 16 різними про-грамами з іменами ROUT0-ROUTF в залежності від обчисленого занчення X.

ORG 0 ; задається початкова адреса програми

ANL A,#0FH ;зброс старшої тетради А для попередження по-

хибки переходу

JMPP @A ;відображення до таблиці векторів переходів

DB ROUT0 ;початкова адреса програми ROUT0

DB ROUT1 ;початкова адреса програми ROUT1

DB ROUT2 ;початкова адреса програми ROUT2

. . .

. . .

DB ROUTF ; початкова адреса програми ROUTF

необхідно відмітити, що команда JMPP, таблиці векторів і програми ROUT0-ROUTF повинні знаходитись на одній сторінці ПП

4.5

Організувати очікування появи нульового рівня на вході Т0

WAIT: JN1 WAIT ; перехід на WAIT, якщо на вході ЗПР нуль

4.6

Організувати очікування появи одиночного рівня на вході ЗПР в припущенні, що зовнішні преривання заборонені .

WAIT: JT0 WAIT ; перехід на WAIT , якщо на вході Т0 одиниця

4.7

Передати керування одній з восьми програм ROUT0-ROUT7 при появі нульо-вого рівня на відповідному вході порта 1. Найвищим приорітетом володіє вхід Р1.0

ORL P1,#0FFH ; настройка порта 1 на ввод

LOOP: IN A,P1 ;ввод данних з порта 1

CPL A ;інверсія аккумулятора

JZ LOOP ;очікування появи першого нуля

JB0 ROUT0 ; перехід до ROUT0, якщо Р1.0 =0

JB1 ROUT1 ; перехід до ROUT1, якщо Р1.1=0

JB7 ROUT7 ; перехід до ROUT7, якщо Р1.7=0

Розгалудження виконується групою з восьми команд JBb. Приорітети входів порта 1 визначаються черговістю перевірки.

4.8

При подачі на вхід Т0 послідовності з восьми нульових імпульсів встановити вихід Р2.7

MOV R7,#8 ; завантаження в R7 числа імпульсів

ONE: JT0 ONE ;очікування сигнала 0 на вході Т0

ZERO: JT0 SKIP ;очікування сигнала 1 на вході Т0

JMP ZERO

SKIP: DJNZ R7, ONE ;повторювати, поки не поступить восьмий

імпульс

ORL P2,#80H ; установка 1 на виході 7 порта 2

Тривалість нуля та одиниці на вході пристрою повинна бути не менше 4-х машинних циклів, тобто 10 мкС.

4.9

Дочекатися появи на вході Т1 100 імпулсів і перейти по мітці PULSE

MOV A,#156 ; (A) (256-100)

MOV T,A ; попередня установка лічильника

STRT CNT ; запуск лічильника

WAIT: JTF PULSE ; перехід, якщо прийшло 100 імпульсів

JMP WAIT

PULSE:…

4.10

Заборонити преривання від таймера, але дозволити преривання після восьми сигналів переповнення таймера. При переході до процедури обробки преривань зупинити таймер. Сигнали переповнення підраховувати в регістрі 5.

START: DIS TCNT1 ; заборона преривання від таймера

CLR A ;зброс аккумулятора

MOV T,A ; зброс таймера

MOVR5<A ;зброс регістра 5

STRT T ;запуск таймера

M1: JTF COUNT ;якщо TF=1, то перехід до COUNT і зброс TF

JMP M1 ; цикл

COUNT: INC R5 ; інкремент регістра 5

MOV A,R5 ;пересилка вмісту R5 в аккумулятор

JB3 IN1 ;перехід на підпрограму обслуговування прери-

вання INT якщо біт А.3 =1

JMP M1 ; перехід, якщо біт А.3 не рівняється 1

INT: STOP TCNT ; останов таймера

JMP 07H ; перехід до елемента 7 (вектор преривання 01

лічильника подій)

Список використаної літератури

1.Каган Б.М., Сташин В.В. Основы проектирования микропроцессорных устройств автоматики. М.Энергоатомихдат” 1987, 302с.

2. Сташин В.В., Урусов А.В., Мологонцева О.Ф. Проектирование цифроых устройств на однокристальных микроконтроллерах. М. Энергоатомиздат

1990. 226с.

3. Григорьев В.Л. Программное обеспечение микропроцессорных систем. М.

Энергоатомиздат, 1983, 227с.

ЗМІСТ

Вступ 3

1.Організація однокристальних ЕОМ 5

1.1. АЛП 6

1.2. ПамятьМК48 7

1.3. Організація вводу/виводу інформації 10

1.4. Блок керування 11

1.5 Логічнасхема умовних переходів 11

1.6. Режим преривання 12

1.7. Таймер/лічильник 12

2.Повноекранний налагоджувач ассемблерних програм для ОЕОМ

КР1816 ВЕ48 13

2.1.Ввод і описання команд 14

2.2. Команди налагоджувача 14

2.3. Повноекранне редагування 17

2.4. Режим ассемблера 17

2.5. Робота з точкамаи преривання 17

3. Система команд ОЕОМ КР1816 ВЕ48 18

3.1. Група команд пересилки данних 20

3.2. Група команд арифметичних та логічних операцій 26

3.3. Група команд вводу/виводу інформації 33

3.4. Група команд передачі керування 37

3.5. Група команд операцій з таймером 41

3.6. Група команд керування режимом роботи ОЕОМ 42

4. Приклади написання програм для ОЕОМ КР1618 ВЕ48 45

4.1 Приклади використання команд передачі данних 45

4.2. Приклади використання команд арифметичних операцій 46

4.3. Приклади використання команд логічних операцій 48

4.4. Приклади використаннякоманд передачі керування і команд

керування режимом ОЕОМ 50

Список використовуємої літератури 52

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]