Программа устройства на Ассемблере
; Определение символических имён
; Определение символических имён бит порта 1
C BIT P1.0; датчик температуры +1 (камера 1)
D BIT P1.1; датчик температуры +8 (камера 1)
E BIT P1.2; датчик двери (камера 1)
F BIT P1.3; компрессор
G BIT P1.4; сигнал
H BIT P1.5; датчик температуры -18 (камера 2)
I BIT P1.6; датчик температуры -8 (камера 2)
J BIT P1.7; датчик двери (камера 2)
; Определение символических имён бит порта 2
K BIT P2.0; вкл/выкл (разморозка)
; Программа
START: JB E, L1; перейти на метку L1 если бит равен 1
CALL PAUSE; вызов подпрограммы PAUSE
L0: JB E, L1; перейти на метку L1 если бит равен 1
CALL ALARM; вызов подпрограммы ALARM
CALL ONESEC; вызов подпрограммы ONESEC
JMP L0; перейти на метку L0
L1: JB J, L3; перейти на метку L3 если бит равен 1
CALL PAUSE; вызов подпрограммы PAUSE
L2: JB J, L3; перейти на метку L3 если бит равен 1
CALL ALARM; вызов подпрограммы ALARM
CALL ONESEC; вызов подпрограммы ONESEC
JMP L2; перейти на метку L2
L3: JNB D, L4; прейти на метку L4 если бит равен 0
SETB F; установка бита
L4: JNB C, L4; прейти на метку L4 если бит равен 0
CLR F; сброс бита
JB I, L5; прейти на метку L5 если бит равен 0
SETB F; установка бита
L5: JNB H, L5; прейти на метку L5 если бит равен 0
CLR F; сброс бита
L6: JNB K, START; прейти на метку START если бит равен 0
JMP L6; перейти на метку L6
; Подпрограммы
ALARM: SETB G; установка бита
CALL ONESEC; вызов подпрограммы ONESEC
CPL G; инвертировать бит G
RET; возврат
Подпрограмма задержки на 30 секунд
PAUSE: MOV R6,#30; загрузить в регистр R6 константу
CALL ONESEC; вызов подпрограммы ONESEC
DJNZ R6, PAUSE; декремент регистра R6 и переход если не 0
RET; возврат
; Подпрограмма задержки на 1 секунду
ONESEC: MOV R7,#20; загрузить в регистр R7 константу
SEC:CALL DELAY; вызов подпрограммы DELAY
DJNZ R7, SEC; декремент регистра R7 и переход если не 0
RET; возврат
; Подпрограмма задержки на 50 мс
DELAY: MOV TMOD,#0001B; установка таймера /счетчика в режим 1
MOV TH0,#65536; загрузить в регистр TH0 константу
MOV TL0,#15536; загрузить в регистр TL0 константу
SETB TCON.4; пуск таймера / счетчика
DEL: JNB TCON.5, DEL; ожидание переполнения таймера / счетчика
CPL TCON.4; остановка таймера / счетчика
CPL TCON.5; сброс флага
RET; возврат
Список используемых источников
1. Сташин В.В., Урсулов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на одно-кристальных микроконтроллерах. М.: Энерго-атомиздат, 1990. 224 с.
2. Методические указания к лабораторной работе №2 по курсу «Цифровые устройства и микропроцессоры» В.А. Добряк, В.К. Рагозин. Екатеринбург: Изд-во УГТУ, 1999. 32 с.
Приложение 1. Блок-схема основной программы

Нет
Дата добавления: 2018-04-15; просмотров: 204; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!
