- •В.В. Ткачов, г. Грулер, н. Нойбергер, с.М. Проценко, м.В. Козарь
- •Передмова
- •Загальні поняття й структура систем керування
- •Дискретні або цифрові ск
- •Основи обчислювальної техніки
- •Основи булевої алгебри
- •Базові логічні елементи
- •Реалізація логічних елементів (ле)
- •Діодні логічні елементи
- •Транзисторні логічні елементи
- •Комбінаційні пристрої
- •Дешифратори, мультиплексори, демультиплексори
- •Арифметичні пристрої Напівсуматор
- •Повні двійкові суматори
- •Однорозрядний двійковий суматор
- •Багаторозрядний суматор
- •Арифметико-логічні пристрої
- •Цифрові пристрої послідовністного типу Тригери
- •Регістри
- •Паралельний регістр
- •Послідовний регістр
- •Лічильники
- •Підсумовуючі двійкові лічильники
- •Організація пам'яті
- •Оперативні запам'ятовувальні пристрої
- •Постійні запам'ятовувальні пристрої
- •Методи й способи реалізації дискретних і цифрових су
- •Контрольні запитання
- •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 Дослідження послідовного інтерфейсу в
- •Методика виконання.
- •Список літератури
- •Для нотаток
- •Для нотаток
- •Для нотаток
Лабораторна робота №5 Дослідження тимчасових затримок у мп системах
Ціль роботи: навчитися писати програми й розраховувати значення змінних для програмних тимчасових витримок.
Теоретичні відомості. Тимчасові витримки в мікропроцесорних системах легше всього організувати через програмні лічильники. У якості лічильників зручно використовувати регістри R0 – R7. При цьому виходимо з того, що команди виконуються за кінцевий час. Вихідними даними для розрахунків є частота кварцу мікроконтролера. У середовищі Mcstudio вона встановлюється в меню Виконання – Опції симуляції. Програми формування затримок зручно оформляти у вигляді підпрограми з передачею параметрів. Параметр – значення регістрів, що забезпечує задану тимчасову затримку.
У прикладі наведено програму тимчасової затримки для двобайтового лічильника.
Приклад:
Mov r2,#25h; завантаження молодшого байта затримки 1 ц Mov r3,#47h ; завантаження старшого байта затримки 1 ц Lcall zd1; виклик підпрограми затримки 2 ц
M1: ajmp M1; нескінченний цикл
zd1: mov a,r2; пересилання вхідного значення в акумулятор 1 ц вип. r3
раз
m2: djnz a,m2 ; декремент молодшого байта затримки 2 ц вип. r2*r3 раз
djnz r3,zd1; декремент старшого байта затримки2 ц вип. r3 раз
ret ;вихід з підпрограми 2 ц
Розрахунки часу затримки. За основу береться тривалість одного
179
Тзд=1ц+1ц+2ц+1ц*r3+2ц*r2*r3+2ц*r3+2=
=1+1+2+71+2*37*71+2*71+2=10869 [мkc].
Методика виконання:
Контроль витримки затримки проводиться за покажчиком часу, що перебуває у вікні «Ресурси» (пункт «Ядро MCS-51» (рис. 1).
Встановлення заданої частоти генератора виконується через пункт меню Виконання – Опції симуляції.
Для контролю виконання програми в автоматичному режимі використовувати крапку зупинки, встановлену на мітці М1. Для задання крапки зупинки необхідно маркер помістити на потрібну крапку програми й натиснути клавішу F5.
Задається крапка зупинки. Програма запускається на симуляцію в автоматичному режимі після переривання виконання (в крапці зупинки), час виконання не повинен відрізнятися від встановленого в заданні більш ніж на 5 мкс.
180
Рис.
1. Вікно ядра
MCS-51 Рис.
2.
Вікно
установки
частоти
генератора мікроконтролера
Значення регістрів визначається за формулою, що наведена вище. Для цього треба задати значення старшого байта затримки, що дорівнює 255, і за рівнянням знайти значення молодшого байта. Якщо отримане значення перевищує число 255, додаємо ще один цикл у програмі. З урахуванням цього коректуємо формулу й знаходимо потрібні значення.
Варіанти задань.
Час затримки повинен дорівнювати номеру за списком, що помножений на 27 мілісекунд.
Звіт повинен містити текст програми, вихідні дані й блок-схему алгоритму, отримане реальне значення затримки.
