до регістрів таймерів та обнуління регістрів, Які Потрібні для зберігання інформацій про годину, Різні лічильники та для ін.
Запуск таймерів (0 та 1) ВАЖЛИВО функція, яка дозволяє Почати відлік годині та відлік інтервалів для сканування датчіків.
Щоб Забезпечити паралельне реагування на події від таймерів та виводу INT0, Який Дає змогу Користувач проглянуть запису про події в резідентній пам'яті програм, треба зацікліті основнову програму й надаті змогу підпрограмам ОБРОБКИ переривані Виконувати после приходу керуючого сигналу.
Отже, для шкірного прилаштую - таймерів 0 та 1, вивід INT0, треба напісаті свою підпрограму. На схемі алгоритму Такі підпрограмі зображені в блоках 8, 10 та 11.
Схема алгоритму представлена ​​на ПН5.091504.15.04.00Д
Розробка схеми електрічної прінціпової
Так як Данії Пристрій базується на УНМС-2, то доцільнім Було б Розробити схему ЕЛЕКТРИЧНА принципова Керуючому готові схеми УНМС-2, тоб відібраті Потрібні елєменти, а Другие НЕ враховуваті.
Віходячі Із Завдання можна пріпустіті, что центральним елементом схеми буде МК Atmel AT89S8252, Який буде Здійснювати управління над усіма іншімі прилаштовані. Такоже У схемі слід Включити и елєменти індікації Такі як семисегментного індикатор, рідкокрісталічній дисплей на лінійку світо діодів. Судячи з цього треба Додати до схеми буферні елєменти, Які б розвантажілі псуй МК. Схема представлена ​​на креслені ПН5.091504.15.04.Е3
Програма на мові assembler
cseg
org 2000h
jmp main
; качан головний програми
org 2003h
jmp select
; Перехід по переривані від INT0
org 200Bh
jmp timer
; Перехід по переривані від таймера 0
org 201bh
jmp scan
; Перехід по переривані від таймера 1
main:
mov TMOD, # 17
; конфігурування таймерів як 16 розрядно
mov IE, # 138
; Дозвіл переривані
setb EX0
; Дозвіл переривані від INT0
setb PT0
; встановлення Найвищого пріорітета таймером 0
mov TL0, # LOW (555)
; завантаження у таймерт значення 50 мС
mov TH0, # HIGH (555)
mov TL1, # LOW (555)
mov TH1, # HIGH (555)
mov R0, # 0
; обнуленням всех регістрів
mov R1, # 0
mov R2, # 0
mov R3, # 0
mov R7, # 0
call tvis
; візових процедур візуалізації годині
setb TR0
; запуск таймерів
setb TR1
loop:
sjmp loop
; бескінечній цикл
timer:
clr TR0
; кача...