Автор: Пользователь скрыл имя, 18 Сентября 2011 в 18:26, курсовая работа
Современные автоматизированные системы управления техническими процессами
требуют значительного количества и разнообразия средств измерений,
обеспечивающих выработку сигналов измерительной информации в форме, удобной
для дистанционной передачи, сбора, дальнейшего преобразования, обработки и
передачи.
Введение…………………………………………………………………………………………3
1. Аналитическая часть……………………………………………………………………….4
1.1 Описание объекта проектирования……………………………………………………...4
1.2 МПС комплект серии КР1816…………………………………………………………….9
1.3 Назначение…………………………………………………………………………………..9
1.3.1 Характеристики…………………………………………………………………………..9
1.3.2 Описание работы………………………………………………………………………....9
2. Практическая часть. Разработка программы для микропроцессорной системы на базе устройства КР580………………………………………………………………………..18
2.1 Микропроцессорная система управления и индикации……………………………..18
2.1.1 Схема устройства ввода/вывода……………………………………………………....21
2.1.2 Бегущая строка………………………………………………………………………….26
2.1.3 Текст программы………………………………………………………………………..25
2.2 Разработка программы для управления технологическим оборудованием……....29
2.2.1 Общее описание устройства…………………………………………………………...31
2.2.2 Блок-схема алгоритмов управления технологическим оборудованием………....32
2.2.3 Блок-схема режимов работы…………………………………………………………..34
2.2.4 Текст программы…………………………………………………………………….….34
2.3 Разработка программы на ассемблере…………………………………………………35
2.3.1 Блок схема алгоритма управления технологическим оборудованием…………..35
2.3.2 Текст программы на ассемблере……………………………………………………...35
Заключение…………………………………………………………………………………….40
Список использованных источников………………………………………………………41
Входные сигналы
Обозначение | Наименование | Код |
S0 | СУ включение | 10000 |
S10 | СУ выключение | 10010 |
S1 | каб на 1 этаже | 10001 |
S2 | каб на 2 этаже | 10002 |
S3 | каб на 3 этаже | 10003 |
S8 | дверки открыты | 10008 |
S9 | дверки закрыты | 10009 |
S11 | вызов с 1 этажа | 10011 |
S12 | вызов со 2 этажа | 10012 |
S13 | вызов с 3 этажа | 10013 |
S15 | на 1 этаж (кнопка в каб) | 10015 |
S16 | на 2 этаж (кнопка в каб) | 10016 |
S17 | на 3 этаж (кнопка в каб) | 10017 |
S19 | пауза (кнопка в кабинете) | 10019 |
Выходные сигналы:
Обозначение | Наименование | Код |
Y1 | СУ включена (лампа) | 00001 |
Y1 | каб на 1 этаже | 00002 |
Y2 | каб на 2 этаже (лампа пульта) | 00003 |
Y3 | каб на 3 этаже | 00004 |
Y5 | пауза (лампа пульта) | 00005 |
Y7 | кабина вверх | 00007 |
Y8 | кабина вниз | 00008 |
Y9 | дверки открыты | 00009 |
Y10 | дверки закрыты | 00010 |
Y11 | вызов с 1 эт. | 00011 |
Y12 | вызов со 2 эт. | 00012 |
Y13 | вызов с 3 эт. | 00013 |
Y15 | на 1 эт. (лампа) | 00015 |
Y16 | на 2 эт. (лампа в каб) | 00016 |
Y17 | на 3 эт. | 00017 |
Можно выделить четыре класса устройств ввода и вывода, широко используемых в микро-ЭВМ, это:
Ни одно из перечисленных
устройств не может быть непосредственно
подключено к шинам адреса, данных
и управления микро-ЭВМ. Здесь необходимы
специальные устройства сопряжения,
которые называют иначе контроллерами,
адаптерами или интерфейсами. С точки
зрения микро-ЭВМ любой контроллер независимо
от его сложности, рассматривается как
один или несколько портов ввода или вывода
со своими конкретными, вполне определенными
адресами.
Таблица 1 Карта памяти простой микро-ЭВМ
Адреса | Назначение |
0000H…0FFFH | Память |
1000H…1FFFH | Порт 4 |
2000H…2FFFH | Порт 3 |
3000H…3FFFH | Запрещены |
4000H…4FFFH | Порт 2 |
5000H…7FFFH | Запрещены |
8000H…8FFFH | Порт 1 |
9000H…0FFFFH | Запрещены |
Логическая единица,
появившаяся в одном из старших
разрядов шины адреса (ША12…ША15), выбирает
здесь один из портов, отключая одновременно
модуль памяти. Карта памяти рассматриваемой
микро-ЭВМ представлена в табл.1. Адреса,
отмеченные в карте памяти как запрещенные,
осуществляют одновременную выборку нескольких
портов, что, естественно, недопустимо.
1.Ввод-вывод
по прерываниям
Основным недостатком
программно-управляемого ввода-вывода
является нерациональное использование
машинного времени
Полностью исключить циклы ожидания и связанные с ними потери машинного времени позволяет ввод-вывод по прерываниям.
Порты, использующие этот вид обмена, не имеют средств для пересылки в микропроцессор сигнала готовности по шине данных. На основе сигналов готовности они формируют запросы на обслуживание IRQ.
Функциональная схема включения таких портов в микропроцессорную систему с учебным микропроцессором представлена на рис.5. Эта схема реализует так называемую одноуровневую векторную систему прерываний. Она включает в себя порты 1…N, реализующие асинхронный ввод-вывод на внешнем участке обмена, элемент «ИЛИ», приоритетный шифратор и порт ввода вектора прерывания.
Пусть в исходном состоянии все запросы на обслуживания IRQ1…IRQN равны нулю, то есть отсутствуют. Пусть далее появляется запрос от порта ввода No1 IRQ = 1. Этот запрос через элемент «ИЛИ» передается на вход запроса прерываний INT процессора. Процессор, реагируя на этот запрос, выполняет следующие действия:
1. проверяет,
разрешены ли прерывания. Если
они запрещены, никаких других
действий по обслуживанию
2. запрещает прерывания;
3. завершает выполнение текущей команды;
4. переходит в режим приема кода операции с шины данных;
Рис.5.Функциональная
схема одноуровневой векторной системы
прерываний
5. блокирует
с помощью системного
6. принимает с шины данных код команды рестарта RST 1;
7. выполняет
эту команду, то есть
8. выполняет
всю программу ввода и
Каждый из портов этой системы имеет свою собственную программу обслуживания порта, вызываемую одной из команд вида RST X. Конкретный вариант команды рестарта называют вектором соответствующего прерывания. Вектор формируется приоритетным шифратором из запросов IRQ1… IRQN и выставляется на шину данных по сигналу . Использование приоритетного шифратора позволяет обслуживать одновременно поступившие запросы от разных портов в соответствии с заранее определенной системой приоритетов.
Программа обслуживания прерывания в одноуровневой векторной системе обычно строится по типовой блок-схеме (рис.5).
При практическом использовании прерываний следует иметь в виду особенность исполнения команды разрешения прерываний EI. Она исполняется не в момент получения ее микропроцессором, а лишь после выполнения следующей команды. В нашем случае это означает, что прерывания вновь будут разрешены лишь после возврата в основную программу.
В одноуровневой системе все запросы на прерывания практически равнозначны. Приоритет сказывается лишь при одновременности поступления запросов.
Иногда удобнее
иметь многоуровневую систему прерываний,
в которой запросы с более
высоким приоритетом могут
Следует отметить, что ввод-вывод по прерываниям, в конечном итоге, также обеспечивает асинхронную передачу кодов на внутреннем участке обмена. Роль недостающего сигнала асинхронного протокола (STB) или (ACK) здесь выполняет сформированный системой вектор прерывания.
Рис.6.Типовая блок-схема
программы обслуживания прерывания
Иногда число знакомест дисплея оказывается меньше числа символов, в выводимой строке. В этих случаях информация может выводиться на дисплей в режиме «бегущей строки». Блок-схема программы, обеспечивающей этот режим вывода приведена на рис.4.27.
Программа использует
буфер для семисегментных кодов,
выводимых на дисплей, имеющий структуру,
представленную на рис.4.28. Символы выводимой
строки записываются в N последовательных
ячеек буфера, начиная с ячейки
S0, после чего управление передается
на метку START0. Первые NN циклов индикации
на дисплее индицируются шесть левых
символов строки. Далее выполняется
циклическая пересылка (поворот
информации в буфере). При повороте
информация пересылается таким образом,
чтобы код из ячейки S1 оказался в
ячейке S0, из S2 – в S1 и так далее.
Код из ячейки S0 пересылается ячейку
буфера с самым старшим адресом
SH. Эту пересылку удобнее
; ПОДПРОГРАММА IND | |||
POKWR | EQU | … | ; АДРЕС POKWP |
POKIS | EQU | … | ; АДРЕС POKIS |
KWRS | EQU | 00100000B | ; KWR [5] |
IND: | MVI | B, KWR5 | ; ЗАДАТЬ KWR [n=5] |
LXI | H, S5 | ; ЗАДАТЬ АДРЕС KIS [n=5] | |
M0: | MOV | A, B | ; ВЫВЕСТИ KWR [N] В |
OUT | POKWR | ; ПОРТ POKWR | |
MOV | A, M | ; ВЫВЕСТИ KIS [n] В | |
OUT | POKIS | ; ПОРТ POKIS | |
CALL | DELAY | ; ПРОГРАММНАЯ ЗАДЕРЖКА | |
MOV | A, B | ; НАЙТИ KWR [n = n - 1] | |
RRC | ; | ||
MOV | B, A | ; | |
DCX | H | ; НАЙТИ АДРЕС KIS [n = n - 1] | |
JNC | M0 | ; ВСЕ РЯДЫ ? НЕТ, ПОВТОРИТЬ | |
RET | ; ИНАЧЕ ВЫЙТИ В ОСНОВНУЮ | ||
; ПРОГРАММУ | |||
DELAY: | … | ; ПРОГРАММНАЯ ЗАДЕРЖКА | |
S0: | DS | 1 | ; БУФЕР ИЗ ШЕСТИ ЯЧЕЕК |
; СЕМИСЕГМЕНТНОЙ | |||
; ИНДИКАЦИИ | |||
S1: | DS | 1 | ; |
S2: | DS | 1 | ; |
S3: | DS | 1 | ; |
S4: | DS | 1 | ; |
S5: | DS | 1 | ; |