Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессорная техника. Учебное пособие
.pdf
Откуда требуемое число повторений N:
T1-t0-t1-t2-t5-t6
N=
t3+t
После определения N его необходимо перевести в шестнадцатеричный
код и записать в соответствующем месте подпрограммы.
Пример. Определить применительно к подпрограмме TIME 1 количество N повторений программных циклов, обеспечивающих временную
задержку T1=300 мкс.
t0=8,5 мкс; t1=5,5 мкс; t2=3,5 мкс; t3=2,5 мкс; t4=5,0 мкс;
t5=5,0 мкс; t6=5,0 мкс;
T1=300 мкс;
Требуемое число повторений:
300-8,5-5,5-3,5-5,0-5,0
N= = 36,3
2,5+5,0
Принимаемое число повторений N=36. Действительная выдержка времени:
T1д=8,5+5,5+3,5+36(2,5+5,0)+5,0+5,0=297,5 мкс.
Относительная ошибка составит:
Т1-Т1д
300-297,5
Т= ────────── × 100 % = ─────────── × 100 % =0,83 %
Т1 300
Как показали расчеты ошибка составляет весьма малую величину
и в большинстве случаев ошибкой до 1% можно пренебречь.
Однако в тех случаях, когда необходимо повысить точность получения
требуемых временных задержек в текст программы можно вставить команду
NOP (t7=2мкс). Причем если эту команду вставить вне цикла, то
Т1д=t0+t1+t2+N×(t3+t4)+t5+t6+t7=297,5+2=299,5 мкс.
и в этом случае:
T1-T1д 300-299,5
T= ───────── × 100 % = ─────────── × 100 % =0,16 % .
T1 300
Если команду NOP вставить в тело цикла, то Т1д увеличится на время
N×t7=36×2,0=72 мкс, то есть таким образом можно корректировать грубые
ошибки временных задержек.
После проверки и уточнения десятичное число N(10) =36 необходимо
перевести в шестнадцатеричный код N(16)=24 и загрузить в соответствующее
место программы.
Максимальная временная задержка для подпрограммы подобного
вида определяется максимальным значением числа N= FF (16) =256(10).
51

В этом случае
T1 max=8,5+5,5+3,5+256× (2,5+5,0) +5,0+5,0+2,0=1949,5(мкс)
При необходимости получения временных задержек большей дли-
тельности необходимы программы, обеспечивающие большее количество
повторений программных циклов.
3.5. Программная реализация временных задержек
большой длительности
При реализации некоторых программ, особенно программ управления
различными внешними устройствами, появляется необходимость в временных задержках достаточно большой длительности.
Для программной реализации таких временных задержек можно
использовать алгоритм (рис.3.), но с увеличением числа N до значений,
обеспечивающих требуемую временную задержку.
Для этого число N определяющее количество повторений цикла необходимо записать в пару регистров, в этом случае число повторений может
достигать FF FF(16) или 65535(10).
Тогда графический алгоритм подпрограммы с использованием пары
регистров ВC будет выглядеть так (рисунок 5):
Текст программы, соответствующий структуре графического алгоритма (рисунок 3.7.), можно представить в следующем виде (таб. 3.6.):
Таблица 3.6
Программа временной задержки большой длительности.
Метка Мнемокод Время выполнения, мкс Комментарий
TIME 2 PUSH B t1=5,5 Содержимое регистров В,С и А запомнить
PUSHPSW t2=5,5
LXI B, «N» t3=5,0 Загрузка числа циклов N в регистры В и С
М2 DCX B t4=2,5 Уменьшение B и С на единицу
MOV A B t5=2,5 Содержимое В перегрузить в А
ORA C t6=2,0 Логическое «ИЛИ» между А и С
JNZ М2 t7=5,0 Если не 0 возврат на метку L2
POP PSW t8=5,0 Восстановить А
POP B t9=5,0 Восстановить регистры В и С из стека
RET t10=5,0 Возврат из подпрограммы
в стеке
52

Рис. 3.7. Алгоритм подпрограммы временной задержки большой длительности
3.6. Расчет величины задержки времени
Максимальная задержка реализуемая подпрограммой TIME 2 (таблица 3.2)
с учетом времени обращения к подпрограмме и числа N=FF FF(16)= 65535(10)
составит :
Т2max=8,5+5,5+5,5+5,0+65535×(2,5+2,5+2,0+5,0)+5,0+5,0+5,0=786459,5 (мкс) =
0,786 (с).
Как и в предыдущем примере увеличить длительность задержки можно
добавлением одной или нескольких команд NOP внутри или вне тела цикла.
Задержки длительностью от единиц до десятков секунд можно получить
последовательной реализацией нескольких подпрограмм типа TIME1 и TIME2.
53

3.7. Задание к лабораторной работе
Изучить программы, приведенные в методическом указании.
Понять принципы их функционирования назначение действий, которые
они производят.
3.1. Разработать программу, заполняющую область памяти с адреса
А00Н и заканчивая адресом В00Н, константой 98Н.Просмотреть результаты
выполнения программы.
3.2. Разработать программу, находящую наименьшее число, в массиве
начиная 0900Н и заканчивая адресом 0950Н и записывающую его в аккумулятор. Просмотреть результаты выполнения программы.
3.3. Разработать программу, определяющую количество байт, у которых старший бит установлен в 1. Область памяти для поиска 0980Н-0990Н.
3.4. Количество байт записать в регистр D. Просмотреть результаты
выполнения программы.
3.5. Разработать программу, которая производит инверсию массива
из 12 однобайтовых чисел, расположенных с адреса 970Н.
3.6. Разработать программу, которая обнуляет младший элемент
массива начиная с адреса 0980 и заканчивая адресом 0987. Просмотреть
результаты выполнения программы.
3.7. Разработать программу временной задержки на время, указанное
преподавателем, представить полный расчет времени задержки данной
программы.
54

4. ВЫПОЛНЕНИЕ 3 ЛАБОРАТОРНОЙ РАБОТЫ
Программируемые устройства ввода/вывода
Цель работы: Исследование методов подключения и организации
обмена информацией с простейшими устройствами ввода - вывода при
использовании КР580ВВ55.
Технологическое оборудование оснащено информационными устройствами, с помощью которых система управления собирает информацию о состоянии технологического оборудования.
Технологическое оборудование оснащено исполнительными устройствами, с помощью которых система управления управляет работой оборудования и ходом технологического процесса.
Система управления:
−получает информацию о состоянии технологического процесса;
−обрабатывает полученные данные по определенному алгоритму;
−определяет параметры и состояние технологического процесса;
−формирует и выдает команды управления ходом технологического
процесса и изменяет режимы работы технологического оборудования.
В настоящее время почти 90% систем управления представляют
собой электрические (цифровые) системы управления, где вся информация
представляется в виде электрических (цифровых) сигналов, подавляюще
большинство таких систем оснащаются вычислительной техникой (как правило, микроконтроллерами).
Когда невозможно применение электрических систем управления
(взрывоопасная и пожароопасная обстановка), применяют пневматические,
механические или гидравлические системы.
Рис. 4.1. Структурная схема одномашинной системы управления
55

Микро-ЭВМ – управляющая Микро-ЭВМ (обычно строится на базе
микропроцессорных систем) включает в себя: процессор, память, шинные
формирователи.
МВВ ЦС – модуль ввода вывода цифровых сигналов (цифровой сигнал –
дискретный сигнал с четко различимыми уровнями).
МВВ АС – модуль ввода вывода аналоговых сигналов (аналоговый сигнал –
непрерывный сигнал, представленный функциональной зависимостью).
АЦП – аналогово-цифровой преобразователь.
ЦАП – цифро-аналоговый преобразователь.
ДША ВУ – дешифратор адреса внешних устройств.
ВУ – внешние устройства
В состав системы управления, при необходимости, могут быть включены:
− таймер, который используется для создания различных временных
“картин”, необходимых для работы технологического комплекса.
− последовательный интерфейс, который позволяет передавать данные
в последовательном формате.
− контроллер приоритетных прерываний – позволяет организовать
работу микропроцессора в режиме прерываний (от 8 до 64 запросов)
− контроллер прямого доступа к памяти – позволяет осуществить
высокоскоростной обмен между памятью микропроцессора и памятью
внешних устройств.
4.1. Модуль ввода-вывода цифровых сигналов
Позволяет загрузить в микропроцессор дискретные сигналы и выдать
на внешние устройства дискретные команды (типа «да» - «нет», «включено» «выключено», «0» - «1»).
Чаще всего такой модуль строится на базе программируемого
параллельного интерфейса (ППИ) КР 580 ВВ55, он предназначен для организации процедуры ввода – вывода параллельной информации и позволяет,
и позволяет организовать большинство известных протоколов ввода – вывода.
Может использоваться для сопряжения с различными периферийными
устройствами.
Для организации обмена информации МП системы с внешними периферийными устройствами в параллельном восьмиразрядном коде в комплект
микросхем входит БИС программируемого параллельного интерфейса
(ППИ) КР580ВВ55 (Intel 8255).
В ППИ КР580ВВ55 входит схема управления выводом, вводом и двунаправленный буфер данных, предназначенный для подключения внутренней шины
ППИ к шине данных МП системы, и три 8 разрядных порта А, В и С для обмена
между МП и периферией. Порты А и В состоят из входных и выходных 8 разрядных регистров, порт С из двух входных и выходных 4 разрядных регистров.
56

Условное графическое изображение микросхемы ППИ и ее подключение к микропроцессорной системе показано на рисунке 1.
Микросхема КР580ВВ55 представляет универсальную программно
управляемую интерфейсную БИС с помощью, которой возможно организация
в параллельном практически с любым интерфейсным устройством.
Рис. 4.2. Структурная схема программируемого параллельного интерфейса КР580ВВ55
БЛОКИ:
ВМД – внутренняя магистраль данных.
DB – 8-ми разрядный двунаправленный буфер данных.
RWCU – блок управления чтение-запись – обеспечивает управление
внешними и внутренними передачами данных, управляющих слов и информации о состоянии ППИ.
57

CUA – схема управления группой А (PORT A и старшие разряды PORT C)
CUB – схема управления группой B (PORT B и младшие разряды PORT C)
PORT A, PORT B, PORT C – 8-ми разрядные порты ввода-вывода.
ВХОДЫ:
RD – чтение – 0 на этом входе разрешает считать информацию с одного из регистров ППИ на шину данных, адрес регистров определяется состоянием входов А0 и А1.
WR – запись – 0 на этом входе разрешает запись информации с шины
данных (D0 –D7) в один из регистров ППИ, адрес регистров определяется
состоянием входов А0 и А1.
А0 и А1 – входы для адресации внутренних регистров ППИ.
RESET – сброс – 1 на этом входе очищает регистр управляющего слова
и устанавливает все порты в режим ввода.
CS – выбор микросхемы. 0 на этом входе активизирует ППИ и подключает его к системным магистралям микропроцессора. При отсутствии
сигнала (высокий уровень ) выводы шины данных D0-D7 находятся в
соответствии с высоким выходным сопротивлением
PORT A(7-0) – входы-выходы порта A.
PORT B(7-0) – входы-выходы порта B.
PORT C(7-0) – входы-выходы порта C.
Таблица 4.1
Выводы подключения
Имя регистра
PORT A 0 0
PORT B 0 1
PORT C 1 0
Регистр управляющего слова 1 1
Адрес регистра
А1 А0
Выводы D0-D7 напрямую подключаются к шине данных МП системы.
Выводы /WR и /RD подключаются к шине управления. Вывод RESET также
подключается к шине управления.
Выводы А0 и А1 подключаются к соответствующим разрядам шины
адреса. Остальная часть шины адреса подключается к дешифратору, который
выставив низкий потенциал на своем выходе подключит выводы D0-D7
микросхемы к шине данных МП системы (так как он соединен с выводом /
CS БИС).
Выводы А0 и А1 шины адреса поступают непосредственно на БИС
и адресуют регистры каналов А, В, С или регистра управляющего слова
(таблица 2.1).
58

Перед началом работы ППИ производится настройка (инициализация
БИС ППИ) на конкретный режим работы. Это производится путем подачи
с помощью команды OUT в регистр управляющего слова (чтение информации
из этого регистра недопустимо).
К командам ввод – вывода МП КР580 относятся команды IN <А>
и OUT <А>. При выполнении команды IN <A > микро-ЭВМ считывает число из входного устройства с адресом < A > и записывает его в аккумулятор.
При выполнение команды OUT<A> МП БИС записывает число из аккумулятора в выходное устройство с адресом < A >. Так как адрес устройства
указывается в одном байте, то с помощью этих команд микро-ЭВМ может
обмениваться информацией не более чем с 256 внешними устройствами.
В составе микропроцессорного комплекта БИС серии КР580 имеется две
БИС, которые могут применятся для организации ввода/вывода в микро-ЭВМ:
− КР580ВВ55 – БИС программируемого параллельного интерфейса
− КР580ВВ51 – БИС программируемого последовательного интерфейса.
В УМК для организации обмена информацией с внешними устройствами используется БИС КР580ВВ55.
Перед началом работы программным способом путем передачи в БИС специальных команд инициализации назначаются режимы работы каждого из каналов.
При наличии на старших разрядах шины адреса АВ(2-15) шины адреса
нужного сочетания сигналов на входе CS БИС КР580ВВ55 с помощью внешнего
адресного дешифратора формируется сигнал низкого уровня. Сигналы младших
разрядов А(0) , А(1) шины адреса поступают на БИС непосредственно и адресуют
регистры каналов А , В , С или регистр управляющего слова ( таб. 4.2 ) .
Таблица 4.2
Управляющие сигналы БИС КР580ВВ55.
Обозначение Наименование Назначение
CS Выбор
микросхемы
А (0)
А (1)
RESET Сброс Сброс БИС КР580ВВ55 при этом все регистры переводятся
RD Чтение Чтение данных из БИС КР580ВВ55 на шину данных D0-D7.
WR Запись Запись байта данных в БИС КР580ВВ55 с шины данных D
Адрес разряд 0
Адрес разряд 1
Разрешение работы БИС. При отсутствии сигнала (высокий
уровень) выводы шины данных D0-D7 находятся в соответствии с высоким выходным сопротивлением
Обращение к одному из трех каналов или регистру управляющего слова
в нулевое состояние. Все каналы переводятся в режим ввода.
(0 – 7)
Зависимость вида и направления передачи информации от комбинации
входных сигналов представлена в тал. 4.3
59

Таблица 4.3
Зависимость вида и направления передачи информации
от комбинации входных сигналов.
Сигналы на входах Вид передаваемой информации Направление передачи
A(0) A(1) RD WR CS
0 0 1 0 0 данные А(0-7)→D(0-7)
0 1 1 0 0 данные B(0-7)→D(0-7)
1 0 1 0 0 данные C(0-7)→D(0-7)
0 0 0 1 0 данные D(0-7)→A(0-7)
0 1 0 1 0 данные D(0-7)→B(0-7)
1 0 0 1 0 данные D(0-7)→C(0-7)
1 1 1 0 0 управляющее слово D(0-7)→РУС
- - - - 1- нет передачи
Программируемый параллельный интерфейс может работать в одном
из нескольких режимах:
«0» – режим «0» – основной режим ввода-вывода.
«1» – режим «1» – стробируемый ввод-вывод.
«2» – режим двунаправленной передачи информации.
Режим работы ППИ устанавливается с помощью управляющего слова.
Одним управляющим словом можно задать различные режимы работы для
каждого канала ППИ.
Порт А может работать в любом режиме (0,1,2).
Порт В может работать в 2-х режимах (0,1).
Порт С может работать на передачу данных только в режиме «0» –
в остальных режимах служит для передачи управляющих сигналов, которые
сопровождают обмен данными по каналам А и В.
Задание режимов для каналов А, В, С осуществляется одной командой назначения режима, эти каналы могут одновременно работать в разных режимах (рис. 4.3).
Формат управляющего слова для ППИ
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
