Министерство образования и науки Российской Федерации «Юго-Западный государственный университет»

advertisement
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Юго-Западный государственный университет»
Кафедра вычислительной техники
КУРСОВОЙ ПРОЕКТ
по дисциплине «Аналого-цифровая
микропроцессоры»
интегральная
электроника
и
(наименование учебной дисциплины)
на тему «Проектирование управляющей МПС»
Специальность (направление подготовки) 11.03.03 - Конструирование и
технология электронных средств____________________
(код, наименование)
Автор работы (проекта)
А.А. Свиридов
__________________
(инициалы, фамилия)
Группа КС – 21б
Руководитель работы (проекта)
(подпись, дата)
О.Г. Бондарь
________________
(инициалы, фамилия)
(подпись, дата)
Работа (проект) защищена ________________________
(дата)
Оценка____________________
Председатель комиссии _____________________
(подпись, дата)
___________________
(инициалы, фамилия)
Члены комиссии _________________________ _________________________
(подпись, дата)
(инициалы, фамилия)
_________________________ _________________________
(подпись, дата)
(инициалы, фамилия)
_________________________ _________________________
(подпись, дата)
(инициалы, фамилия)
1
Курск, 2015 г.
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Юго-Западный государственный университет»
(ЮЗГУ)
Кафедра вычислительной техники
ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ
Студент
Свиридов А.А.
шифр 01690
группа КС-21б
(инициалы, фамилия)
1.Тема «Проектирование управляющей микропроцессорной системы»
2.Срок представления проекта к защите: «11 » мая 2015 г.
3.Исходные данные для проектирования: БИС МП и EPROM, функции Ф1 и Ф2,
константы G1, G2, G3 для варианта 6.
4.Содержание
пояснительной
микропроцессорной
записки
управляющей
курсового
системы,
проекта:
разработка
реализующей
заданные
взаимодействия с объектом управления и разработка программных средств
системы, обеспечивающих выполнение алгоритма управления.
5.Перечень графического материала: структурная схема микропроцессорной
системы, функциональная система микропроцессорной системы, функциональные
схемы подсистем, алгоритм функционирования.
Руководитель проекта
Бондарь О.Г.
09.02.2015
(подпись, дата)
(инициалы, фамилия)
Задание принял к исполнению
09.02.2015
(подпись, дата)
2
РЕФЕРАТ
Студент: Свиридов Артём Александрович;
Руководитель курсовой работы: Бондарь Олег Григорьевич
Объем пояснительной записки – 50 страниц; 21 иллюстрация (рисунков), 11
таблиц, 12 использованных источников, 7 приложений.
Ключевые слова:
микроконтроллер, управляющая микропроцессорная
система, разработка, алгоритм.
В данном курсовом проекте разработана управляющая микропроцессорная
система.
3
Оглавление
Введение ................................................................................................................... 5
1 Расшифровка и анализ задания ........................................................................... 6
2.1 Разработка интерфейса и уточнённой структурной схемы .......................... 7
2.2 Оценка памяти программ и данных ................................................................ 8
2.3 Структура адресного пространства. ................................................................ 9
3 Разработка процессорного модуля ................................................................... 11
3.1 Времязадающая цепочка ............................................................................... 13
3.2 Устройство рестарта ....................................................................................... 14
4 Разработка подсистемы памяти ........................................................................ 16
5 Разработка подсистем ввода/вывода ................................................................ 18
5.1 Устройство обмена данными с объектом управления ................................ 18
5.2 Организация клавиатуры ................................................................................ 19
5.4 Организация индикации ................................................................................. 21
6 Разработка алгоритма ПО.................................................................................. 30
Список используемой литературы ...................................................................... 33
ПРИЛОЖЕНИЕ А ................................................................................................. 34
ПРИЛОЖЕНИЕ Б .................................................................................................. 35
ПРИЛОЖЕНИЕ В ................................................................................................. 39
ПРИЛОЖЕНИЕ Г .................................................................................................. 40
ПРИЛОЖЕНИЕ Д ................................................................................................. 41
ПРИЛОЖЕНИЕ Е.................................................................................................. 42
ПРИЛОЖЕНИЕ Ж ................................................................................................ 43
4
Введение
Современная
микропроцессорная
техника
является
важнейшим
средством при решении самых разнообразных задач в области сбора и
обработки
данных,
систем
автоматического
управления
и
др.
Микропроцессорная техника в науке и технике, промышленности, сельском
хозяйстве, военной отрасли, быту и других областях жизнедеятельности
человека становится все более востребованной. Практически любая
электронная
система,
обладающая
достаточной
функциональной
сложностью, реализуется с помощью микропроцессорных устройств.
Микропроцессоры и микропроцессорные системы являются в настоящее
время наиболее массовыми средствами вычислительной техники.
Использование микроконтроллеров в системах управления и обработки
информации
обеспечивает
высокие
показатели
эффективности
при
достаточно низкой стоимости.
5
1 Расшифровка и анализ задания
УМПС реализует следующий алгоритм управления: С ОУ принимается
поток значений входных слов Xi и размещается в кольцевом буфере на 17
значений в памяти УМПС. При приёме 16 значений производится
вычисление среднего арифметического значения X = (X1 + X2 + … +
X16)/16. В дальнейшем, при приёме каждого нового значения, оно
записывается в кольцевой буфер вместо самого старого значения, а среднее
значение пересчитывается по последним 16 значениям. В зависимости от
значений Х, вычисляется управляющее воздействие Y:
Y = 00H при X < G1;
Y = Ф1(Х) при G1 <= X < G2;
(1)
Y = Ф2(Х) при G2 <= X <= G3;
Y = 0FFH при X > G3.
В выражении (1) константы G1, G2, G3 и вид функций Ф1, Ф2 определяется
заданием. Во всех вариантах все переменные и константы рассматриваются
как 8-разрядные двоичные (2-разрядные шестнадцатеричные) целые без
знака, причем:
0 < G1 <G2 < G3 < 0FFH.
Для случаев X < G1 и X > G3 необходимо выдать на пульт оператора сигнал
<Авария> –включить мигание специального светового индикатора (лампы
накаливания, питающейся от осветительной
сети
переменного
тока
напряжением 220В частотой 50 Гц) с частотой 2 Гц.
По запросу с пульта оператора следует выдать на его индикацию значения
Xmin, Xmax, X(среднее), Y для цикла управления, предшествующему
текущему. Выдача этой информации должна осуществляться в режиме
прерывания программы.
Недостающие параметры:
Объём выпуска – 1 шт.;
Расстояние от объёкта управления до УМПС – 1 метр
6
Расстояние до ПК – 10 метров;
Память хранения констант – изолированная;
Для обмена данными используется интерфейс RS-232, скорость передачи
данных по которому 9600 бит/сек;
Питание – 220 В, 50 Гц;
Сигнал «авария» не дожжен срабатывать, пока не наберётся 17 значений
2.1 Разработка интерфейса и уточнённой структурной схемы
Используем комбинированную организацию линий интерфейсных
связей, которая включает в себя радиальную и магистральную. Причиной
выбора служит то, что комбинированная структура позволяет подключить
большее число устройств.
Таблица 1 – устройства с радиальным принципом подключения
Устройство
Линии
EEPROM (по интерфейсу I2C)
2 линии: SDA и SCL
Канал RS232
2 линии: RxD и TxD
«Авария»
1 линия
Итого 5 линий
Таблица 2 – устройства с магистральным принципом подключения
Устройство
Линии
Объект управления
8 линий шины данных
2 линии: RD, WR
2 линии прерываний
Клавиатура 3х8
3 линии для опроса клавиш
8 линий для считывания
1 линия для прерываний от клавиатуры
Буферные регистры для 7 линий шины данных
индикации
2 линии сигналов PG0, PG1
Итого 33 линии
7
Помимо устройств необходимы линии для:
Питание – 3 линии;
Земля – 2 линии;
Организация тактирования – 2 линии;
Кнопка рестарта Reset – 1 линия.
Суммарно получается 46 линий.
Индикатор
ЦП
EEPROM
УВВ
ОУ
ВУ
Рисунок 2.1 – Структурная схема УМПС
2.2 Оценка памяти программ и данных
Для оценки будем полагаться на аналоги по следующим функциям:
- опрос и сканирование клавиатуры
[1]
- запись и чтение в EEPROM по I2C
[2]
- вывод данных на индикацию
[3]
- обмен по последовательному каналу RC-232
[4]
- обмен данными с ОУ
[5]
- вычисления согласно алгоритму
[6]
8
Таблица 3 – Оценка памяти
Объем
Выполняемые функции
Опрос и сканирование клавиатуры 4×4
Запись
и
чтение
в
EEPROM
по I2C
Вывод данных на индикацию
Обмен по последовательному каналу RC232
Обмен данными с ОУ
Вычисления, согласно алгоритму (для
ОЗУ- учтем кольцевой буфер- 16 байт)
Итого
памяти Объем
памяти
ПЗУ(байт)
ОЗУ(байт)
110
4
143
3
20
5
235
2
20
1
68
35
596
50
Система должна содержать кольцевой буфер на 16 значений - это 16
байт памяти ОЗУ. Плюс, введенное значение с пульта оператора K – 1 байт.
Возьмем 20 байт. Под стек можно выделить примерно 100-150 байт (ОЗУ)
Учитывая коэффициент запаса равный двум, получаем 1192 байта для ПЗУ и
100 байт для ОЗУ. Суммарно текст программ занимает около 1.5 Кб памяти.
2.3 Структура адресного пространства.
В микроконтроллерах AVR реализована Гарвардская архитектура, в
соответствии с которой разделены не только адресные пространства памяти
программ и памяти данных, но и шины доступа к ним. Каждая из областей
памяти данных.
Память программ (Flash ROM или Flash ПЗУ) предназначена для
хранения последовательности команд, управляющих функционированием
микроконтроллера, имеет 16-ти битную организацию. Все AVR имеют Flashпамять программ, которая может быть различного размера - от 1 до 256 Кб.
9
Ее главное достоинство в том, что она построена на принципе электрической
перепрограммируемости, т.е. допускает многократное стирание и запись
информации. Память данных разделена на три части: регистровая память,
оперативная память (ОЗУ - оперативное запоминающее устройство или
RAM) и энергонезависимая память (EEPROM). Регистровая память включает
32 регистра общего назначения (РОН), объединенных в файл, и служебные
регистры ввода/вывода (РВВ). И те и другие расположены в адресном
пространстве ОЗУ, но не являются его частью. В области регистров
ввода/вывода расположены различные служебные регистры (регистры
управления микроконтроллером, регистры состояния и т.п.), а также
регистры управления периферийными устройствами, входящими в состав
микроконтроллера.
Энергонезависимая
память
данных
(EEPROM)
используется для долговременного хранения различной информации, которая
может изменяться в процессе функционирования микроконтроллерной
системы.
Все
AVR
имеют
блок
энергонезависимой
электрически
перезаписываемой памяти данных EEPROM от 64 Байт до 4 кБайт.
Внутренняя оперативная статическая память Static RAM (SRAM) имеет
байтовый формат и используется для оперативного хранения данных. Размер
оперативной памяти может варьироваться у различных AVR от 64 Байт до 4
Кбайт [7].
10
Рисунок 2.2 – Карта адресного пространства
3 Разработка процессорного модуля
Основой процессорного модуля является сама БИС, а также
вспомогательные схемы: времязадающая цепочка и устройство рестарта.
Основные
параметры
выбора
микроконтроллера:
МК
должен
принадлежать семейству AVR, количество выводов, объём ПЗУ и ОЗУ,
поддержка дополнительных интерфейсов, в частности I2C и UART, а также
стоимость.
В
рамках
единой
базовой
архитектуры
AVR-микроконтроллеры
подразделяются на три подсемейства: Tiny AVR, Mega AVR, Xmega AVR.
Микроконтроллеры подсемейства Tiny имеют: флеш - память до 16 кб,
SRAM до 512 б, EEPROM до 512 б; число линий ввода/вывода 4-18 (общее
количество выводов 6-32) и ограниченный набор периферийных устройств.
Микроконтроллеры подсемейства Mega имеют: флеш-память до 256 Кб,
SRAM до 16 Кб, EEPROM до 4 Кб; число линий ввода/вывода 23-86 (общее
11
количество выводов 28-100); расширенную систему команд и периферийных
устройств, аппаратный умножитель, встроенные АЦП и др.
Подсемейство Xmega AVR – это микроконтроллеры, которые содержат
флеш-память объемом до 384 Кб, SRAM до 32 Кб, EEPROM до 4 Кб,
работают при тактовой частоте 32МГц, при напряжении питания от 1,6В до
3,6В.
Для выбора микроконтроллера воспользуемся сервисом
MicrocontrollersSelector.
Рисунок 3.1 – Список отсортированных микроконтроллеров
На сайте Atmel указаны цены только на 4 микроконтроллера их этого
списка, из них и делаем выбор.
12
Таблица 4 – стоимость МК
Микроконтроллер Цена, руб.
ATmega165P
198
ATmega165PA
185
ATmega169A
203
ATmega169P
163
Выбираем ATmega169P
Основные параметры и распределение выводов приведены в Приложении Б
3.1 Времязадающая цепочка
Так как в схеме имеется связь между ПК, то есть RS232 и МК,
необходимо установить стандартизированную скорость обмена. Для этого в
микроконтроллере имеется регистр UBRR, в который следует записать
коэффициент, который рассчитывается по формуле:
𝐵=
𝑓
16(𝑈𝐵𝑅𝑅 + 1)
𝑓
−1
16𝐵
f – тактовая частота, на которой работает микроконтроллер
𝑈𝐵𝑅𝑅 =
B – скорость передачи
UBRR – содержимое регистра контроллера скорости передачи.
Максимальное отклонение скорости не должно превышать 1% [8]
B равна 9600 бит/с, она выбрана в анализе ТЗ.
Частота резонатора не должна быть более 16 МГц, так как это является
максимальной тактовой частотой микроконтроллера. Зададим частоту 12МГц
и рассчитаем погрешность. Если f=12000000, то UBRR=77.125, но в регистр
UBRR можно записывать только целые числа, округлив до 77, подставляем
значение в первую формулу и получаем 9615 бит/с. Погрешность всего
13
0.155%. Итого максимальная частота отклонения кварца при погрешности
частоты передачи 1% равна:
𝛥𝑚𝑎𝑥 = 9615 ∗ 16 ∗ (77 + 1) − 12000000 = 119520 (Гц)
Рисунок 3.2 – схема подключения кварцевого и керамического резонаторов
соответственно
Керамические резонатор дешевле, имеет меньший корпус в отличие от
кварцевого, но имеет большее отклонение от номинальной частоты, это
отклонение обычно менее 1%, поэтому выбираем керамический резонатор
ZTT 12.0 МГц, его максимальное отклонение частоты 0.5% при цене 11 руб.
3.2 Устройство рестарта
Устройство рестарта подключается к входу RESET и служит для сброса
микроконтроллера,
т.е
приведения
его
в
исходное
состояние.
Это
необходимо при включении электропитания, при авариях в системе
электропитания, при зависании программ и др.
VD
R1
RESET
R2
S
C3
Рисунок 3.3 - Функциональная схема устройства рестарта
14
Данная схема работает следующим образом: конденсатор C при подачи
питания заряжается до напряжения питания через резистор R1, выполнение
«сброса» завершится, когда напряжение С достигнет значения напряжения
питания и МК переходит, а рабочее состояние. Ключ S используется для
сброса системы оператором в любое время. При замыкании ключа
конденсатор разряжается, и МК будет находиться в исходном состоянии до
тех пор, пока конденсатор не зарядится до напряжения питания. Для того
чтобы быстро разрядить конденсатор при коротких «провалах» питания, в
схеме используется диод VD1. Резистор R2 ограничивает величину тока
через кнопку S. Для формирования требуемой задержки включения
(формирования фронта сигнала сброса) резистор R1 и конденсатор C
образуют RC цепь.
При включении источника электропитания, через некоторое время оно
достигает стабильной величины и подается на вход МК для его нормальной
работы. Таким образом задержка включения МК есть постоянная времени R1
C – цепочки формирователя рестарта (τRC):
(τRC)=R1*C3
где (τRC) для ATmega169P составляет 65ms [9]
Величина R1 не более 10 кОм, примем за 9 кОм, следовательно,
C3=7.2мкФ, что попадает в диапазон 1-10 мкФ, рекомендуемый в лекциях.
Для вычисления величины R2, необходимо найти пределы значений
данной величины.
𝑈пит
𝐼кн𝑚𝑎𝑥
При Uпит = 5 В; Iкнmax = 50 мА ; R2 ≥ 100 Ом.
𝑅2 ≥
𝑈𝑟𝑠𝑡 = 𝑈пит
𝑅2
≤ 𝑈10
𝑅1
Если принять Urst = 0.2 В (согласно даташиту), тогда найдем R2 ≤ 360 Ом
15
𝑅2 = √𝑅2𝑚𝑎𝑥 ∙ 𝑅2𝑚𝑖𝑛 = 189 Ом
Для удобства принимаем R2=200 Ом
При выборе диода верхняя рабочая частота
не относится к основным
параметрам, так как типичное время протекания тока через него от долей до
нескольких периодов сетевого напряжения. Uобрmax не более 6В-7В, чему
удовлетворяют любые выпрямительные диоды. Возьмём КД513А
4 Разработка подсистемы памяти
AT34C02 – микросхема энергонезависимой памяти объёмом 2К,
организованная как 256х8 байт памяти с управлением по I2C. ATmega169P
поддерживает интерфейс TWI, который пришёл на замену I2C и является его
полным аналогом.
Передача/Прием сигналов осуществляется установкой линии в 0, в
единицу устанавливается за счет подтягивающих резисторов. Чем больше
резистор, тем дольше линия восстанавливается в единицу (идет перезаряд
паразитной емкости между линиями входов и выходов) , а значит,
уменьшается вероятность правильного определения состояния линии.
Процедура обмена начинается с того, что ведущий формирует
состояние СТАРТ: генерирует переход сигнала линии SDA из ВЫСОКОГО
состояния в низкое при высоком уровне на линии SCL. Этот переход
воспринимается всеми устройствами, подключенными к шине, как признак
начала
процедуры
обмена.
Генерация
синхросигнала —
это
всегда
обязанность ведущего; каждый ведущий генерирует свой собственный
сигнал синхронизации при пересылке данных по шине. Процедура обмена
завершается тем, что ведущий формирует состояние СТОП — переход
состояния линии SDA из низкого состояния в высокое при высоком
состоянии линии SCL. Состояния СТАРТ и СТОП всегда вырабатываются
ведущим. Считается, что шина занята после фиксации состояния СТАРТ.
Шина считается освободившейся через некоторое время после фиксации
16
состояния СТОП. При передаче посылок по шине I2C каждый ведущий
генерирует свой синхросигнал на линии SCL. После формирования
состояния СТАРТ, ведущий опускает состояние линии SCL в низкое
состояние и выставляет на линию SDA старший бит первого байта
сообщения. Количество байт в сообщении не ограничено. Спецификация
шины I2C разрешает изменения на линии SDA только при низком уровне
сигнала на линии SCL. Данные действительны и должны оставаться
стабильными только во время высокого состояния синхроимпульса. Для
подтверждения приема байта от ведущего-передатчика ведомым-приемником
в спецификации протокола обмена по шине I2C вводится специальный бит
подтверждения, выставляемый на шину SDA после приема 8 бита данных
DD1
GND
1
2
+5V
А0
EEPROM
VCC
3
A2
WP
1k
5 SDA
6
SCL
GND
R4
+5V
A1
R3
SDA
SCL
8
7
4
AT34C02
1k
+5V
Рисунок 4.1 – Cхема подключения AT32C02
A0, A1 и A2 заземлены, так как используется одна микросхема, а они
предназначены для каскадного включения микросхем. SDA и SCL
подтягиваются к источнику.
Наивысший приоритет имеют прерывания от клавиатуры (INT2)
Прерывания от RS232 осуществляются программно. Затем выполняются
прерывания от объекта управлений (INT3, INT6).
17
Рисунок 4.2 – Диаграмма процесса передачи данных и подтверждения их
приёма
5 Разработка подсистем ввода/вывода
Подсистемы ввода/вывода в УМПС: устройство обмена данными с
объектом управления, клавиатура, блок индикации, устройство ввода вывода
по RS232.
5.1 Устройство обмена данными с объектом управления
Параметры ОУ не заданы, поэтому предполагаем, что ОУ сам
управляет состоянием выходов. ОУ подключен к МК через шину данных. ОУ
имеет 8 входов/выходов (порт А(P0-P7)), два выхода под прерывания и два
вывода Read (RD), Write (WR). Обмен данными по шине осуществляется по
инициативе ОУ. Если ОУ хочет передать в МК очередной байт, он
выставляет сигнал запроса прерывания INT3. По этому прерыванию
происходит вызов обработчика прерывания ввода данных с ОУ. Чтение
информации из буфера ОУ осуществляется сигналом RD. По этому сигналу
выходные линии буфера ОУ переходят из третьего состояния в режим
выдачи сигнала. МК читает данные с шины и снимает сигнал чтения RD.
Если ОУ хочет принять с МК управляющее слово то посылает запрос на
прерывание INT6, получив данное прерывание МК выставляет данные на
шину. Запись информации в буфер ОУ осуществляется сигналом WR. После
18
этого линии чтения/записи ОУ переходят
третье состояние. Прерывания
происходят по переднему фронту.
PF0
PF1
PF2
PF3
PF4
PF5
PF6
PF7
RD
INT3
WR
INT6
ОУ
P0
P1
P2
P3
P4
P5
P6
P7
RD
INT3
WR
INT6
Рисунок 5.1 – Схема подключения ОУ
5.2 Организация клавиатуры
Клавиатура предназначена для ввода: констант (16 клавиш для цифр от
0 до F в шестнадцатеричной системе), запроса на вывод Xmax, Xmin,
Xсреднего
и управляющего воздействия Y(4 функциональные клавиши),
клавиша «К» - завершает ввод констант (1 клавиша) – 21 клавиша. Используем
порт B для организации клавиатуры, в которой клавиши размещены в виде
матрицы (3х8(такой вариант выгоднее, чем 4х6, но задействует на 1 вывод
больше) (с запасом-24 клавиш)
на пересечении горизонтальных и
вертикальных линий связи. Строки матрицы (8 линий) подключаются к
выводам порта А (PА0-PА7) МК, и программируются на ввод, а столбцы (3
линии) подключаются к выводам МК (PD0-PD3) - программируемым на
вывод. Для формирования сигнала прерывания используем микросхему
К155ЛА2, которая представляет собой логический восьмивходовой элемент ИНЕ. Линии клавиатуры (строки) подключены к логическому элементу 8И-НЕ.
19
Линии подключенные к PА0-PА7 подтянуты на питание через
резисторы. Когда клавиатура не активна, на линиях столбцов (PD0-PD3) –
низкий уровень. На выходе элемента 8И-НЕ - логический «0». При нажатии
любой клавиши происходит замыкание соответствующей строки на столбец,
при этом на одной из линий строк устанавливается логический «0», на
выходе элемента 8И-НЕ установится логическая «1». Выход логического
элемента 8И-НЕ подключен к линии микропроцессора.
организуется
запрос на прерывание
INT2
-
Таким образом
наивысший
приоритет
(прерывание происходит по изменению входного сигнала с «0» на «1») для
обработки данных, вводимых с клавиатуры.
Микроконтроллер программным путем приступает к нахождению
нажатой клавиши. Для этого сначала на первую линию столбцов подается
логический "0", остальные столбцы в "1" (011), и опрашиваются строки
первого столбца. Если какая либо клавиша этого столбца будет нажата, на
соответствующей линии-строки так же будет низкий логический уровень
(замкнутая кнопка подтянет строку к потенциалу столбца, то есть к
земле).Таким образом, последовательно подавая сканирующий бегущий лог.
«0» на линии столбцов и считывая соответствующие линии строк (PINА),
находятся нажатые клавиши. Зная номер столбца и номер строки, на которых
установлен логический "0", формируется код нажатой клавиши. Диоды VD2
– VD4 служат для защиты от замыкания двух столбцов между собой (через
линию строк при нажатии двух и более ключей одновременно). Возьмем
диоды КД513А.
20
PD4
+5V
PD3
PD2
VD4
R5
R6
R7
R28
1k
1k
1k
1k
VD2
VD3
0
7
E
1
8
F
2
2
9
Xmin
3
8
INT2
4
3
A
Xmax
GND
+5V
4
B
Y
5
6
7
14
5
C
Xcp
11
6
D
K
DD6
1
PA0
PA1
PA2
PA3
PA4
PA5
PA6
12
К155ЛА2
PA7
R29
1k
R30
R31
1k
1k
+5V
R32
1k
Рисунок 5.2– Схема подключения клавиатуры
5.4 Организация индикации
Блок индикации предназначен для отображения вводимой в МК и
выводимой из МК информации (константы К и значений Хmax, Хmin, Хср,
Y). Блок индикации подключен к выводам МК РС0-РС6; PG0,PG1
используются для ''защелкивания'' данных. Данные и константы по заданию
представлены в шестнадцатеричном виде, поэтому удобнее отображать их
так же. Индикация должна состоять из 2-х цифр (максимально число FF) ,что
подразумевает использование семисегментных индикаторах. Для увеличения
нагрузочной способности порта МК, индикаторы
подключаем через
буферные регистры (регистр на каждый индикатор). В блоке индикации мы
применяем совместное использование порта, где 7 линий клавиатуры
совмещаются с 7 линиями индикации и 2 вывода порта C (PC5-PC6) для
сигналов LE1, LE2. В качестве буферного регистра возьмем микросхему
21
КР1533ИР22
[11]. Микросхема КР1533ИР22
представляет собой
восьмиразрядный регистр хранения информации с хорошей нагрузочной
способностью. Расположение выводов и основные параметры микросхемы
приведены в Приложении Д. Запись информации в регистр на входы D0-D7
происходит при подаче логической «1» на вход LE, в этом случае
информация (код высвечиваемой цифры) на выходах Q0-Q7 повторяет
входную информацию. При подаче на вход LE низкого уровня (лог. «0»)
регистр
переходит
в
режим
хранения
информации
–
происходит
«защелкивание» входной информации. Сигнал OE управляет выходными
буферами – низкий уровень разрешает выходы, высокий уровень переводит
выходные буферы в состояние «выключено». Чтобы обеспечить постоянный
вывод информации с регистров на индикаторы, входы OE заземляем.
Таблица 5 - Семисегментные индикаторы
Максимальн Максим
Максима
ый
альная
Минимал
льный
импульсный
сила
ьная сила
прямой
прямой ток
света Iv
света Iv
ток ,мА
,мА
макс.,
мин.,мКд
Высота
знака,м
м
Цена,
руб
мКд
SA0511EWA
SA0411SRWA
SA0811EWA
SA391GWA
30
160
8
3
12.7
30
30
155
18
8
10.16
40
30
160
6.4
1.9
20.32
50
25
140
6.4
1.9
9.9
32
22
Рассмотрев несколько типов индикаторов, выбираем индикатор SA0511EWA . Это индикатор с размером цифры 12,7 мм, цвет свечения – красный,
сила света 3-8 мКд, имеет приемлемую цену. Выбор обоснован тем, что
пульт оператора, на котором будут располагаться данные индикаторы,
находится недалеко от оператора и ему будет хорошо видна высвечиваемая
информация. Технические характеристики приведены в Приложении Е.
Для установки номинального тока через светодиоды индикаторов,
между выходами регистров и входами индикаторов включаются резисторы.
Через светодиод будет протекать ток
Iпр = (Ucc – Uпрд – U0вых)/R, следовательно для его задания требуется
сопротивление, которое вычисляется по формуле:
𝑅=
𝑈𝑐𝑐 − 𝑈прд − 𝑈0
𝐼пр
;где Uсс – напряжение питания (5В), U0 - выходное напряжение лог. «0»
резистора (0,4В), Uпрд – прямое напряжение на сегменте индикатора (2,5В),
Iпр – прямой ток через светодиод (10мА)[12].
R = (5-2.5-0.4)/(10*10-3) =210 Oм.
23
R9 210
DD3
PC0
3
PC1
4
PC2
PC3
7
PC4
13
PC5
D4
Q4
14
PC6
D5
Q5
17
D6
Q6
D7
Q7
8
18
D0
RG
Q0
D1
Q1
D2
D3
Q2
Q3
PG0
11
LE
GND
1
OE
Vcc
2
5
6
9
12
15
16
19
4
7
8
13
D0
RG
Q0
D1
Q1
D2
D3
Q2
Q3
D4
Q4
D5
Q5
17
D6
Q6
D7
Q7
PG0
11
LE
GND
1
OE
b
R11 210
c
R12 210
e
R13 210
f
g
R14 210
Vcc
d
20
+5V
R16 210
14
18
R10 210
R15 210
DD4
3
DD5
a
Vcc
DD7
a
2
5
6
9
12
15
16
19
R17 210
b
R18 210
c
R19 210
e
R20 210
f
g
R21 210
Vcc
d
R21 210
+5V
20
3
Рисунок 5.3 – Схема подключения блока индикации
5.4 Устройство обмена по RS232
Для
последовательной
микроконтроллером
используется
связи
между
интерфейс
компьютером
RS-232.
и
Основными
достоинствами RS-232 является возможность обмена данными на больших
расстояниях (15–20м). Микроконтроллер ATmega169 имеет в своем составе
полнодуплексный
универсальный
синхронный/асинхронный
24
приемопередатчик USART, поддерживающий протоколы обмена RS232.
Выводы микроконтроллера, используемые модулем USART, являются
линиями порта PE. В качестве входа приемника (RXD) используется вывод
PE0, а в качестве выхода передатчика (TXD) – вывод PE1. Передача данных
по интерфейсу RS-232 представляет собой совокупность кадров. Каждый
кадр содержит стартовый бит, от 5 до 8 битов данных и стоповый бит.
Каждый байт обрамляется стартовым и стоповыми битами. Данные могут
передаваться как в одну, так и в другую сторону
Особенностью подключения компьютера через канал RS232 к
микропроцессорной системы является не соответствие уровней напряжения.
RS232 работает с напряжением питания ±12V, а разрабатываемая МПС с 5V.
Необходимо использовать развязку порта компьютера и МПС.
Для согласования напряжений и логических уровней порта ПК и
USART
МК
используем
оптическую
развязку
на
паре
светодиод-
фототранзистор. Для гальванической развязки применяем 2 микросхемы
TLP521-1, это дороже, чем применение одной микросхемы TLP521-2, но
удобнее для построения схем и разводки. Уровни -12 и +12 В берутся с
линий RTS и DTR, так, что на подключаемом к микроконтроллеру ПК
необходимо установить на линию RTS -12В, а на линию DTR +12В.
25
Рисунок 5.4 - Схема соединения с интерфейсом RS-232
При передаче информации от ПК к контроллеру надо преобразовать
уровни RS-232 в уровни микроконтроллера. Резистор R28 задаёт рабочий
ток для фотодиода. Получаем
R 28 
5В
 100 Ом
50mA
Сопротивление резистора R29 и R30 являются типовыми для данной
схемы и равны 3 кОм.
Диод VD6 служит для предохранения светодиода от пробоя при
подаче напряжения +12 В на линию RxD. Резистор R31 задаёт рабочий ток
фотодиода (50 мА) и равен 12В/20мА=600 Ом.
26
5.5 Устройство аварийного оповещения
Устройство аварийного оповещения, согласно техническому заданию,
представляет собой мигание специального светового индикатора (лампы
накаливания, питающейся от осветительной сети) с частотой 2 Гц. Лампа
накаливания питается от сети ~220В. Необходима гальваническая развязка,
поскольку микроконтроллер не может напрямую управлять сетью 220В.
Гальваническая развязка может обеспечиваться разными способами,
применимость их зависит от требований к напряжению изоляции и
особенностей интерфейсных сигналов. Существует несколько способов
гальванической развязки с использованием: электромагнитного или
твердотельного реле, симистора и тиристора, оптосимистора. Самым
простым для разработки является использование реле, этот способ развязки
выбран из-за простоты, так как устройство не для массового производства,
что позволяет сократить время разработки и создания . Возьмём реле
CX240D5-C3 фирмы National Semiconductors, стоимость которого 411 рублей
в отличие от фирмы Crydom International, где цена составляет 659 рублей
Рисунок 5.5 - Схема подключения аварийного оповещения
27
5.6 Прерывания
Подсистема прерываний должна обеспечить реакцию на четыре
запроса: запрос с клавиатуры; запрос от ПК на обмен по последовательному
каналу; запрос от ОУ на ввод Хi; запрос от ОУ на вывод Y. Запрос от
клавиатуры обладает высшим приоритетом и должен удовлетворяться всегда,
запрос от ПК также удовлетворяется всегда, запросы на ввод с ОУ и вывод на
ОУ данных от могут обслуживаться на определенных участках программы
управления. Микроконтроллер ATmega169 согласно даташит имеет три
внешних прерывания - INT0, INT1 и INT2.
Рисунок 5.6 - Управляющий регистр GICR (General Interrupt Control Register)
Наивысший приоритет имеет прерывание INT0, вектор прерывания
которого располагается в таблице векторов прерываний по самому меньшему
адресу (чем меньше адрес вектора прерывания, тем приоритет у прерывания
выше). INT0 используем для запроса от клавиатуры, INT1 и INT2 для
запросов от ОУ. Эти прерывания «привязаны» к выводам PE2, PE3 и PE6
Выводы конфигурируются на вход. Для разрешения или запрещения
внешних прерываний предназначен управляющий регистр GICR (General
Interrupt
Control
Register).
Каждому
прерыванию
соответствует
определенный «бит активации прерывания». Таким образом, чтобы
использовать определенное прерывание (INT1, INT0 или INT2), следует
записать в его «бит активации прерывания» – логическую «1» - разрешить
прерывание, а логический «0» - запретить прерывание. Например: при
возникновении на выводе INT0 запроса на прерывание, в регистре флагов
внешних прерываний GIFR бит INTF0 устанавливается в "1".
28
Рисунок 5.7 - Регистр флагов - General Interrupt Flag Register – GIFR
Микроконтроллер не начнет обработку прерывания, пока в «бит
всеобщего разрешения прерываний» (Bit-7 I в регистре состояния SREG) не
будет записана логическая единица, чтобы запретить все прерывания в «бит
всеобщего разрешения прерываний» следует записать – логический нуль
Рисунок 5.8 - Регистр состояния – SREG
Если INTF0 «1» и установлены бит I регистра SREG) и бит INT0 в
GICR, происходит переход на вектор прерывания, и на подпрограмму
обработки прерывания (когда срабатывает прерывание, то сразу очищается
флаг I (Global Interrupt Enable), и автоматически запрещаются все
прерывания, пока не произойдет выход из обработчика прерывания. Флаг
INTF0 очищается после выполнения процедуры обработчики прерывания.
Выше указанное справедливо для INT1 и INT2.
Для приема и передачи данных с ПК через RS232 используется
интерфейс USART, который имеет три источника прерывания.
Как приемник USART использует всего один флаг, который
индицирует его состояние. Флаг «Прием завершен» (RXC) в регистре
UCSRA позволяет определить, есть ли непрочитанные данные в буфере
приема. Этот флаг устанавливается в единицу, если в буфере приема
существуют непрочитанные данные, и равен нулю, если буфер приема пуст .
29
Рисунок 5.9 - Регистр «А» статуса и управления USART- UCSRA
Если прерывание по событию «Прием завершен» разрешено (бит RXCIE
регистра UCSRB установлен), оно будет вызываться все время, пока флаг
RXC установлен (при условии глобального разрешения прерываний).
Рисунок 5.10 - Регистр «В» статуса и управления USART — UCSRB
Существует два флага, индицирующие состояние передатчика USART; - флаг
«Регистр данных пуст» (UDRE); - флаг «Передача окончена» (ТХС). Оба
флага используются для генерации прерываний. Прерывания по событиям
«Регистр данных пуст» и «Передача окончена» будут сгенерированы, если
биты UDRE и ТХС в регистре UCSRA и биты TXCIE и UDRIE в регистре
UCSRB будут установлены в единицу.
Самый высокий приоритет из всех прерываний у клавиатуры, прерывание от
USART тоже имеет высокий приоритет, но только после клавиатуры. Здесь
большая роль отводится оператору.
6 Разработка алгоритма ПО
Программное обеспечение состоит из основной (фоновой программы) и
подпрограмм (Приложение Ж). Сначала фоновая программа осуществляет
инициализацию микроконтроллера (конфигурируются порты ввода/вывода,
устанавливаются начальные состояния флагов и констант и т.д.) и запрещает
все прерывания. Затем загружаются константы из внешней памяти EEPROM
30
в ОЗУ. Загрузка констант из EEPROM происходит один раз при включении
МК.
Затем программа разрешает прерывание на чтение от ОУ и принимает 16
входных значений от ОУ, сохраняет их в кольцевом буфере, состоящем из 16
регистров общего назначения (РОН). Согласно техническому заданию
кольцевом буфере состоит из 17 регистров. При приёме 16 значений - 17-ый
остается пустой, каждое новое значение, записывается в 17 регистр и
помещается в кольцевой буфер вместо самого старого значения. Затем
разрешает все прерывания. Микроконтроллер проверяет наличие событие
прерывания от внешнего устройства и установку флага данного прерывания,
и передает управление обработчику прерывания.
Подпрограмма «Расчет» анализирует, если первый расчет, то осуществляет
передачу управления подпрограммам: «Нахождение Хср», «Нахождение
Хmin, Xmax»,«ФормированиеY», иначе меняет в кольцевом буфере самое
старое значение на новое и возвращается к вызову подпрограмм.
Подпрограмма «Y» в зависимости от Xср формирует управляющее
воздействие. В случае аварийных условий включается мигание лампы
накаливания, пока оператор его не отключит.
Подпрограмма «INT1» осуществляет обработку прерывания от ОУ (чтение с
ОУ), считывает очередной байт с шины данных и сохраняет его в памяти.
Подпрограмма «INT2» (запись в ОУ) осуществляет вывод управляющего
воздействия в ОУ.
Подпрограмма «RS232» разрешает прием и передачу данных, затем
проверяет наличие данных в буфере приема или передачи UDR. Если флаг
UDRE установлен в «1», значит буфер готов к приему/передаче байта. Для
передачи данных в буфер-передатчик помещаются данные, которые
необходимо
передать
в
ПК.
По
завершении
передачи
флаг
ТХС
устанавливается в «1». Если флаг RXС установлен - значит в буфереприемнике есть непрочитанные данные. Данные считываются программой из
буфера-приемника.
31
Прерывание от клавиатуры (подпрограмма INT0)
Сохраняем все данные текущей операции, запрещаем прерывания, кроме
прерывания по времени. Переходим к подпрограмме чтения данных с
клавиатуры. Это подпрограмма осуществляет повторную проверку нажатой
клавиши, сканирование клавиатуры и формирование кода клавиши. При
нажатии клавиши К выводим текущее значение константы и вновь
обращаемся к чтению данных с клавиатуры. Если новое значение поступит и
нажата клавиша К, выполняем подпрограмму «Ввод данных», которая новое
значение константы формирует в порядке старшего и младшего разрядов,
дешифрирует в семисегментный код и выводит на индикацию. Если нажаты
клавиши Xmin, Xmax, Xср, Y выводим соответствующее значения на
индикацию.
32
Список используемой литературы
1. http://www.getchip.net/posts/047-drajjver-matrichnojj-klaviatury-3kh4-naattiny13-s-uart-vykhodom/
2. Тавернье К. PIC-микроконтроллеры. Практика применения: Пер. с фр.М.: ДМК Пресс, 2004- 272с.
3. Бондарь О.Г. Аналогово-цифровая электроника .Учебно-методический
комплекс.
4. http://www.datasheetarchive.com/dlmain/Datasheets-32/DSA-620479.pdf SP232E
5. http://easyelectronics.ru/avr-uchebnyj-kurs-peredacha-dannyx-cherez-uart.html
6. http://forums.airbase.ru/2007/12/t58973,17--mikrokontrollery-avr-primenenie-ikratkij-kurs-chast-10.html
7. http://myrobot.ru/stepbystep/mc_architecture.php
8. http://mainloop.ru/avr-atmega/avr-usart-setting.html
9. http://www.atmel.com/Images/doc8018.pdf
10. http://www.atmel.com/images/doc0958.pdf
11. Богданович М.И. Цифровые интегральные микросхемы . Справочник .Мн.: Беларусь, 1991.- 493 с.
12. Угрюмов Е.П. Цифровая техника : Учеб. Пособие для вузов. 2-е изд.,
перераб. и доп.-СПб.: БХВ – Петербург, 2005.- 800с.
33
ПРИЛОЖЕНИЕ А
Таблица А.1 - Сводная таблица микроконтроллеров семейства AVR
Flash EEPR
МОДЕЛЬ
ROM OM
(Кб) (Кб)
ATmega8
8
RAM Fmax Vcc
(байт) (МГц)(В)
I/O
SPI
USARTI2C ISP
0.512 1024
16
4.5-5.5 23
1
1
ATmega85158
0.512 512
16
4.5-5.5 35
1
1
ATmega85358
0.512 512
16
4.5-5.5 32
1
1
ATmega16 16
0.512 1024
16
4.5-5.5 32
1
1
ATmega162 16
0.512 1024
16
2.7-5.5 35
1
ATmega162L16
0.512 1024
8
2.7-5.5 35
ATmega165 16
0.512 1024
16
ATmega168 16
0.512 1024
ATmega169 16
(руб)
+
125
+
98
+
+
130
+
+
155
2
+
220
1
2
+
180
4.5-5.5 53
1
1
+
280
16
1.8-5.5 23
1
1
+
+
140
0.512 1024
16
1.8-5.5 54
1
1
+
+
190
ATmega32 32
1
2048
16
4.5-5.5 32
1
1
+
+
285
ATmega64 64
2
4096
16
4.5-5.5 53
1
2
+
+
180
ATmega128 128
4
4096
16
4.5-5.5 53
1
2
+
+
300
ATtiny12
0.0625
8
1.8-5.5 6
+
61
ATtiny2313 2
0.128 128
20
1.8-5.5 18
USI 1
+
85
ATXmega256A3-
256
16
4096
32
1.6-3.6 64
3
7
2
+
250
ATXmega192A3
192
16
4096
32
1.6-3.6 64
3
7
2
+
230
1
+
Стоимость
34
ПРИЛОЖЕНИЕ Б: Микроконтроллер ATmega169
Рисунок Б.1 - Схема расположения контактов микроконтроллер ATmega169
Таблица Б.1 - Основные параметры
ЦПУ: Ядро
ЦПУ: F,МГц
Память: Flash,КБайт
Память: RAM,КБайт
Память: EEPROM,КБайт
I/O (макс.),шт.
Таймеры: 8-бит,шт
AVR
от 0 до 16
16
1
0.5
54
2
35
Таймеры: 16-бит,шт
1
Интерфейсы: UART,шт
1
Интерфейсы: SPI,шт
2
Интерфейсы: I2C,шт
1
Аналоговые входы: Аналоговый компаратор,шт 2
VCC,В
от 1.8 до 5.5
ICC,мА
16
Таблица Б.2 – Распределение выводов
Номер
вывода
Наименование
вывода
Назначение вывода
Символьное имя
вывода в УПМС
2
PE0
3
PC1
4
PE2
Прерывание от
клавиатуры
INT2
5
PE3
Прерывание от ОУ
INT3
6
PE4
7
PE5
Выводы чтения и записи
по I2C
8
PE6
Прерывание от ОУ
INT6
12
PB2
Чтение из ОУ
RD
13
PB3
Запись в ОУ
WR
19
PG4
Выводы сигнала
«Авария»
Avar
20
RESET
Вывод под кнопку
RESET
RESET
21
VCC
Выводы для обмена
данными через RS232
RXD
TXD
SCL
SDA
VCC
Выводы питания
22
GND
GND
36
23
XTAL2
XTAL2
Вводы тактирования
24
XTAL1
XTAL1
27
PD2
PD2
28
PD3
29
PD4
PD4
33
PG0
PG0
Опрос клавиатуры
PD3
Выбор индикатора
34
PG4
PG4
35
PC0
PC0
36
PC1
PC1
37
PC2
PC2
38
PC3
39
PC4
PC4
40
PC5
PC5
41
PC6
PC6
44
PA7
PA7
45
PA6
PA6
46
PA5
PA5
Шина для считывания
клавиатуры и индикация
PC3
Считывание клавиатуры
47
PA4
PA4
48
PA3
PA3
49
PA2
PA2
37
50
PA1
PA1
51
PA0
PA0
54
PF7
PF7
55
PF6
PF6
56
PF5
PF5
57
PF4
58
PF3
PF4
Шина данных для связи с
ОУ
PF3
59
PF2
PF2
60
PF1
PF1
61
PF0
PF0
63
GND
GND
64
AVCC
Выводы питания АЦП
AVCC
38
ПРИЛОЖЕНИЕ В: Керамический резонатор ZTT
Технические параметры
Серия - ztt
Резонансная частота, кГц 12000
Точность настройки (при 25 С) ,% 0.3
Температурный коэффициент (в диапазоне -20… 80С) ,% 0.3
Максимальное резонансное сопротивление, Ом
Встроенный конденсатор, пФ
Рабочая температура, С
Длина корпуса L, мм
25
30
-20…80
10
Ширина корпуса W, мм
10
39
ПРИЛОЖЕНИЕ Г: Память AT34C02
Рисунок Г.1 – Микросхема AT34C02
Таблица Г.1 - Параметр микросхемы:
Объем памяти (Кбайт) 2 (256х8)
Vcc, В
1.5 – 5.5
tWR( мс)
5
Интерфейс
I2C
F (макс.) (МГц)
0.4
ICC,мА
0.4
TA,°C
от -40 до 85
Таблица Г.2 - Распределение выводов EEPROM AT34C02
A0 - A2
Address Inputs
Адрес входов
SDA
SerialData
Последовательная передача данных
SCL
SerialClockInput
Последовательная синхронизация
ввода
WP
WriteProtect
Защита от записи
NC
No Connect
Нет соединения
GND
Ground
Земля
40
ПРИЛОЖЕНИЕ Д: Микросхема КР1533ИР22
Рисунок Д.1 - Условное графическое обозначение МС КР1533ИР22
Основные параметры КР1533ИР22
Напряжение питания (Vсс)
+5В ±10%
Входной ток (0/1), не более
20мкА/200мкА
Ток потребления (статический), max
27мА
Выходной ток лог. "0", не менее
30мА
Типовая задержка
12-40нс
Входной уровень "0"
< 0,8В
Входной уровень "1"
> 2,0В
Выходной уровень "0"
< 0,4В
Выходной уровень "1"
> 2,4В
Рабочий диапазон температур
-10oC..+70oC
41
ПРИЛОЖЕНИЕ Е: Индикатор SA05-11EWA
Рисунок Е.1 - Номера контактов и их расположение
Технические характеристики
Цвет свечения
красный
Минимальная сила света Iv мин.,мКд
3
Максимальная сила света Iv макс.,мКд
8
Iпр.,мА
10
Количество сегментов
7
Количество разрядов
1
Схема включения.
общ. анод
Высота знака,мм
12.7
Максимальное прямое напряжение,В
2.5
Максимальное обратное напряжение,В
5
Максимальный прямой ток ,мА
30
Максимальный импульсный прямой ток ,мА
160
Рабочая температура, С
-40…85
42
ПРИЛОЖЕНИЕ Ж: Алгоритм основной программы
Начало
Инициализация
Есть запрос на
прерывание?
нет
п/п Расчет
да
Запрос от
клавиатуры
да
п/п INT0
нет
Прерывание от
USART
да
п/п RS232
нет
Запрос от ОУ
на ввод
да
п/п INT1
нет
нет
Запрос от ОУ
на вывод
да
п/п INT2
КПКС.11.03.03
Изм. Лист
№ докум.
Разраб.
Cвиридов А.А.
Провер.
Бондарь О.Г.
Т. Контр.
Реценз.
Н. Контр.
Утверд.
Подпись Дата
Алгоритм
основной
программы
Лит.
Лис
т
Масса
1
Листов
Масштаб
8
43
ЮЗГУ ВТ КС-21б
Нахождение
Xmax,Xmin
Xmax:=0
n:=1
Xmax:=Xn
Xmin:=Xn
n=n+1
нет
да
n=16
да
Сохранить
Xmin,Xmax
нет
Xn > Xmax
да
Xmax:=Xn
возврат
нет
Xn < Xmin
Xmin:=Xn
КПКС.11.03.03
Изм. Лист
№ докум.
Разраб.
Cвиридов А.А.
Провер.
Бондарь О.Г.
Т. Контр.
Ре
енз.
Н. Контр.
Утверд.
Подпись Дата
Нахождение
Xmax, Xmin
Лит.
Масса
Мас
таб
Лис
тт
2
Листов
8
44
ЮЗГУ ВТ КС-21б
формирование Y
нет
Xcp ≥ 23H
да
да
Xcp < 5FH
Y = 00H
нет
Xcp ≤ 99Н
нет
Y=X2,X3,X4,X5,X6,
X7,X0,X1
да
Y = 0FFH
X+K
Авария
Сохранить Y
возврат
КПКС.11.03.03
Масса
Лит.
Изм. Лист
№ докум.
Разраб.
Cвиридов А.А.
Провер.
Бондарь О.Г.
Т. Контр.
еценз.
Н. Контр.
Утверд.
Подпись Дата
Масштаб
Формирование Y
Лис
т
3
Листов
8
45
ЮЗГУ ВТ КС-21б
п/п INT1
п/п INT2
Авария
Сохранение
результатов
текущей операции
Сохранение
результатов
текущей операции
Настройка порта А
на ввод данных
Настройка порта А
на вывод данных
Ввод данных (Xi) с
ОУ
Вывод
управляющего
воздействия (Y) в
ОУ
Восстановление
результатов
сохраненной
операции
Возврат
Восстановление
результатов
сохраненной
операции
Остановить
выполнение всех
операций
Настроить бит
порта на вывод
Выдать сигнал
‘’Авария’’
Ожидание отклика
оператора
возврат
Возврат
КПКС.11.03.03
Изм. Лист
№ докум.
Разраб.
Cвиридов А.А.
Провер.
Бондарь О.Г.
Т. Контр.
Реценз.
Н. Контр.
Утверд.
Подпись Дата
Подпрограммы
обмена данными с
ОУ и авария
Лит.
Лис
т
Масса
4
Листов
Масштаб
8
46
ЮЗГУ ВТ КС-21б
п/п RS232
Сохранение
результатов
текущей операции
Прием данных
от RS232
да
Прием значений
нет
да
Передача
данных от
RS232
Передача значений
нет
восстановление
результатов
сохраненной
операции
Возврат
КПКС.11.03.03
Изм. Лист
№ докум.
Разраб.
Cвиридов А.А.
Провер.
Бондарь О.Г.
Т. Контр.
Н. Контр.
Утверд.
ценз.
Подпись Дата
Прерывание от
RS232
Лит.
Лис
т
Масса
5
Листов
Масштаб
8
47
ЮЗГУ ВТ КС-21б
п/п INT0
Сохранение
результатов
текущей операции
Чтение данных
с клавиатуры
Нажата
клавиша К
Вывод
константы К
на
индикацию
да
нет
Вывод Xmin
на
индикацию
да
Нажата Xmin
нет
Вывод Xmax
на
индикацию
да
Чтение данных
с клавиатуры
Нажата Xmax
нет
Вывод Xcp
на
индикацию
да
Нажата Xcp
нет
Вывод Y на
индикацию
да
Нажата Y
нет
Восстановление
результатов
сохраненной
операции
возврат
КПКС.11.03.03
Изм. Лист
Разраб.
Провер.
Т. Контр.
Реценз.
Н. Контр.
Утверд.
№ докум.
Cвиридов А.А.
Cвиридов
А.А.
Бондарь О.Г.
.С.
Подпись Дата
Прерывание
от клавиатуры
Лит.
Лис
т
Масса
6
Листов
Масштаб
8
48
ЮЗГУ ВТ КС-21б
Чтение данных с
клавиатуры
Нахождение Хср
Чтение
данных
Хср:=0
Хсум:=0
n:=1
нет
да
да
Данные равны?
Хср:= Хсум/16
n>16
Формирование
кода клавиши
нет
Сохранить Хср
Хсум:=Хсум+Хn
возврат
возврат
n=n+1
КПКС.11.03.03
Изм. Лист
№ докум.
Разраб.
Cвиридов А.А.
Провер.
Бондарь О.Г.
Т. Контр.
Реценз.
Н. Контр.
Утверд.
Подпись Дата
Чтение данных с
клавиатур
Нахождение Хср
Лит.
Лис
т
Масса
7
Листов
Масштаб
8
49
ЮЗГУ ВТ КС-21б
-11б
п/п Расчет
нет
Первый
расчет?
i = i+1
i=0
Xi = Хнов
Нахождение
Хср
Нахождение
Хmin,Xmax
Формирование
Y
да
Есть Хнов
возврат
КПКС.11.03.03
Изм. Лист
№ докум.
Разраб.
Cвиридов А.А.
Провер.
Бондарь О.Г.
Т. Контр.
Реценз.
Н.
Контр.
Утверд.
Подпись Дата
Подпрограмма
расчет
Лит.
Лис
т
Масса
8
Листов
Масштаб
8
50
ЮЗГУ ВТ КС-21б
Download