Програма 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 ; повернення.
- Київ нухт 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
- Бібліотека алгоритмів «ломіконту»