- •В.В. Ткачов, г. Грулер, н. Нойбергер, с.М. Проценко, м.В. Козарь
- •Передмова
- •Загальні поняття й структура систем керування
- •Дискретні або цифрові ск
- •Основи обчислювальної техніки
- •Основи булевої алгебри
- •Базові логічні елементи
- •Реалізація логічних елементів (ле)
- •Діодні логічні елементи
- •Транзисторні логічні елементи
- •Комбінаційні пристрої
- •Дешифратори, мультиплексори, демультиплексори
- •Арифметичні пристрої Напівсуматор
- •Повні двійкові суматори
- •Однорозрядний двійковий суматор
- •Багаторозрядний суматор
- •Арифметико-логічні пристрої
- •Цифрові пристрої послідовністного типу Тригери
- •Регістри
- •Паралельний регістр
- •Послідовний регістр
- •Лічильники
- •Підсумовуючі двійкові лічильники
- •Організація пам'яті
- •Оперативні запам'ятовувальні пристрої
- •Постійні запам'ятовувальні пристрої
- •Методи й способи реалізації дискретних і цифрових су
- •Контрольні запитання
- •2. Загальні відомості про мікроконтролери
- •Структура й функціональні можливості базової моделі мcs-51 (мк51)
- •Програмно доступні ресурси мк51
- •Методи адресації в мк51
- •Система команд мк51
- •Арифметичні команди
- •Логічні команди
- •Команди пересилання
- •Команди передачі керування
- •Команди роботи з бітами
- •Контрольні запитання
- •3. Порти вводу/виводу інформації
- •Контрольні запитання
- •4. Організація переривань
- •Контрольні запитання
- •5. Організація тимчасових затримок у мікропроцесорних системах
- •Контрольні запитання
- •Правила написання програм для мк 51
- •Компілятор для мікроконтролерів сімейства мк51
- •Синтаксис мови асемблера
- •Директиви асемблера
- •Обчислення під час транслювання
- •Порівняння під час транслювання
- •Повідомлення про помилки асемблювання
- •Методика роботи з компілятором x8051
- •Діалоговий режим
- •Режим командного рядка
- •6.8. Редактор зв'язків для компілятора мікроконтролера сімейства мк51
- •Приклади вводу інформації з дискретних датчиків
- •Організація передачі інформації в послідовному форматі в мікропроцесорних системах (мпс)
- •Принципи передачі інформації з послідовного каналу зв'язку
- •Послідовний інтерфейс у мікроконтролері мсs51
- •Режим роботи 0
- •Контрольні запитання
- •9. Послідовні шинні системи (канали зв'язку)
- •Загальні поняття про електронні шинні системи
- •Різновиди послідовних шинних систем
- •Окремі приклади інтерфейсів та послідовних шин
- •Інтерфейс rs 232
- •Визначення логічного рівня
- •Розведення контактів та сигналів
- •Довжина кабелю
- •З’єднання rs 485
- •Концепція шини
- •Передача даних на рівні розрядів
- •Керування доступом до спільного ресурсу (розподіл доступу до шини) та тактова синхронізація
- •Адресація користувачів шини ( I 2c – блоки)
- •Can (Controller Area Network –мережа контролерів)
- •Фізичні характеристики
- •Характеристики протоколу рівня передачі бітів
- •Протоколи застосування на базі can
- •Основні характеристики can
- •Контрольні запитання
- •Приклади розробки систем керування на базі мк-51
- •Система керування з неперервними характеристиками
- •Система керування кроковим двигуном
- •Практична частина Лабораторна робота №1
- •Методика виконання.
- •Вихідні дані для програми:
- •Лабораторна робота №2
- •Індивідуальні задання:
- •Лабораторна робота №3
- •Методика виконання:
- •Задання:
- •Лабораторна робота №4
- •Методика виконання:
- •Варіанти задань
- •Лабораторна робота №5 Дослідження тимчасових затримок у мп системах
- •Приклад:
- •Методика виконання:
- •Варіанти задань.
- •Лабораторна робота №6
- •Методика виконання:
- •Задання:
- •Лабораторна робота №7 Дослідження послідовного інтерфейсу в
- •Методика виконання.
- •Список літератури
- •Для нотаток
- •Для нотаток
- •Для нотаток
Команди пересилання
Велику групу складають команди пересилання даних (табл. 2.5). Команди пересилання зручно розглянути на програмній моделі МК51 (рис. 2.14).
Команди пересилання даних мікроконтролерів МCS-51
Таблиця 2.5
62
Мнемоніка |
Опис |
Байт |
Тактів |
Дія |
MOV A, Rn |
Пересилання з регістру в акумулятор |
1 |
12 |
ARn |
MOV A, @ Ri |
Пересилання з непрямо адресованої комірки внутрішньої пам’яті даних в акумулятор |
1 |
12 |
direct Ri |
MOV Rn , А |
Пересилання з акумулятора в регістр |
1 |
12 |
Rn A |
MOV @ Ri , А |
Пересилання з акумулятора в непрямо адресовану комірку внутрішньої пам’яті даних |
1 |
12 |
Ri A |
MOVС А, @А+ DPTR |
Пересилання байта коду, пов’язаного з DPTR, в акумулятор |
1 |
24 |
AADPTR |
MOVС А, @A+PC |
Пересилання байта коду, пов'язаного із РС, в акумулятор |
1 |
24 |
PC PC 1 AAPC |
MOVX A, @ Ri |
Пересилання байта із зовнішньої пам'яті даних (8- розр. адреса) в акумулятор |
1 |
24 |
ARi |
MOVX A, @ DPTR |
Пересилання байта із зовнішньої пам'яті даних (16- розр. адреса) в акумулятор |
1 |
24 |
ADPTR |
MOVX @ Ri , А |
Пересилання з акумулятора в комірку зовнішньої пам'яті даних ( 8-розр. адреса) |
1 |
24 |
Ri A |
MOVX @ DPTR, А |
Пересилання з акумулятора в комірку зовнішньої пам'яті даних (16-розр. адреса) |
1 |
24 |
DPTRA |
XCH A, Rn |
Обмін між регістром і акумулятором |
1 |
12 |
ARn |
XCH A, @ Ri |
Обмін між непрямо адресованою коміркою внутрішньої пам'яті даних і акумулятором |
1 |
12 |
ARi |
XCHD A, @ Ri |
Обмін молодшими тетрадами між непрямо адресованою коміркою внутрішньої пам'яті даних і акумулятором |
1 |
12 |
A R 30 i30 |
63
Закінчення табл. 2.5
MOV A, direct |
Пересилання із комірки внутрішньої пам'яті даних в акумулятор |
2 |
12 |
Adirect |
MOV A, #data |
Пересилання безпосереднього байта даних в акумулятор |
2 |
12 |
A# data |
MOV Rn , direct |
Пересилання із комірки внутрішньої пам'яті даних у регістр |
2 |
24 |
Rn direct |
MOV Rn , #data |
Пересилання безпосереднього байта даних у регістр |
2 |
12 |
Rn # data |
MOV direct, А |
Пересилання з акумулятора в комірку внутрішньої пам'яті даних |
2 |
12 |
direct A |
MOV direct, Rn |
Пересилання з регістру в комірку внутрішньої пам'яті даних |
2 |
24 |
direct Rn |
MOV direct, @ Ri |
Пересилання з непрямо адресованої комірки внутрішньої пам'яті даних у комірку внутрішньої пам'яті даних |
2 |
24 |
directRi |
MOV @ Ri , direct |
Пересилання із комірки внутрішньої пам'яті даних у непрямо адресовану комірку внутрішньої пам'яті даних |
2 |
24 |
Ri direct |
MOV @ Ri , #data |
Пересилання безпосереднього байта даних у непрямо адресовану комірку |
2 |
12 |
Ri data |
PUSH direct |
Завантаження комірки внутрішньої пам'яті даних у стек |
2 |
24 |
SPSP1 SPdirect |
POP direct |
Вивантаження зі стека в комірку внутрішньої пам'яті даних |
2 |
24 |
direct SPSPSP1 |
XCH A, direct |
Обмін між коміркою внутрішньої пам'яті даних і акумулятором |
2 |
12 |
Adirect |
MOV direct, direct |
Пересилання із комірки внутрішньої пам'яті даних у комірку внутрішньої пам'яті даних |
3 |
24 |
direct direct |
MOV direct, #data |
Пересилання безпосереднього байта даних у комірку внутрішньої пам'яті даних |
3 |
24 |
direct # data |
MOV DPTR, # 16 |
Завантаження 16-розрядної константи в покажчик даних |
3 |
24 |
DPTR# data150 DPH # data158 DPL # data70 |
Зовнішня пам'ять програм Зовнішня пам'ять даних
@PC @DРТR
Внутрішня пам’ять програм
@DРТR
Регістри спеціальних функцій ad Пам’ять даних, порти
Внутрішня пам’ять даних
@ Ri
DРТR
Аккумулятор C
#d16
Регістрт
Rn
#d8
bit
Рис. 2.14. Структура зв'язків програмної моделі МК51
