- •Київ нухт 2011
- •1. Загальні відомості про мікропроцесор та мікропроцесорну систему
- •1.1. Мікропроцесор. Загальні положення та визначення.
- •1.2. Архітектура мікропроцесора
- •1.3. Загальна структура мікропроцесора та його функціонування
- •1.4. Поняття про мікропроцесорну систему (мпс)
- •1.5. Поняття мікропроцесорного контролера
- •2. Загальні відомості пронадання та опрацювання інформації в мікропроцесонній техніці
- •2.1. Поняття інформації та дві форми її надання
- •2.2. Фізична суть цифрової інформації та елементи її реалізації
- •3. Основи алгебри логіки
- •3.1. Загальні положення
- •3.2. Опис та задання логічних функцій.
- •3.3. Основні логічні функції алгебри логіки
- •4. Способи надання інформації в мікропроцесорі
- •4.1. Поняття систем числення в мікропроцесорній техніці
- •4.2. Дівйкова система числення та основи переведення чисел між системами числення
- •4.2.1. Перетворення двійкових чисел в десяткові.
- •4.2.2. Перетворення десяткових чисел в двійкові
- •4.3. Вісімкова та шістнадцяткова системи числення
- •5. Структурні елементи мікропроцесора
- •5.1. Поняття машинного слова, регістрів
- •5.2. Формати надання чисел в мікропроцесорах
- •5.3. Двійкова арифметика в мікропроцесорі.
- •5.4. Двійково-десяткова арифметика.
- •5.4.1 Додавання двійково-десяткових чисел без знаку.
- •5.4.2 Додавання двійково-десяткових чисел із знаком.
- •5.5. Регістр стану (psw) мп та його призначення
- •5.6. Поняття шин (bus) мікропроцесора
- •5.7. Арифметично – логічний пристрій мікропроцесора
- •5.8. Пристій вводу – виводу (пвв).
- •In 07н; ввести в акумулятор дані із порту 7;
- •Поняття шинних драйверів.
- •5.9. Поняття інтерфейсу
- •5.10. Передавання інформації у послідовному коді.
- •5.11. Память мікропроцесорів та опереції з нею
- •5.12. Адресний простір мікропроцесора
- •5.13. Стек та його використовування
- •6. Мови програмування мпс
- •6.1. Рівні мов прграмування мп.
- •6.1.1. Базова мова мікропроцесора.
- •6.1.2. Мова “ асемблер” (другого рівня).
- •6.1.3. Мови третього рівня.
- •6.2. Основні правила запису програм на мові асемблера
- •6.3 Програмне забезпечення мікропроцесорнихсистем та його види
- •6.4. Способи адресації в мікропроцесорній системі
- •6.5. Формати команд мікропроцесорів
- •Варіанти однобайтних команд:
- •6.6. Робочий цикл виконання програми мп
- •7. Однокристальний мікропроцесорний контролер кр1816ве51…….
- •7.1. Номеклатура та порівняльні характеристики мп
- •7.2. Структурна схема мікроконтролера кр1816ве51 та призначення складових
- •Призначення виводів мп кр1816ве51
- •Призначення виводів мп кр1816ве51
- •7.3. Функціонування мп кр1816ве51
- •7.4. Система команд мп кр1816ве51
- •In port- те, що знаходиться в порту вводу заноситься в акумулятор а
- •8. Приклади програмування на асемблері кр1816ве51
- •8.1 Форомалізований підхід до розробки прикладної програми
- •8.2. Підрахунок імпульсів
- •8.3. Функції часової витримки
- •8.4. Функції вимірювання часових інтервалів
- •8.5. Перетворення кодів між системами числення
- •8.6. Аналого-цифрове перетворення
- •8.7 Приклад програмування технічної задачі
- •8.7.1. Постановка задачі
- •8.7.2. Аналіз задачі.
- •8.7.3. Розробка схеми пристрою та інтерфейсу.
- •8.7.4. Інженерна інтерпретація задачі
- •8.7.5. Розробка блок –схеми алгоритму
- •8.7.6 Розробка прикладної програми
- •Програма sezam
- •Контрольні запитання з курсу
- •Література
- •1..Технічне та програмне забезпечення плк “ломіконт” Функціональні можливості плк “Ломіконт”.
- •Технічні характеристики Ломіконта
- •2. Фізична сруктура контролера та його склад
- •На рис 1.1 приведена фізична структура л-110 з основними модулями.
- •Програмування плк “ломіконт”
- •ПрК задає логіку управління конкретним технологічним об”єктом.
- •Порядок виконання програми контролером:
- •05 Если умова а
- •07 Если умова в
- •11 Если умова с
- •00 Если в дв015
- •01 Тогда о кс102
- •02 Иначе в кс116
- •14 Тогда алг 031 (потім виконати алгоритм 031)
- •3. Приклад програмування на технологічній мові «Мікрол»
- •Програмування алгоритму
- •Безпоседньо програма
- •11 Тогда о кс100 - 26 тогда тс 1.0.0
- •Бібліотека алгоритмів «ломіконту»
Програма sezam
****************************************************************
ORG 0 ; початкова адреса програми
REPEAT: JNB D, ALARM ; перехід (тривога), якщо повернули ручку
JB K, REPEAT ; повторити, якщо не натиснута кнопка
JNB K, $ ; чекання натискування кнопки вводу коду
;
; Введення коду від кнопки
MOV R6, #3 ; тільки три числа в коді
MOV R0, #CODEZ ; початкова адреса області пам’яті
; введених кодів
CYKLE: CLR A ; мітка циклу вводу, скид регістра коду
CLR L ; ввікнення лампи сигналізації
MOV R5, #120 ; завантаження лічильника витримки часу
LOOP: ACALL DELAY ; мітка затримки часу на 0,05 секунди
JNB D, ALARM ; перехід (тривога), якщо повернули ручку
JNB K, KREDO..; перехід, якщо натиснута кнопка вводу
DJNZ R5, LOOP ; цикл чекання натискування кнопки
SJMP PAUSE ; перехід, якщо вийшов час у 6 секунд
;
KREDO ACALL DELAY ; цикл контролю одного натискування
JNB D, ALARM ; перехід (тривога), якщо повернули ручку
JB K, ACCEPT ; перехід, якщо відпущена кнопка вводу
DJNZ R5, KREDO; чекання відпущення кнопки вводу коду
SJMP PAUSE ; безумовний перехід на мітку
;
ACCEPT INC A ; інкремент лічильника натискування
SJMP LOOP ; безумовний перехід на мітку
PAUSE MOV @R0, A ; зберігання числа натискувань
INC R0 ; інкремент R0
SETB L ; вимкнення лампи сигналізації
ACALL ONESEC ; мітка затримки часу на 1 секунду
DJNZ R6, CYKLE ; повторити три рази
;
; порівняння введених чисел коду з еталонними байтами
MOV R0, #CODEZ ; початкова адреса області пам’яті
СJNE @R0, #7, REPEAT; порівнюємо старшу цифру коду
INC R0 ; інкремент R0 (адреса середньої цифри)
СJNE @R0, #3, REPEAT; порівнюємо середню цифру коду
INC R0 ; інкремент R0 (адреса молодшої цифри)
СJNE @R0, #5, REPEAT; порівнюємо молодшу цифру коду
; відривання замка
CLR L ; ввікнення лампи сигналізації
CLR Q ; ввікнення соленоїду відкривання замка
JNB Е,. $ ; чекання на відкриття дверей
; закривання замка
JB Е,. $ ; чекання на закриття дверей
SETB L ; вимкнення лампи сигналізації
SETB Q ; вимкнення соленоїду відкривання замка
SJMP REPEAT ; безумовний перехід на мітку
; сигналізація тривоги
; формування світлового сигналу тривоги
ALARM: MOV R5, #5 ; мітка тривоги і лічильник повторення сигналів
L3 : CLR L ; мітка і ввікнення лампи сигналізації
CALL ONESEC ; пауза, затримка часу на 1 секунду
SETB L ; вимкнення лампи сигналізації
; формування звукового сигналу тривоги
MOV R5, #5 ; лічильник повторення сигналів
L2: MOV R4, #200 ; мітка і інтервал 0.2 секунди
L1: MOV R3, #248 ; мітка і інтервал ≈ 1 мілісекунда
CРL S ; інверсія сигналу на гучномовець
DJNZ R3, $ ; імпульс довжиною ≈ 0,5 мілісекунди
DJNZ R4, L1 ; внутрішній цикл
DJNZ R5, L2 ; середній цикл
DJNZ R6, L3 ; зовнішній цикл
JB D,. REPEAT; перехід на початок, якщо ручку дверей
;поставлено в вихідний (закритий) стан
MOV R6, #1 ; продовження сигналу тривоги
SJMP L3 ; безумовний перехід на мітку
;
; підпрограма витримки часу на ≈ 50 мс, використовується Т/С0
DELAY: MOV ТМОD, #0001В ; налаштування лічильника Т/С0
MOV ТН0, #HIGH (NOT(5000-16))
MOV ТL0, #LOV (NOT(5000-16))
SETB TCON.4 ; ввімкнення (старт) Т/С0
DEL_W: JNB TCON.5, DEL_W ; очікування
ANL TCON, (NOT(30H) ; стоп Т/С0
RET ; повернення
; підпрограма витримки часу на 1секунду
; використовується підпрограма DELAY та регістр R7
ONESEC MOV R7, #20 ; лічильник циклів
SEC_W ACALL DELAY ; витримка на 50 мс
DJNZ R7, SEC_W ; організація циклу
RET ; повернення.