|
Команды возврата из под программRET – если просто подпрограмма; RETI – возврат из прерывания.
Специальные команды (команды управления процессором) Разрешение/запрещение прерывания (установка битов регистра IE – Interrupt Enable) NOP – No Operation – пустая команда (для коротких задержек).
Тема 6. Реализация логических функций микроконтроллера Одним из классов задач, реализуемых микроконтроллерами в АСУ ТП, является задача логического управления. Входные и выходные сигналы – булевы переменные. В общем случае, требуется реализация одной или нескольких логических функций:
Пример 1: контроллер для функции охранной сигнализации 4 дверей автомобиля будет иметь вид (нарисовать структуру): У=Х1 V X2 V Х3 V X4, где Х1-Х4 входные сигналы от контактных датчиков, а У – выходной сигнал, поступающий в ИМ – сигнализация. Пример 2: управление схемой, описываемой логическим уравнением У= Х1 ^ Х2 V Х3. Пример 3: У= /Х1 V Х2*Х3 (отметить приоритеты логических операций!).
Этапы реализации логических функций
Пример: У= Х1 ^ Х2 V/ Х3. 1. Разработка структурной схемы подключения вх. и вых. сигналов к контроллеру для заданной функции:
ИМ – исполнительный механизм, входные сигналы х1,х2,х3 подключены к порту Р1 (0,1,2 выводы соответственно).
2. Построение таблицы истинности для логических функций; 3. Разработка алгоритма реализации; 4. Разработка программы; 5. Трансляция программы для формирования исполняемогообъектного кода.
Пусть Log.asm - имя файла логической функции(создан в редакторе блокнот); ASM51.exe Log.asm -трансляция, (программа–транслятор АSM51.exe) В результате трансляции получаем два файла:
Загрузка .HEX файла в симулятор и отладка программы; 6. Оценка результатов: § быстродействие; § объем программы в байтах; § распределение адресного пространства памяти данных и команд.
Реализация логической функции с использованием команд условных переходов для функции: У= Х1 ^ х2 v /х3.
1.Создание структурной схемы (см. выше); 2. Построение таблицы истинности; Внимание: входные сигналы Х необходимо размещать в таблице истинности в соответствии с подключением к входному порту контроллера (таблицу истинности заполнить самостоятельно).
3. Разработка алгоритма реализации функции. Программа функции .
$Mod812 M4: CLR P2.5;у=0 JNB P1.0, M1;проверка х1 JNB P1.1, M1 M2: SETB P1.3; y =1 JMP M4 M1: JNB P1.2, M2 JMP M4 END
Реализация логических функций (вариант 2) Второй вариант предусматривает вначале формирование значений всевозможных наборов входных сигналов хранящихся в виде массива данных в резидентной памяти данных контроллера. Значения функций также формируются в отдельном массиве этой же памяти данных. Таким образом, во внутренней памяти данных контроллера необходимо выделить буфер наборов входных сигналов х1,х2,….хn и буфер выходных сигналов y. Автоматическое построение таблицы истинности выполняется самим контроллером. Пусть в некоторой области памяти данных, например с ячейки 20H, формируется таблица истинности, а с ячкйки 30 формируются значения вычисляемой функции У.
Память данных:
Память данных в симуляторе
Комбинации входных сигналов (Х3,Х2,Х1) хранятся, начиная с 20 ячейки РПД; Выходные сигналы У формируются в РПД, начиная с 30 ячейки.
Пример: у = х1 х2 V /х3 R0 – регистр адреса памяти данных (входные Х), R0 = 20H R1 - регистр адреса памяти данных (выходных Y), R1 = 30H R2 – Cч. количества комбинаций переменных Х, R2 = 08H
;Программа
$Mod812
; начальная установка регистров START: MOV R0, #20H MOV R2, #08H
; формирование массива таблицы истинности CLR A M1: MOV @R0, A INC A INC R0 DJNZ R2, M1
; установка регистров
MOV R0, #20H MOV R1, #30H MOV R2, #08H M5: MOV A, @R0; Ввод {X}
; вычисление функции У=Х1Х2 V /Х3
JNB acc.0, M3 JNB acc.1, M3 M2: MOV A, #01H; y =1 JMP M4 M3: JNB acc.2, M2 MOV A, #00H; y=0 M4: MOV @R1, A; вывод y в память данных
; формирование адресов R0, R1 INC R0 INC R1 DJNZ R2, M5 JMP $; останов программы END Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычислить, когда этот... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|