- •Введение
- •1. Структура курса, отчетность.
- •2.Литература: Конспект лекций ( Электронное пособие)
- •Краткая история развития микропроцессорных систем
- •Архитектурные признаки контроллеров
- •Тема 1. Базовая структура микроконтроллерной (мк) системы управления
- •Тема 2. Модель микроконтроллера
- •Режимы обмена информацией
- •Тема 3. Структура базового мк
- •Тема 4. Организация и функционирование базового цпу
- •Устройство управления и синхронизации
- •Тема 5. Языки программирования контроллера
- •Основные группы команд контроллера
- •2. Команды арифметических операций.
- •3. Команды логических операций
- •4. Команды передачи управления
- •Этапы реализации логических функций
- •Реализация логических функций ( вариант 2)
- •Управление пуском – остановом электродвигателя
- •Тема 7. Управление параметром в заданных пределах
- •Алгоритм управления температурой
- •Тема 8. Формирование временных интервалов таймером
- •Тема 9. Обработка прерываний в контроллере
- •Настройка контроллеров прерывания
- •Тема 9. Последовательный интерфейс в мк
- •Принцип организации последовательного адаптера
- •Тема 10. Организация параллельного интерфейса
- •Основные характеристики адаптера
- •Структурная схема параллельного периферийного адаптера
- •Программирование адаптера
- •Тема 11. Аналого-цифровые и цифро-аналоговые преобразователи
- •Тема 12 .Разработка и отладка программ в симуляторе adsim812
- •Симулятор adSim812
Тема 7. Управление параметром в заданных пределах
Необходимо обеспечить поддержание значения параметра, например, температуры среды в заданных пределах (Тmin - Тmax). Значения Tmin и Tmax при моделировании хранятся в контроллере, например в регистрах ЦПУ и их значения, как и значения текущих значений температуры с датчиков (параметры температур при моделировании загружаются в симулятор контроллера с клавиатуры персонального компьютера в буфер ввода резидентной памяти данных) определяются при моделировании самостоятельно.
Алгоритм управления температурой в заданных пределах приведен на рисунке.
Обработка данных заключается в следующем. Введенные с датчиков m значений параметров (m выбирается также самостоятельно, m=4-6) запоминаются в виде массива в ячейках области ввода памяти данных контроллера . Затем необходимо переслать данные параметры в область обработки памяти данных (области памяти выбираются самостоятельно). Далее требуется вычислить среднее значение температуры: Tср.=∑Ti/m , где m - количество параметров температур Ti. После определения Tср необходимо ее сравнить с Tmin и Tmax и сформировать на линиях выбранного выходного порта контроллера соответствующие УС, например Y4 и Y5, поступающие в ИМ «Охладитель среды» и «Нагреватель среды» соответственно, подключенные к данным линиям выходного порта. Также требуется в индикатор, подключенный к выходному порту, вывести среднее значение Тср текущей температуры, минимальное- для нечетных вариантов задания и максимальное - для четных вариантов.
Алгоритм управления температурой
На рис. приведена структура МК системы с датчиками и исполнительными механизмами.
Структура МК системы
Программа реализации алгоритма на языке Ассемблер
$Mod812
;начальная установка регистров и портов
MOV R0,#40H ; начальный адрес в ПД значений Тi (i=1-5)
MOV R1,#05H ; счетчик числа Тi
MOV R3,#0AH ; значение Тmax
MOV R4,#03H ; значение Тmin
MOV B,#05H ; количество Тi
CLR A
CLR P2.6
CLR P2.7
; вычисляем суммы Тi иТср
M1: ADD A,@R0
INC R0
DJNZ R1,M1
DIV AB ; находим значение Тср
;сравнение температур
MOV R5, A ; сохраняем результат Тср в регистре R5
SUBB A, R4 ; сравниваем значение Тср со значением Тmin
JC M2 ; анализ значения Тср, если Тср<Tmin, то осуществляется переход
к метке М2, иначе выполняется следующая команда
MOV A,R5 ; записываем в аккумулятор значение Тср
SUBB A,R3 ; сравниваем значение Тср со значением Тmax
JNC M4 ; анализ значения Тср, если Тср >Tmax, то осуществляется
переход к метке М4, иначе выполняется следующая команда
JMP M3
M2: SETB P2.6
JMP M3
M4: SETB P2.7
;поиск максимума температуры
M3: MOV R0, #40H ; начальная установка регистров
MOV R1, #05H
MOV A, @R0 ;в А прочитали первую температуру
M9: INC R0
MOV R6, A ; в регистре R6 копируем первую температуру
SUBB A, @R0 ; сравниваем первую температуру со второй (в первом цикле)
JC M7 ;
MOV A,R6 ; в А копируем текущую максимальную температуру
JMP M10
M7: MOV A,@R0
M10: DJNZ R1, M9
MOV P3, A
M11: JMP M11 ; данная команда имитирует останов выполнения программы
END