- •1 Расшифровка и анализ задания
- •1.2 Реакция системы на внешние события
- •2.1.1 Организация архитектуры к1816ве51.
- •2.1.2 Набор регистров мк51
- •2.1.3 Организация памяти мк51
- •2.1.5 Последовательный канал связи
- •2.1.6 Таймеры/счетчики
- •2.1.7 Система прерываний
- •2.1.8 Система команд мк ве51
- •2.2 Функциональное описание ве51
- •2.2.1 Интерфейс расширения
- •2.2.2 Работа таймеров/счетчиков
- •2.2.3 Работа последовательного канала связи
- •2.2.4 Работа с внешней памятью программ и памятью данных
- •2.2.5 Работа с портами
- •3 Разработка подсистемы памяти
- •3.1 Описание микросхемы кр537ру8
- •3.3 Подключение озу и пзу к системной шине
- •4 Разработка подсистем ввода/вывода, прерываний и пдп
- •4.1 Аналогово-цифровой преобразователь
- •4.2 Цифроаналоговый преобразователь
- •4.3 Контроллер прямого доступа к памяти кр580вт57
- •4.4 Многорежимный буферный регистр к589ир12
- •4.5 Контроллер клавиатуры/дисплея кр580вд79
- •4.5.1 Общие сведения о мс кр580вд79
- •4.5.2 Управление ккд с помощью сигналов на внешних выводах
- •4.5.3 Режимы работы клавиатуры
- •4.5.4 Режимы работы дисплея
- •4.5.5 Байт состояния памяти клавиатуры/датчиков
- •5 Разработка программного обеспечения
- •5.2 Разработка блок-схемы управляющей системы
- •6 Реализация устройства на базе микропроцессора к1816ве51
- •6.1 Основные технические данные и характеристики
- •6.1.1 Параметры назначения:
- •6.2 Устройство
- •6.2.1 Общие сведения
- •6.2.2 Принцип действия
2.2.4 Работа с внешней памятью программ и памятью данных
Режим работы ОМЭВМ с внешней памятью устанавливается путем отключения внутренней памяти заданием низкого уровня напряжения на выводе /DEMA и применяется при отладке программ и контроле процессора. Этот режим используется также, если внутренней памяти программ недостаточно. В этом случае можно совместить внутреннюю (4096 байт) и внешнюю (60 К) памяти программ общим объемом 64К (на выводе /DEMA при этом подается напряжение высокого уровня) или использовать только внешнюю память с максимальным объемом 64К (при этом вывод /DEMA подключается на корпус).
При работе с внешней памятью программ выдача младших разрядов адреса (А7...А0) на внешнюю память и прием кода команд из внешней памяти осуществляется через порт Р0 (Р07 – Р00). При этом адрес фиксируется по сигналу ALE, а команды принимаются по сигналу /PME. Старшие разряды адреса А15...А8 выдаются через Р2 (Р2.7...Р2.0). При увеличении объема памяти за счет подключения внешнего ОЗУ емкостью до 256 байт обмен данными между ОЗУ и ОМЭВМ осуществляется через двунаправленный порт Р0 с помощью команд MOVXA,@R и MOVX@R,А. Для работы с внешним ОЗУ объемом свыше 256 байт (до 64 К) используются команды MOVXA,@DPTR и MOVX@DPTR,А. При этом адрес данных фиксируется по спаду сигнала ALE, а прием и выдача данных - по сигналам /RD и /WR.
В режиме проверки внутренней памяти контролируется правильность хранящихся в памяти программ информации, записанной в процессе производства микросхем для ВЕ51. Подаваемые на одноименные выводы микросхемы сигналы выполняют следующие функции:
P2.7 - при подаче напряжения низкого уровня активизирует режим обращения к внутренней памяти для считывания;
P1.0 ... Р1.7, Р2.0 ... Р2.3 - организует подачу адреса А0 - А11;
P0.0 ...Р0.7 - организуют прием данных для программирования, или выдачу данных для контроля.
2.2.5 Работа с портами
Порты Р1 - Р3 имеют идентичные характеристики. Данные, записанные в них, статически фиксируются и не изменяются до перезаписи.
В режиме работы с внешней памятью программ порт Р2 служит для выдачи сигналов старших разрядов адреса и статически фиксирует его до момента изменения. В этом режиме порт Р2 для расширения ввода-вывода не используется.
Для использования портов Р1 - Р3 в качестве входов ОМЭВМ по команде выдачи данных должна выдать напряжение высокого уровня Uoh по соответствующим линиям Р2, Р1, Р3, однако после подачи сигнала сброс порты Р1 - Р3 устанавливаются в состояние готовности приема без дополнительных усилий.
Порт Р0 - 8-ми разрядный двунаправленный порт с тремя состояниями, может использоваться в качестве статически фиксирующего выходного порта и нефиксирующего входного порта. Информация, выдаваемая портом Р0 с помощью команд выдачи, сопровождается строб - импульсом WR. При записи информации в порт Р0 с помощью команд приема вырабатывается строб-импульс RD.
Кроме операций ввода-вывода информации, предусмотрена возможность выполнения логических операций И, ИЛИ и исключающее ИЛИ непосредственно на фиксаторах портов Р0 - Р3.
В режиме работы с внешней памятью программ порт Р0 служит для выдачи младших разрядов адреса памяти программ, приема кодов команд, а также для выдачи адреса внешнего ОЗУ данных и приема-выдачи данных обмена с внешним ОЗУ, если оно используется.
При выполнении инструкции, которая разрешает чтение порта, новая информация поступает на внутреннюю магистраль ОМЭВМ во время последнего цикла инструкции. На выходе порта новые данные могут появиться до начала следующего цикла.
Имеются два способа считывания из портов: система команд ОМЭВМ позволяет считывать информацию с фиксатора порта или непосредственно с выхода в зависимости от кода инструкции.
Последовательный порт ОМЭВМ используется как для расширения ввода/вывода, так и в качестве универсального асинхронного приемо-передатчика (УАПП) с фиксированной или переменной скоростью последовательного обмена. Предусмотрена также возможность дуплексного включения.
При проектировании системы необходимо учитывать, что в состав МК51 уже включены программируемый системный таймер, порты последовательного и параллельного ввода-вывода, система прерываний.
2.3 Упрощенная структурная схема разрабатываемой микропроцессорной системы
Упрощенная структурная схема микро - ЭВМ представлена на рисунке 8.
Все модули разрабатываемой системы объединяются общей системной шиной, состоящей из шин адреса, данных и управления. Обмен данными по магистрали осуществляется в адресном пространстве, разделенном с помощью управляющих сигналов обращения к запоминающему устройству и внешним устройствам.
О
K
Память
Y4
ПЗУ
ОЗУ
Сигналы с датчиков
Рисунок 8 – Упрощенная схема микропроцессорной системы
Хранение информации происходит в модуле памяти, состоящей и блока ПЗУ, выполненной на МС КР537РУ8, отвечающая за хранение программ и констант, и блока ОЗУ, реализованной на МС КР556РТ6, служащей для хранения входных и выходных данных, а также промежуточных результатов.
Осуществление операции преобразования аналоговых сигналов в цифровую форму и обратно происходит при помощи АЦП и ЦАП, реализованные на МС К1113ПВ1 и МС К572ПА1 соответственно.
Устройства ввода для связи с ОУ обеспечивают ввод в ОМВЭВМ значений x1, x2, x3, двоичных датчиков, а также 8 – разрядных двоичных кодов NU1, NU2, NU3, принимаемых с выходов АЦП.
Устройства вывода на ОУ обеспечивают выдачу двоичных управляющих воздействий y1, y2, y3 определенной длительности и кода управляющего напряжения Y4 - 8 – разрядного двоичного вектора на вход ЦАП.
В качестве контроллера прямого доступа к памяти КПДП, принимающего массив данных из ПЗУ (ОЗУ) в режиме ПДП использована МС КР580ВТ57.
Устройства ввода-вывода (УВВ) обеспечивают ввод управляющих сигналов, и вывод результатов значений x1, x2, x3, y1, y2, y3. NU1,Y4 на дисплей.
Пульт управления обеспечивает ввод в систему значения 8 – разрядной двоичной константы К, ввод двоичного значения сигнала «СТОП», формирование сигнала начальной установки системы.