МИНОБР НАУКИ РОССИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
Отчет по курсовой работе
по дисциплине
«Микропроцессорные системы»
Вариант
15
Выполнил: студент гр. 9306
Шемякин А.В.
Проверил:Петров
Г.А.
Оглавление
1. Структурная схема микроконтроллерной системы управления
2. Схема подключения МК
3. Оценки характеристик разработанной МКС
4. Обработка информации, поступающей с дискретных датчиков
4.1 Реализация с использованием команд условных переходов
4.2 Реализация с использованием команд битовых операций
4.3 Реализация табличным способом
4.4 Результаты оценки времени
5. Обработка информации, поступающей с аналоговых датчиков
6. Управление пуском - остановом электродвигателя
7. Управление технологическим параметром в заданных пределах
8. Обработка запроса прерываний
9. Алгоритм гибкого управления объектом
10. Таблица портов и адресов
11. Временная оценка
12.
Исходный текст программы
1. Структурная схема микроконтроллерной системы
управления
Рисунок 1. Структурная схема МКС
МКС принимает множество информационных сигналов об объекте управления: цифровых {X} и аналоговых {U} от соответственно цифровых (ДД) и аналоговых датчиков {АД}, вырабатывает множество управляющих сигналов {Y} в соответствии с законом управления и выводит их в исполнительные механизмы (ИМ). Закон управления реализуется микроконтроллером на основе сигналов {X} и {U} от ОУ и информации с пульта управления (ПУ). МК содержит основные модули, обеспечивающие выполнение программ управления объектом, хранение данных, а также периферийные модули для подключения датчиков и исполнительных механизмов.
С помощью ПУ оператор получает возможность управлять работой МКС: запускать и останавливать ее, загружать в контроллер значения некоторых установок (констант), выводить на индикаторы информацию о состоянии объекта и т.п.
С помощью последовательного канала связи (ПсК)
МК может передавать обработанную информацию персональному компьютеру (ПК) более
высокого уровня по запросу от него.
2. Схема подключения МК
Рисунок 2. Схема подключения МК
, L2 - датчики уровня воды.
Дн - датчик напряжения
ДД:, X2, X3, X4 - входы с дискретных датчиков.
АД: информация дискретная алгоритм, U2, - входы с аналоговых датчиков., T2, T3 - входы с датчиков температуры
ПУ включает в себя:
. Матрицу кнопок, включающую: числовую шестнадцатеричную панель для ввода К, кнопку Ввод для занесения введенного K в память, кнопки Пуска и Остановки электродвигателя, тумблер Останова.
Схема расположения кнопок:
Рисунок 3. Схема кнопок
В не нажатом состоянии кнопки подтянуты к питанию.
Для ввода К необходимо ввести две тетрады (ввод осуществляется нажатием на соответствующую клавишу, при этом старшая тетрада заменяется на младшую, а выбранное значение заносится в младшую), после чего нажать на клавишу “Ввод”.
При нажатии на “Пуск двиг”, осуществляется запуск электродвигателя, при нажатии на “Ост. двиг” - его остановка.
При переключения тумблера в состояние “Ост.” осуществляется приостановка работы МК. В режиме остановки МК перестает обрабатывать информацию с датчиков, при этом сохраняется возможность ввода К с ПУ, и возможность работы с терминалом. Обратное переключение возвращает систему в нормальный режим работы.
. Кнопку “Сброса”, заведенную на вход Reset МК. При нажатии
на вход Reset подается логическая единица.
. Зуммер.
Внешний сдвиговый регистр:
Используется для вывода необходимого количества управляющих сигналов в условиях нехватки выводов МК.
Вход D регистра используется для передачи бит.
По положительному фронту входа Sh осуществляется сдвиг регистра на один разряд и занесение в младший логического состояния на входе D.
По положительному фронту на входе St состояние разрядов внутри регистра передается на внешние выводы.
Т.к. вывод на сдвиговый регистр занимает довольно длительное время (~50 мкс) к его выходам не заведены сигналы требующие малого времени переключения (так Y2, Y6 подключены к выводам МК, т.к. на них необходимо выдавать импульсы длительностью 20 мкс и 30 мкс соответственно). Состояние регистра отображается в памяти МК, и при изменении состояние сначала изменяется значение в памяти, а затем осуществляется вывод в регистр.
Терминал:
Через терминал можно осуществляться
вывод информации о состоянии системы (K; Q; Tmin, Tmax, Tsr; x1, x2, x3, x4;
L1, L2), а также ввод новых значений констант (K; Q; Tmin, Tmax).
3. Оценки характеристик разработанной МКС
а) максимального времени реализации одного цикла управления (от пуска системы до окончания однократной реализации заданного алгоритма ). Время реализации определяется симулятором микроконтроллера автоматически при выполнении программы.
б) емкости памяти данных и памяти программ (в байтах), необходимые для реализации разработанных программ, оценивается студентом самостоятельно.
Для реализации разработанной программы
необходимо: 26 байт памяти данных + память для стека, и 1867 байт памяти
программ.
4. Обработка информации, поступающей с
дискретных датчиков
МКС опрашивает двоичные датчики Х1, …, Хn и вычисляет логическую (булеву) функцию Y1= f(Х1, …, Хn) в соответствии с вариантом задания. При единичном значении функции МКС вырабатывает в исполнительный механизм (ИМ) выходной сигнал Y1 = 1 заданной длительности t1. Это означает, что через t1 после выдачи единичного сигнала Y1 необходимо выработать нулевое значение сигнала Y1. Логическую функцию требуется реализовать тремя вариантами и сделать выбор при оформлении проекта в пользу самого экономичного:
с использованием команд условных переходов;
с использованием команд битовых операций;
табличным способом.
|
Номер варианта |
Функция y1 = f(x1, …, xn) |
Время t1, мкс. |
|
15 |
/x1/x2x3 Ú x4 |
60 |
Таблица истинности функции:
|
X4 |
X3 |
X2 |
X1 |
Y |
|
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
0 |
1 |
|
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
0 |
0 |
|
0 |
1 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
1 |
|
1 |
0 |
0 |
1 |
1 |
|
1 |
0 |
1 |
0 |
1 |
|
1 |
0 |
1 |
1 |
1 |
|
1 |
1 |
0 |
0 |
1 |
|
1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
1 |
4.1 Реализация с использованием команд условных
переходов
Алгоритм реализации:
исунок 4.
Код на ASM:
$mod812
PortX data 20h
PortY data 21h
mov A, PortXTMOD, #00000001BTL0, #11000100BTH0, #00000000
rlc A
jc m_set
rlc A
jnc m_clr
rlc A
jc m_clr
rlc A
jc m_clr
m_set:
setb PortY.0
jmp m_nextTCON.4
m_clr:
clr PortY.0
m_next:
end
Рисунок 5.
4.2 Реализация с использованием команд битовых
операций
Алгоритм реализации:
Рисунок 6.
Код на ASM:
$mod812
PortX data 20h
PortY data 21hTMOD, #00000001BTL0, #11000100BTH0, #00000000C, PortX.6C, /PortX.4C, /PortX.5C, PortX.7m_clr
m_set:
setb PortY.0TCON.4
jmp m_next
m_clr:
clr PortY.0_next:
Рисунок 7.
.3 Реализация табличным способом
Алгоритм реализации:
Рисунок 8.
Код на ASM:
$mod812
jmp Start
PortX data 20h
PortY data 21h
Y_Value:0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1 R0, #30hA, #00hTMOD, #00000001BTL0, #11000100BTH0, #00000000B, PortX, #0fh, #40h, A@R1, #01h, m_clr
m_set:
setb PortY.0
jmp m_nextTCON.4
m_clr:
clr PortY.0
m_next:
end
Рисунок 9.
.4 Результаты оценки времени
Время измерялось от начала запуска программы до Breakpoint установленного на последней команде.
Способ с использованием команд условных переходов: 321 мкс
Способ с использованием команд битовых операций : 383 мкс
Табличный способ : 334 мкс
Таким образом самый экономичный с
точки зрении времени выполнения способ с использованием команд условных
переходов.
. Обработка информации, поступающей
с аналоговых датчиков
Сигналы с аналоговых датчиков U1 и U2 преобразуются в цифровую форму в АЦП в 8-разрядные коды, представляющие целые числа без знака и поступают на обработку в МП контроллера. Величина K - 8-разрядный код, поступающий в контроллер с клавиатуры пульта управления.
Полученное значение функции Nu =
f(Nu1, Nu2, K) сравнивается с константой Q, хранящейся в РПД и в зависимости от
результатов сравнения МКС вырабатывает двоичные управляющие воздействия y2 или
y3 длительностью t2 или t3 соответственно.
|
Номер варианта |
Функция Nu = f(Nu1, Nu2, K) |
Время t2, мкс. |
Время t3, мкс. |
|
15 |
min(Nu1; Nu2+K) |
20 |
140 |
Алгоритм реализации:
Рисунок 10.
Код на ASM:
$mod812:
movADCCON2, #10h
callAdc_Wait, A; Значение с первого датчика
movADCCON2, #11h
callAdc_Wait, A; Значение со второго датчика
; Реализация функции min (Nu1, Nu2 + K)
clrC, K, A, Nu1_Nu1, R0; Nu2 + K < Nu1_Next_Nu1:CA, Nu1; Nu1 < Nu2 + K
a_Next:
; Сравнение min значения с Q
subbA, Q_Q
; Q < min
; Запуск таймера, #11101100b, #01110100b.4_Exit_Q:
; Q > minY2wait_20us_20us:Start_Exit:
end
Временная оценка: 182мкс
Рисунок 11.
6. Управление пуском - остановом
электродвигателя
В МКС необходимо реализовать управление,
контроль напряжения силовой сети и выдачу сигнала для включения или выключения
двигателя.
Рисунок 12. Схема управления функцией пускателя
электропривода
Алгоритм реализации:
Рисунок 13.
Код на ASM:
$mod812_usensor, m_Stop ; Нет питания-> остановка_stop_key_press,m_Stop ; Нажата кнопка остановки-> остановка_start_key_press,m_Exit ; Кнопка пуска отпущена -> состояние
не изменяется
; Запуск двигателя_control
jmpm_Exit
m_Stop:
; Остановка двигателя_control
Рисунок 14.
Временная оценка: 56мкс
7. Управление технологическим параметром в
заданных пределах
Необходимо обеспечить поддержание значения параметра, температуры среды в заданных пределах (Тmin - Тmax).
Обработка данных заключается в следующем. Введенные с m датчиков значения параметров (m=3) запоминаются в виде массива в ячейках области ввода памяти данных контроллера. Далее требуется вычислить среднее значение температуры: Tср = ∑Ti/m , где m - количество параметров температур Ti. После определения Tср необходимо ее сравнить с Tmin и Tmax и сформировать на линиях выбранного выходного порта контроллера соответствующие УС, например Y4 и Y5, поступающие в ИМ «Охладитель среды» и «Нагреватель среды» соответственно, подключенные к данным линиям выходного порта.
Алгоритм реализации:
Рисунок 15.
Код на ASM:
$mod812, #12h_Wait(Tm+0), A; Значение температуры с первого датчика
movADCCON2, #13h
callAdc_Wait(Tm+1), A; Значение температуры со второго датчика
movADCCON2, #14h
callAdc_Wait(Tm+2), A; Значение температуры с третьего датчика
; Инициализация регистров используемых в цикле, #03h
movR1, #Tm
movR2, #00h
; Цикл обработки массива из 3 элементов (нахождение среднего арифметического)
t_Loop:, @R1, #03h, R2, A0, t_Loop, A; Занесение полученного значения в память
; Сравнение средней температуры с граничными значениями, Tmin_Low; Температура ниже нормы
clrC
movA, Tsr
subbA, Tmax_Hi; Температура выше нормы; Выключили охладитель; Выключили нагреватель
jmpt_Exit
t_Low:; Выключили охладитель; Включили нагреватель
jmpt_Exit
t_Hi:;
Включили охладитель; Выключили нагреватель_Exit:
Рисунок 16.
Временная оценка: 238мкс
. Обработка запроса прерываний
МПС обрабатывает запросы прерывания двух приоритетных уровней.
Запрос на прерывание по сигналу отказа источника питания. Прерывания работы МПС при отказе источника питания имеют высший приоритет. МПС при этом вырабатывает выходной сигнал Y6 установки объекта управления в исходное состояние. Сигнал Y6 представляет собой два прямоугольных импульса длительностью 30 мкс, следующие с интервалом в 30 мкс. После выполнения указанных действий требуется контроллер перевести в ждущий режим. Ждущий режим моделируется бесконечным циклом, выход из которого возможен только при нажатии кнопки “Сброс”, подключенной ко входу Reset МК.