Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС_укр.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
719 Кб
Скачать
☆

Система команд к1816:

Команди 1,2,3 байт. Виконуються за 1,2,3 такт у залежніст від сложностию.

6МГЦ (2.5 мкс

Команда пересилки даних:

  1. пересилки даних:

MOV A,<REG>

MOV <REG>,A

- завантаження в A умісту побічно що адресується ячейчки пам'яті:

MOV A,@<R> <R> ( R0, R1.

- завантаження в побічно що адресується ячейчку пам'яті вмісту A:

MOV @<R>,A

- завантаження в A коду зазначеного в команді:

MOV A,#<DATA>

- завантаження в регістр операнда зазначеного в команді:

MOV <REG>,#<DATA>

- обмін вмісту акумулятора і регістра:

XCH A,<REG>

- обмін умісту побічно що адресується осередку пам'яті і A:

XCH A,@<R>

Команди роботи з зовнішньою пам'яттю даних.

MOVX A, @<R>

MOVX @<R>,A

  1. Команди запровадження/висновка:

IN A,<PR>

OUTL <PR>,A

L- дані фіксуються у вихідному порту.

ANL <PR>,#<DATA> - логічне «И».

ORL <PR>,#<DATA> - логічне «АБО».

  • Арифметичні і логічні команди: додавання

ADD A,<REG>

-додавання А с побічно що адресується осередком пам'яті:

ADD A,@<R>

-додавання A із кодом:

ADD A,#<DATA>

-додавання А с регістром загального призначення і з бітом переносу:

ADDC A,@<R>

-додавання A із переносом і кодом, зазначеним у команді:

ADDC A,#<DATA>

-инкрементирование A:

INC A

-инкрементирование регістра:

INC <REG>

-инкрементирование осередку пам'яті:

INC @<R> декрементирование:

DEC A

DEC <REG>

  1. Логічні команди:

ANL A,<REG> - И

ANL A,@<R>

ANL A,#<DATA>

ORL A,<REG> - АБО

ORL A,@<R>

ORL A,#<DATA>

XRL A,<REG> - ИСКЛ. АБО

XRL A,@<R>

XRL A,#<DATA>

CLR A - обнуление

CPL A - інвертування

RLA - цикл. зсув уліво

RLCA - цикл. зсув уліво через битий переносу

RRCA - цикл. зсув управо через битий переносу

RRA - цикл. зсув управо

  • Команди передачі керування і циклів: безумовний перехід

JMP <ADR 11>

  • умовний перехід

JZ <ADR 8>

JNZ <ADR 8> - по прапорі 0

JB <B>,<ADR 8> - перехід по рав-ву “1” бита А

JC <ADR 8> - по прапорі переносу

JNC <ADR 8>

JF0 <ADR 8> - по прапорцях

JF1 <ADR 8>

JT0 <ADR 8>

JT1 <ADR 8>

JNI <ADR 8> - перехід по рав-ву 0 коду переривання

JTF0 <ADR 8> - перехід по прапорці таймера

DJNZ <REG>,<ADR 8> -цикл, <REG> - лічильник

CALL <ADR 11> - виклик ПП

RET

RET R - установка PCV

CLR C - очищення бите переносу

CPL C - інверсія бита C

CLR F0 - очищення прапорця користувача

CPL F0

CLR F1

CPL F1

ENI - забороняє переривання

MOV A,T - завантаження вмісту таймера в A

MOV T,A - завантаження акумулятора в таймер

DIS I

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

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

STOP TCNT - припинення таймера і лічильника

EN TCNTI - дозволи переривання таймера і лічильника

DIS TCNTI - заборона прер. від таймера і лічильника

ENT0 CLK -дозвіл висновка на вихід T0 c імпульсу CLK

Приклад використання однокристальной машини, коли ресурсів машини вистачає для рішення задачі.

Всі порти запровадження-висновка реалізовані за схемою монтажне И - для коректного запровадження інформації, перед цим повинні бути записані усе 1. Необхідно в порт записати FF.

Задача з використанням машини ВЕ48:

Дана система по сигналі STB1 уводить 8 розрядний код від об'єкта керування. Введений код опрацьовується некоторой підпрограмою. Результат опрацювання зберігається в регістрі R2, потім результат із R2 виводиться на приттер.

Структурна схема даної системи:

Програма, що реалізує даний процес:

Програма початкової установки:

Програма початкової установки

НУ: MOV A,#FF

OUTL P0,A

MOV A,#F0

OUTL P2,A

ENI

M1: JMP M1

ПП: IN A,P0

CALL ПП

M2: IN A,P2

JB 7,M3

JMP M2

M3: MOV A,P2

OUTL P1,A

ORL P2,#F1

M4: IN A,P2

JB 7,M4

ANL P2,#F0

RET