Скачиваний:
51
Добавлен:
21.02.2014
Размер:
1.14 Mб
Скачать

УИТС.161ХХХ.309 ПЗ

Лист

53

Изм

Лист

№ докум.

Подп.

Дата

Введение

С развитием технологии цифровых интегральных схем появилась возможность создавать сложные устройства обработки цифровой информации в виде компактных микросхем. Однако увеличение сложности реализуемого алгоритма обработки, как правило, сужает область его применения. Устранить противоречие между сложностью БИС и ее универсальностью удалось за счет программирования выполняемых микросхемой функций.

Широкую популярность микропроцессоры получили благодаря своим высоким функциональным возможностям и эксплуатационным характеристикам, придавшим средствам вычислительной техники и автоматики качественно новые свойства: появились и получили широкое распространение микрокалькуляторы, микроЭВМ, персональные ЭВМ, интеллектуальные роботы. Такие характеристики микропроцессоров как малые габариты, масса, потребляемая мощность позволили применять их в областях, в которых использование традиционных средств вычислительной техники было принципиально невозможным.

В настоящее время промышленностью освоено и серийно выпускается более пятнадцати микропроцессорных комплектов БИС различной, архитектуры. Развитие элементной базы микропроцессоров при этом идет по нескольким, взаимодополняющим направлениям, что обеспечивает возможность гибкой адаптации архитектуры систем управления требованиям конкретных применений и специфике условий их эксплуатации.

Целью данного курсового проекта является разработка микропроцессорной управляющей микроЭВМ, реализующей заданные взаимодействия с объектом управления и разработка программных средств системы, обеспечивающих выполнение заданного алгоритма управления.

1 Рашифровка и анализ задания

Управляющая микроЭВМ проектируется на базе однокристального МП и включает в себя следующие основные устройства: процессорный модуль, память, состоящую из ОЗУ и ПЗУ, устройства параллельного ввода/вывода для связи с ОУ, блок последовательного канала для связи с ЭВМ верхнего уровня, программируемый системный таймер, контроллер прерываний, контроллер прямого доступа в память, пульт управления.

Все модули системы объединяются интерфейсом. Обмен данными по интерфейсу может осуществляться как в едином адресном пространстве, так и в разделенном с помощью управляющих сигналов обращения к ЗУ и ВУ.

Процессорный модуль включает в себя микропроцессор К1816ВЕ48 и, при необходимости, дополнительные БИС (СИС), обеспечивающие реализацию вспомогательных функций (тактовый генератор, шинные формирователи, регистры – защелки и др.).

Устройство ввода для связи с ОУ должны обеспечить ввод в ПМ значения х1, х2, х3, х4 двоичных датчиков, а также 8 – разрядных двоичных кодов NU1, NU2, NU3, принимаемых с выходов АЦП. Сигнал датчика аварийной ситуации ха воспринимается только подсистемой прерывания.

Устройства вывода на ОУ должны обеспечить выдачу двоичных управляющих воздействий у1, у2, у3 определенной длительности и кода управляющего напряжения Y4 – 8-разрядного двоичного вектора на вход ЦАП. В структуру ОУ входит устройство, принимающее массив данных из ПЗУ (ОЗУ) в режиме прямого доступа в память (ПДП). Запрос на ПДП возникает асинхронно по отношению к процедуре управления.

Пульт управления должен обеспечивать ввод в ПМ значения 8 – разрядной двоичной константы К, ввод двоичного значения сигнала «СТОП», формирование сигнала начальной установки системы, вывод на светодиодную индикацию значений х1, х2, х3, х4, у1, у2, у3, NU1, Y4.

Системный таймер должен обеспечить отсчет временных задержек, реализуемых при работе алгоритма управления.

Блок последовательного обмена предназначен для передачи на микроЭВМ верхнего уровня информации о состоянии процесса управления. По запросу микроЭВМ разрабатываемая управляющая микроЭВМ должна обеспечить выдачу по последовательному каналу кадра. Передача информации с верхнего уровня на нижний не предусмотрена.

Контроллер прерывания обеспечивает фиксацию запросов на прерывание от различных источников и дисциплину обслуживания запросов. В подсистеме векторного прерывания контроллер формирует код команды вызова, а при наличии в системе радиального входа запроса на прерывания – код состояния регистров запросов.

Алгоритм управления определяется функциями:

y1=X1&X2vX3vХ4, t1=45мкc,

где Х1, Х2, Х3, Х4 – значения двоичных датчиков;

y2=max(NU1, NU2), t2=220мкс, t3=30мкс,

где NU1, NU2 – 8-разрядные двоичные коды;

t1, t2, t3 – длительность управляющих сигналов.

Типы БИС, на которых должен быть реализован блок памяти:

БИС ОЗУ – К134РУ6;

БИС ПЗУ – К556РТ6.

2 РАЗРАБОТКА ПРОЦЕССОРНОГО МОДУЛЯ, ИНТЕРФЕЙСА

И УТОЧНЕННОЙ СТРУКТУРНОЙ СХЕМЫ

2.1 Анализ структуры МП К1816ВЕ48

Однокристальный 8-разрядный микроконтроллер K1816BE48, называемый для краткости МК 1816, представляет собой БИС, имеющую в своем составе все атрибуты небольшой микро-ЭВМ: арифметическо-логическое устройство, устройство управления, постоянное ЗУ программ, ОЗУ данных и интерфейсные схемы. Организация, система команд и средства ввода — вывода информации МК 1816 лучше всего приспособлены для решения задач управления и регулирования в сравнительно несложных объектах, приборах и технологических процессах.

В состав аппаратурных средств МК входят: стираемое перепрограммируемое ПЗУ (СППЗУ) программ емкостью 1 Кбайт; регистровое ОЗУ данных емкостью 64 байта; 8-разрядное арифметическо-логическое устройство; устройство управления; 8-битный программируемый таймер/счетчик событий; программно-управляемые схемы ввода — вывода (27 линий).

Организация МК и его система команд допускают в случае необходимости расширение функционально-логических возможностей контроллера. С использованием внешних дополнительных БИС адресное пространство ППЗУ программ может быть расширено до 4 Кбайт. Кроме того, архитектура МК обеспечивает возможность прямой адресации внешнего ОЗУ емкостью 256 байт. С использованием более сложных программно-реализуемых способов адресации емкость внешнего ОЗУ может быть увеличена до требуемого объема страницами по 256 байт в каждой. И, наконец, путем подключения интерфейсных БИС КР580ВВ55 число линий связи МК с объектом управления может быть увеличено практически без ограничений.

В МК 1816 реализована система векторного прерывания от двух источников: внутреннего таймера/счетчика событий и внешнего источника. Внутренний 8-уровневый стек обеспечивает автоматическое сохранение и восстановление основных параметров вычислительного процесса при запросах прерывания и при возврате после обслуживания прерывания.

Три 8-битных порта ввода — вывода информации, два входа тестирующих сигналов и один вход запроса преры­вания обеспечивают связь МП с объектом управления по 27 линиям. Кроме того, имеются выводы для подключения осциллятора и для передачи таких сигналов, как начальная установка, строб адреса внешней памяти, чтение, запись. Вывод, через который МК в процессе работы выдает сигнал стробирования УВВ, на этапе заполнения СНИЗУ программ используется для подачи программирующего сигнала. Выводы, через которые подаются сигналы пошаговой работы и режима внешнего доступа, используются на этапе отладки МК при тестировании прикладной программы.

Основные параметры:

Источник питания, В 5±10%

Рассеиваемая мощность, Вт 1,5

Диапазон рабочих температур, °С от 0 до +70

Частота синхронизации, МГц от 1 до 6

Цикл однобайтной команды, мкс 2,5

двухбайтной команды, мкс 5

Емкость СППЗУ, Кбайт 1

Емкость ОЗУ, байт 64

На рисунке 1 показана структура МК 1816. Основу структуры МК образует внутренняя двунаправленная разделяемая 8-битная шина, которая связывает между собой все устройства БИС: арифметическо-логическое устройство, устройство управления, память и порты ввода—вывода информации.

Рассмотрим последовательно основные элементы структуры и особенности организации МК.

Микроконтроллер 1816 конструктивно выполнен в корпусе БИС с 40 внешними выводами. Все выводы электрически совместимы с элементами ТТЛ, входы представляют собой единичную нагрузку, а выходы могут быть нагружены одной ТТЛ-нагрузкой. Ниже приводятся символические имена выводов (сигналов), в скобках указываются номера выводов корпуса и дается краткое пояснение назначения вывода.

Рисунок 1 – Структура микроконтроллера К1816

ЗЕМЛЯ (20)—потенциал земли.

Uосн (40)—основное напряжение питания +5В подается во время работы и при программировании СНИЗУ.

Uдоп (26)—дополнительное напряжение питания +5В во время работы МК обеспечивает электропитание толь­ко для СППЗУ; на этот вывод при программировании СППЗУ подается уровень +25 В.

ПРОГ/СТБВВ (25) —вход для подачи программирующего импульса +25В при загрузке СППЗУ; выход стробирующего сигнала УВВ во время работы.

XI (2) —вход для подключения вывода кварцевого осциллятора или вход для сигнала от внешнего источника синхронизации.

Х2 (3) — вход для подключения второго вывода осциллятора.

СБРОС (4) — вход сигнала общего сброса при запуске МК; сигнал 0 при программировании и проверке СППЗУ.

ШАГ (5)—сигнал, который совместно с сигналом САВП позволяет выполнять программу с остановом после исполнения очередной команды; используется на этапе отладки.

РВП (9) — разрешение внешней памяти; сигнал подается на вход разрешения буфера внешней памяти только тогда, когда происходит обращение к внешней памяти программ.

САВП (11)—строб адреса внешней памяти; сигнал используется для приема и фиксации адреса внешней памяти на внешнем регистре, сигнал является идентификатором машинного цикла, так как всегда выводится из МК с частотой, в 5 раз меньшей основной частоты синхронизации.

ЧТ (8) —стробирующий сигнал при чтении из внешней памяти или УВВ.

ЗП (10)—стробирующий сигнал при записи во внешнюю память данных или УВВ.

Т0 (1) —входной сигнал, опрашиваемый по командам условного перехода JTO и JNT0; используется при программировании СППЗУ; может быть использован для вывода сигнала синхронизации по команде ENTO CLK.

Т1 (39)—входной сигнал, опрашиваемый командами условного перехода JT1 и JNT1; кроме того, используется в качестве входа внутреннего счетчика внешних событий после исполнения команды STRT CNT.

ЗПР (6)—сигнал запроса прерывания от внешнего источника; вызывает подпрограмму обслуживания прерывания, если прерывание разрешено ранее по команде ENI; сигнал СБРОС запрещает прерывания.

РВД (7)—режим внешнего доступа; уровень 1 на этом входе заставляет МК выполнять выборку команд только из внешней памяти программ; используется при тестировании прикладной программы и отладке МК.

Порт Р10-7 (27 - 34) — 8-разрядный квазидвунаправленный порт ввода — вывода информации; каждый разряд порта может быть запрограммирован на ввод или на вывод.

ПортР20-7(21 - 24, 35 - 38) - 8-разрядный квазидвунаправленный порт ввода — вывода информации; каждый разряд порта может быть запрограммирован на ввод или вывод; биты Р2о-з во время чтения из внешней памяти программ содержат старшие четыре разряда счетчика команд СКв-п, во время ввода — вывода используются для схемы расширения ввода — вывода и адресуют внешние порты Р4—Р7.

Порт BUS0-7(12—19) — 8-разрядный двунаправленный порт ввода — вывода информации; может быть отключен от нагрузки; может выполнять прием и выдачу байтов синхронно с сигналами ЧТ и ЗП; при обращений к внешнему ППЗУ программ содержит 8 младших разрядов счетчика команд и затем по сигналу РВП принимает выбранную команду; при обращении к внешнему ОЗУ данных содержит младшие 8 разрядов адреса синхронно с сигналом САВП и байт данных синхронно с сигналами ЧТ или 3TL.

Память микроконтроллера.

Память программ и память данных в МК 1816 физически и логически разделены. Память программ реализована в резидентном СППЗУ емкостью 1 Кбайт. Максимальное адресное пространство, отводимое для программ, составляет 4 Кбайт. Счетчик команд содержит 12 разрядов, но инкрементируются в процессе счета только младшие 11 разрядов. Поэтому счетчик команд из предельного состояния 7FFH (если только по этому адресу не расположена команда передачи управления) перейдет в состояние 000Н. Состояние старшего разряда счетчика команд может быть изменено специальными командами (SEL МВО, SEL MB1). Подобный режим работы МК позволяет создать два блока памяти емкостью по 2 Кбайт каждый. Карта адресов памяти программ показана на рисунке 2.

Память программ разделяется не только на блоки объемом 2 Кбайт, но и на страницы по 256 байт в каждой. В командах условного перехода задается 8-битный адрес передачи управления в пределах текущей страницы. В случае, когда в программе необходимо иметь много переходов по условию, то, если учитывать небольшой размер страницы, возникает проблема размещения подпрограмм в границах страницы и на нескольких страницах. Команда вызова подпрограмм модифицирует 11 разрядов счетчика команд, обеспечивая тем самым межстраничные переходы в пределах выбранного блока памяти программ.

Рисунок 2 – Карта адресов памяти программ МК

Так как СППЗУ используется не только для хранения команд, но и констант, то в МК 1816 применяются два способа адресации постоянной памяти для чтения неизменяемых данных: непосредственная адресация, при которой второй байт двухбайтной команды представляет собой операнд; косвенная адресация, при которой содержимое аккумулятора используется в качестве указателя данных в текущей странице или в странице 3 памяти программ.

При обработке запросов прерываний в МК 1816 старший разряд СКп принудительно устанавливается в 0. Это приводит к необходимости подпрограмму обслуживания прерывания и все подпрограммы, вызываемые ею, размещать в пределах блока памяти 0.

Резидентная память данных емкостью 64 байт имеет в своем составе два банка рабочих регистров 0—7 и 24—31 по восемь регистров в каждом. Выбор одного из двух банков регистров выполняется по команде SEL RB. Рабочие регистры доступны командам с прямой адресацией, а все ячейки ОЗУ доступны командам с косвенной адресацией. В качестве регистров косвенного адреса используются регистры R0, R1 и R0*, R1*(рисунок 3).

Рисунок 3 – Карта адресов оперативной Рисунок 4 – Адресация стека

памяти МК

Ячейки ОЗУ с адресами 8—23 адресуются указателем стека из ССП и могут быть использованы в качестве 8-уровневого стека (рисунок 4).

В том случае, если уровень вложенности подпрограмм меньше 8, то незадействованные в стеке регистры могут использоваться как ячейки ОЗУ. При переполнении стека регистр-указатель стека, построенный на основе 3-разрядного счетчика, переходит из состояния 7 в состояние 0. Малая емкость стека ограничи­вает число возможных внешних источников прерывания в МК-системе. МК 1816 не имеет команд загрузки байта в стек или его извлечения из стека, и в нем фиксируются только содержимое СК и старшая тетрада ССП (признаки).

Практически все команды с обращением к ОЗУ оперируют с одним байтом. Однако по командам вызова и воз­врата осуществляется доступ к двухбайтным словам. В памяти данных слова хранятся так, что старший байт слова располагается в ячейке с большим адресом. Отметим, что в памяти программ порядок расположения байт по стар­шинству при хранении двухбайтных слов обратный.

В расширенных МК-системах, где используется внешнее ОЗУ, через регистры косвенного адреса R0 и R1 возможен доступ к внешней памяти объемом 256 байт. В случае необходимости в МК-системах можно применить внешнее ОЗУ требуемого объема, если, например, использовать 4 бита порта ввода — вывода информации для выбора одной из 16 страниц внешней памяти, каждая из которых имеет объем 256 байт. При этом 4-битный указатель страниц ста­новится дополнением ССП и должен сохраняться в стеке при обработке прерываний.

Управление работой микроконтроллера

Устройство управления МК совместно с логической схемой переходов в каждом цикле команды формирует последовательность сигналов, управляющих функциями всех блоков МК и системой их взаимосвязи. Рассмотрение работы МК и особенностей реализации тех или иных про­цедур удобно выполнить путем анализа работы отдельных блоков МК в различных режимах его работы.

Синхронизация микроконтроллера. Опорную частоту синхронизации определяет или кварцевый резонатор (осциллятор), подключаемый к входам XI и Х2, или LC-цепь; X1 является входом, а Х2 - выходом генератора, способного работать в диапазоне частот от 1 до 6 МГц. На вход X1 может подаваться сигнал от источника внешней синхронизации.

Системный сброс. В обслуживаемых МК-системах для инициализации используется кнопка сброса, которая заземляет соответствующий вход после подачи электропитания. В необслуживаемых МК-системах на вход СБРОС подсоединяется конденсатор емкостью 1 мкФ, что обеспечивает подачу сигнала, близкого к потенциалу земли, длительностью не менее 50 мс, после того, как напряжение электропитания установится после включения (рисунок 6а).Сигнал СБРОС производит следующие действия: сбрасывает счетчик команд и указатель стека, устанавливает порт BUS в высокоимпедансное состояние, а порты Р1 и Р2 - на режим ввода; выбирает банк регистров RB0 и блок памяти MD0; запрещает прерывания; останавливает таймер и выдачу синхросигнала на вывод Т0; сбрасывает признак переполнения таймера FT и признаки пользователя F0 и F1.

Пошаговый режим работы. Этот режим используется на этапе отладки МК-системы и предоставляет разработчику возможность выполнить прикладную программу покомандно с выводом адреса очередной команды через порт BUS и младшую тетраду порта Р2.

Сигнал = 0 останавливает работу МК после окончания цикла текущей команды и выдает подтверждающий сигнал САВП. Для вывода МК из состояния останова необходимо подать сигнал = 1, на который МК откликается генерацией подтверждающего сигнала САВП=0. Для того, чтобы МК остановился на следующей команде, на вход вновь должен быть подан сигнал 0, как только сигнал САВП стал равен нулю. Переход от команды к команде осуществляется по нажатию кнопки ШАГ, запускающей буферный D-триггер по входу синхронизации. Сигнал на выходе D-триггера не приобретает значение 1 до тех пор, пока сигнал САВП не будет равен 1. Так как вход R* асинхронного сброса D-триггера эквивалентен трем ТТЛ-нагрузкам, то между выходом сигнала САВП и входом сброса D-триггера иеобходимо установить усилитель.

Счетчик команд и логика условных переходов. Только 10 младших разрядов счетчика команд используются для адресации 1 Кбайт резидентной памяти программ, а 2 старших разряда — для обращения к внешней памяти программ в расширенных МК-системах. При прерываниях или вызове подпрограмм все 12 разрядов счетчика команд загружаются в стек. Кроме того, в стек загружается часть слова состояния процессора, в состав которого входят признаки переноса, вспомогательного переноса, признак пользователя Р0 и признак банка регистров В5.

Логика условных переходов МК позволяет прикладной программе проверять не только внутренние признаки, но и условия, внешние по отношению к МК. По командам условного перехода в случае удовлетворения проверяемого условия в счетчик команд (разряды 0—7) из второго байта команды загружается адрес перехода. Логика переходов оперирует со следующим набором условий (таблица 1):

Таблица 1 – Логика условных переходов

Прерывание. Линия запроса прерывания от внешнего источника проверяется каждый машинный цикл во время действия сигнала САВП, но передача управления ячейке 3, где расположена команда ЛМР, выполняется только по завершении цикла команды. При обработке прерывания, как и при вызове подпрограммы, содержимое счетчика команд и части ССП сохраняется в стеке. К входу микроконтроллера через монтажное ИЛИ от схем с открытым коллектором могут быть подключены несколько источников прерывания. Система прерывания одноуровневая, так как после распознавания прерывания все последующие запросы прерывания игнорируются до тех пор, пока по команде возврата RETR вновь будет разрешена работа логики прерываний. Это справедливо и для внутреннего прерывания, генерируемого признаком переполнения таймера.

На рисунке 8 показана схема системы прерываний МК.

Режим прерываний может быть запрещен или разрешен программой по командам DISI и ЕNI. Сигнал должен быть снят внешним устройством перед окончанием подпрограммы обслуживания, т. е. до исполнения команды RETR. В том случае, если внешнее устройство не сбрасывает свой триггер запроса прерываний при обращении МК к его буферному регистру, одна из выходных линий МК используется подпрограммой обслуживания прерывания для сброса триггера запроса прерывания во внешнем устройстве.

Рисунок 5 - Схема системы прерываний

Так как вход может быть проверен по команде условного перехода JNI, то при запрещенном режиме прерывания вход может быть использован в качестве дополнительного тестирующего входа подобно входам Т0 и Т1.

При необходимости в МК можно создать двухуровневую систему прерываний. Для этого надо разрешить прерывания от таймера, загрузить в него число FFi6 и перевести в режим подсчета внешних событий, фиксируемых на входе Т1. Переход сигнала на входе Т1 из состояния 1 в состояние 0 приведет к прерыванию по вектору в ячейке 7. В случае одновременного запроса прерываний от внешнего источника и запроса от признака переполнения таймера приоритет остается за источником, воздействующим на вход .

При входе в подпрограммы обслуживания прерываний старший разряд счетчика команд СКи принудительно устанавливается в нуль. Следовательно, вся программа обработки прерывания должна быть размещена в блоке памяти 0. Выполнение команд SEL МВ в процедуре обработки прерывания нежелательно, так как по этим командам изменяется только содержимое триггера признака блока памяти, но остается неизменным до выхода из прерывания (RETR) содержимое СКи = 0.

Организация ввода-вывода информации в микроконтроллере

Для связи МК 1816 с объектом управления, для ввода и вывода информации используются 27 линий. Эти линии сгруппированы в 3 порта по 8 линий в каждом и могут быть использованы для вывода, ввода или для ввода—вывода через двунаправленные линии. Кроме портов ввода— вывода, имеются 3 входные линии, сигналы на которых могут изменять ход программы по командам условного перехода: линия используется для ввода в МК сигнала запроса прерывания от внешнего источника; линия Т0 предназначена для ввода тестирующего сигнала от двоичного датчика объекта управления; кроме того, под управлением программы (ENTO CLC) по этой линии из МК может выдаваться сигнал синхронизации; линия Т1 используется для ввода тестирующего сигнала или в качестве входа счетчика событий (по команде STRT CNT).

Порты ввода — вывода Р1 и Р2. Каждая линия портов Р1 и Р2 может быть программным путем настроена на ввод, вывод или на работу с двунаправленной линией передачи. Специальная схемотехника цепей вывода портов Р1 и Р2, которая получила название квазидвунаправленной структуры, позволяет выполнять ввод, вывод и двунаправленные передачи, несмотря на то, что выходы схем вывода статически заперты. Каждый контакт ввода - вывода портов Р1 и Р2 является выходом с открытым стоком и входом с высоким импедансом, соответствующим по логическому уровню сигналу 1. На рисунке 6 показана схема одной линии ввода — вывода. Линия постоянно подключена к источнику электропитания +5В через резистор большого сопротивления (50 КОм), обеспечивая для единичной стандартной ТТЛ-нагрузки достаточный входной ток, соответствующий логической 1. В то же время потенциал в линии может быть приближен к потенциалу земли (уровень логического 0) нулевым сигналом на выходе стандартной ТТЛ-схемы.

Рисунок 6 – Функциональная схема портов ввода – вывода Р1 и Р2

Именно это обстоятельство и позволяет использовать статически запертую схему вывода как для ввода, так и для вывода информации.

При передаче на выход из МК уровня 1 по сигналу ЗАПИСЬ для ускорения переходного процесса от 0 к 1 на короткое время (0,5 мкс) открывается верхний МОП-транзистор с относительно низким сопротивлением (5 КОм). При передаче в линию уровня 0 открытым оказывается нижний МОП-транзистор выходной схемы с сопротивлением 3 КОм. Это сопротивление достаточно малое для того, чтобы обеспечить отвод тока из входной цепи ТТЛ-нагрузки.

Для того, чтобы настроить некоторую линию на режим ввода в МК, необходимо перед этим в буферный D-триггер этой линии записать 1. При этом нижний МОП-транзистор выходной схемы окажется закрытым и это обеспечит ТТЛ-источнику вводимого сигнала высокоимпедансную нагрузку. Сигнал системного сброса СБРОС автоматически записывает во все линии портов Р1 и Р2 сигнал 1.

Квазидвунаправленная структура портов Р1 и Р2 специфична тем, что в процессе ввода информации выполняется операция логического И над вводимыми данными и текущими (последними выводимыми) данными. Для того, чтобы можно было осуществить ввод, необходимо следить за тем, чтобы в соответствующих линиях ввода сохранялось значение 1. Квазидвунаправленные буферные схемы портов Р1 и Р2 и команды логических операций ANL и ORL представляют эффективное средство маскирования для обработки однобитовых входов и выходов в МК.

В системе команд МК есть команды, которые позволяют выполнять запись нулей и единиц в любой разряд или группу разрядов порта. Но так как в этих командах маска задается непосредственным операндом, то необходимо знать распределение сбрасываемых и устанавливаемых линий на этапе разработки исходной программы. В том случае, если маска вычисляется программой и заранее не известна, то в ОЗУ необходимо иметь копию состояния порта вывода. Эта копия по командам логических операций соединяется с вычисляемой маской в аккумуляторе и затем загружается в порт. Необходимость этой процедуры вызвана тем, что квазинаправленная структура не позволяет выполнить операцию чтения состояний портов Р1 и Р2, зафиксированных по последней команде вывода.

Порт Р2 отличается от порта Р1 тем, что его младшие 4 бита могут быть использованы для расширения МК-системы по вводу - выводу. Через младшую тетраду порта Р2 по специальным командам с обращением к портам Р4—Р7 возможен доступ к четырем внешним четырехбитным портам ввода—вывода. Работа этих внешних портов синхронизируется сигналом ПРОГ/СТБВВ.

Порт BUS представляет собой двунаправленный буфер с тремя состояниями и предназначен для побайтного ввода, вывода или ввода—вывода информации.

Если порт BUS используется для двунаправленных передач, то обмен информацией через него выполняется по командам MOVX. При выводе байта генерируется стробирующий сигнал ЗП, а выводимый байт фиксируется в буферном регистре. При вводе байта генерируется стробирующий сигнал ЧТ, но вводимый байт в буферном регистре не фиксируется. В отсутствие передач порт BUS по своим выходам находится в высокоимпедансном состоянии.

Если порт BUS используется как однонаправленный, то вывод через него выполняется по команде OUTL, а ввод— по команде INS.

Вводимые и выводимые через порт BUS байты можно маскировать с помощью команд AND и OR, что позволяет выделять и обрабатывать в байте отдельный бит или группу бит. Для этого предварительно по команде OUTL BUS, A в порт BUS из аккумулятора должна быть загружена маска.

В МК-системах простой конфигурации, когда порт BUS не используется в качестве порта-расширителя системы, обмен выполняется по командам INS, OUTL и MOVX. Возможно попеременное использование команд OUTL и MOVX. Однако при этом необходимо помнить, что выводимый по команде OUTL байт фиксируется в буферном регистре порта BUS, а команда MOVX уничтожает содержимое буферного регистра порта.

В МК-системах, имеющих внешнюю память программ, порт BUS используется для выдачи адреса внешней памяти и для приема команды из внешней памяти программ. В таких системах использование команды OUTL BUS недопустимо, так как фиксация в буферном регистре порта BUS выводимого байта явится причиной неправильной выборки следующей команды.

В командах ввода—вывода информации имя порта, через который осуществляется передача, содержится в коде команды. Следовательно (из-за невозможности динамического определения имени порта в каком-либо рабочем регистре), отсутствует возможность использования одной программы управления идентичными устройствами, подключенными к разным портам. Это вынуждает программиста загружать в память программ две или более по существу (но не по кодам) одинаковых программ управления однотипными устройствами.

Однако динамический выбор идентичных устройств, а следовательно, и использование одной параметризуемой подпрограммы управления этими устройствами возможны в том случае, если обращение к внешним портам ввода— вывода выполнять по командам обращения к внешней памяти MOVX.

Цоколевка корпуса МК К1816ВЕ48

Рисунок 7 - Цоколевка корпуса МК КМ1816ВЕ48

ГТИ

Генератор тактовых импульсов выполнен на микросхеме КР580ГФ24 и предназначен для синхронизации микропроцессорной системы. Генератор тактовых импульсов (ГТИ) формирует тактовые импульсы с частотой до 2,5 МГц и амплитудой 12В, а так же некоторые управляющие сигналы для микропроцессорной системы.

Структурная схема ГТИ представлена на рисунке 8, а подключение ГТИ к МП показано на рисунке 12. ГТИ состоит из задающего генератора, (SGN), генератора тактовых импульсов (GLG), порогового элемента, формирователей и логических схем. Для работы ГТИ необходимо подключение внешнего кварцевого резонатора с частотой в 9 раз большей, чем частота выходных тактовых импульсов ГТИ.

Основные временные характеристики тактовых импульсов следующие:

Время переднего и заднего фронтов (tLH, tHL), нс 0÷50

Ширина импульса CLK1 (tCLK1), нс ≥60

Ширина импульса CLK2 (tCLK2), нс ≥220

Временной интервал между задним фронтом

CLK1 и передним фронтом CLK2 (tD1), нс ≥0

Временной интервал между задним фронтом

CLK2 и передним фронтом CLK1 (tD2), нс ≥70

Задержка CLK2 по отношению к CLK1, tD3,нс ≥80

Основные электрические параметры микросхемы КР580ГФ24 следующие:

Входное напряжение L-уровня UIL, В 0,8

Входное напряжение H-уровня UIH, В 0,2

Напряжение RESIN, UIH-UIL, В 0,25

Выходное напряжение L-уровня UOL, В 0,45

Выходное напряжение H-уровня UOH, В:

на выходах CLK1, CLK2 9,4

на выходах READY, RESET 3,6

на всех других выходах 2,4

Ток источника питания ICC, мА 115

Назначение входных и выходных сигналов:

Соседние файлы в папке МП К1816ВЕ4