3. Программа устройства на Ассемблере
; Определение символических имён
; Определение символических имён бит порта 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 если бит равен 1CALL ALARM; вызов подпрограммы ALARM
CALL ONESEC; вызов подпрограммы ONESEC
JMP L0; перейти на метку L0
L1: JB J, L3; перейти на метку L3 если бит равен 1CALL PAUSE; вызов подпрограммы PAUSE
L2: JB J, L3; перейти на метку L3 если бит равен 1CALL 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. Блок-схема основной программы
Нет
Да
Нет
| |||||||
| |||||||
Да
|
|
Да
Приложение 2. Блок-схема подпрограмы
| ||||||
| ||||||
| ||||||
Приложение 3. Функциональная схема устройства
Приложение 4. Схема электрическая принципиальная
... все составные части “голой” микроЭВМ: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что ...
... М.А. «Экономика предприятий энергетического комплекса». М. 2001 315с. 8. Яценков В.С. «Микроконтроллеры MicroCHIP практическое руководство» М. 2005 280с. ПриложениеА Программа микроконтроллера системы управления механизмом зажигания. ; Контроллер: PIC16F84, 4MHz ; Контроллер listp=16f84 ; Конфигурация __CONFIG3ff9h ; Параметры #define TMR_VALUE.182; Квантование таймера 100 мкс ; ...
... ). Подпрограмма завершена, управление передается назад вызывавшему модулю. 6. Технико-экономическое обоснование 6.1 Пути снижения затрат за счет внедрения системы Внедрение автоматической системы управления маслонапорной установкой гидроэлектростанции решает следующие задачи - Полностью автоматическая система управления маслонапорной установкой не требует участия человека ...
... ППЗУ при помощи программатора табулированных значений функции , при помощи которых определяем знак нелинейного воздействия. Словесный алгоритм функционирования микроконтроллерного регулятора: 1. Инициализация и настройка МК на ввод сигналов x1 и x2. Порт B на вывод. 2. Измеряем текущее значение x2 3. Проверяем условие 4. Измеряем ...
0 комментариев