Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заочники_ЦБП / ПиНК_Конспект.doc
Скачиваний:
44
Добавлен:
12.03.2016
Размер:
1.98 Mб
Скачать

Основные группы команд контроллера

  1. Команды передачи данных (не изменяют флажков):

    1. .Пересылка данных между регистрами CPU

MOV Ri, Rj (Rj → Ri)

(В нашем контролере так нельзя, надо: память → память (source, destination)

.Пересылка данных между регистрами CPU и памятью данных:

MOV A, adr

MOV A,@R0 (R0, R1)

    1. .Пересылка данных между регистрами CPU и портами периферийных устройств

MOV A, Pi

MOV Pi. A

    1. .Начальная загрузка регистров

MOV Rn, #data (#data – это всегда байт, кроме PTR – тут 2 байта)

2. Команды арифметических операций.

Команды этой группы формирую флажки. Отрицательные данные представляются в дополнительном коде.

Четыре арифметических операции:

ADD A, Rn

ADC A, Rn

SUBB A, @Ri – вычитание с заемом, косвенной адресацией

MUL A B – умножение (можно использовать только регистр В)

DIV A B – деление (можно использовать только регистр В)

INC Rn – инкремент

DEC adr – декремент адреса памяти.

3. Команды логических операций

    1. Команды выполнения булевых операций: (OR, XOR, AND)

ANL A,@Ri

ORL A,#data

XRL adr,A

CLP A – инвертирование – только для аккумулятора.

Однобитовые команды

CLR Bit – сброс любого бита;

SETB C – установка С;

SETB Bit– установка любого бита;

CPL C – инверсия С;

CPL Bit – инверсия бита;

    1. .Команды сдвига

Сдвигать можно только аккумулятор!!! Только на один бит: влево или вправо; сдвиги циклические.

RL A (rotate left)

RLC A (из седьмого – во флажок С)

rotate left через carry

RR A (rotate right)

RRC A

4. Команды передачи управления

4.1. Команды безусловной передачи управления:

JMP ADR 16 (могут быть L – long, S – short

4.2.Команды условной передачи управления:

J Cond ADR (Cond – condition)

JB Bit, Mi – условный переход по любому биту (jump bit)

JNB Bit, Mi – (jump not bit)

Для организации циклов:

DJNZ Rn,Mi – (decrement jump not zero)

4.3. Команды обращения к подпрограммам :

CALL ADR16

4.4. Команды возврата из под программ

RET – если просто подпрограмма;

RETI – возврат из прерывания.

5. Специальные команды (команды управления процессором)

Разрешение/запрещение прерывания (установка битов регистра IE – Interrupt Enable)

NOP – No Operation – пустая команда (для коротких задержек).

Тема 6. Реализация логических функций микроконтроллера

Одним из классов задач, реализуемых микроконтроллерами в АСУ ТП, является задача логического управления. Входные и выходные сигналы – булевы переменные. В общем случае, требуется реализация одной или нескольких логических функций:

Пример 1: контроллер для функции охранной сигнализации 4 дверей автомобиля будет иметь вид (нарисовать структуру):

У=Х1 V X2 V Х3 V X4, где Х1-Х4 входные сигналы от контактных датчиков, а У – выходной сигнал , поступающий в ИМ – сигнализация.

Пример 2: управление схемой , описываемой логическим уравнением

У= Х1 ^ Х2 V Х3.

Пример 3: У= /Х1 V Х2*Х3 ( отметить приоритеты логических операций !).

Этапы реализации логических функций

Пример: У= Х1 ^ Х2 V/ Х3.

  1. Разработка структурной схемы подключения вх. и вых. сигналов к контроллеру для заданной функции :

ИМ – исполнительный механизм, входные сигналы х1,х2,х3 подключены к порту Р1 (0,1,2 выводы соответственно).

  1. Построение таблицы истинности для логических функций;

  2. Разработка алгоритма реализации;

  3. Разработка программы;

  4. Трансляция программы для формирования исполняемогообъектного кода.

Пусть Log.asm - имя файла логической функции( создан в редакторе блокнот);

ASM51.exe Log.asm - трансляция, (программа–транслятор АSM51.exe)

В результате трансляции получаем два файла:

Log.HEX

(16-ричный код программы)

.

Log.LST

Файл листинга (указаны синтаксические ошибки)

Загрузка .HEX файла в симулятор и отладка программы;

  1. Оценка результатов:

  • быстродействие;

  • объем программы в байтах;

  • распределение адресного пространства памяти данных и команд.

Реализация логической функции с использованием команд условных переходов для функции: У= Х1 ^ х2 v /х3.

1.Создание структурной схемы ( см. выше);

2. Построение таблицы истинности; Внимание: входные сигналы Х необходимо размещать в таблице истинности в соответствии с подключением к входному порту контроллера (таблицу истинности заполнить самостоятельно).

Х3

Х2

Х1

У

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

3. Разработка алгоритма реализации функции.

Программа функции .

$Mod812

M4: CLR P2.5 ;у=0

JNB P1.0, M1 ;проверка х1

JNB P1.1, M1

M2: SETB P1.3 ; y =1

JMP M4

M1: JNB P1.2, M2

JMP M4

END

Соседние файлы в папке Заочники_ЦБП