Проектирование микропроцессорного модуля автоматизированной информационной системы

Разработка структурной схемы и алгоритма функционирования микропроцессорного модуля программного обеспечения автоматизированной информатизационно-измерительной системы. Характеристика принципиальной схемы модуля, распределения памяти и задание портов.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.08.2012
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru

54

Размещено на http://www.allbest.ru

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

Содержание

Аннотация

Введение

1.Обоснование структурной и функциональной схем

1.1 Обоснование структурной схемы

1.2 Обоснование функциональной схемы

1.3 Обоснование алгоритма функционирования

2. Обоснование и описание функционирования принципиальной схемы

2.1 Выбор элементной базы

2.2 Описание распределения адресного пространства

2.3 Описание функционирования принципиальной схемы

3.Описание программного обеспечения МП-модуля

3.1 Обоснование алгоритма программного обеспечения

3.2 Описание программы

4. Анализ функционирования МП-модуля с использованием временных диаграмм

Заключение

Библиографический список

Приложение

Аннотация

микропроцессорный модуль автоматизированная информатизационная система

В данной курсовой работе требуется спроектировать микропроцессорный модуль АИС. Модуль предназначен для сбора, обработки и выдачи информации в автоматизированную информационно-измерительную систему.

Данный модуль спроектирован на базе КР1810. Режим обмена - по запросу на прерывание от внешних устройств, интерфейс обмена ввода - 16-разрядная клавиатура, вывода - принтер. Емкость ОЗУ - 128 Кбайт, емкость ПЗУ - 48 Кбайт.

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

Введение

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

Микропроцессорный модуль является завершенной конструктивной единицей, состоящей из одного или нескольких микропроцессоров, оперативной памяти, программируемых контроллеров прерывания и прямого доступа в память и ряда портов ввода/вывода. При необходимости они дополняются другими специализированными контроллерами и функциональными узлами.

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

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

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

Наличие большого числа схем различной степени интеграции в МП серии К1810 упрощает разработку микропроцессорной системы и делает ее компактной и экономичной.

Существенное значение имеет возможность использования совместимых с МПК серии К1810 программируемых БИС серии КР580.

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

1. Обоснование структурной и функциональной схем

1.1 Обоснование структурной схемы

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

Основная задача МП-модуля как устройства управления - организация обмена данными с пользователем и внешними устройствами, т.е. должен позволять вводить данные для обработки и выводить полученные результаты. Таким образом, в модуле должны присутствовать устройства ввода и вывода (УВВ).

Необходимо управлять загрузкой данных, обрабатывать их и организовывать вывод результатов. Для выполнения этих функций необходим центральный процессор (ЦП).

Промежуточные результаты, данные и программы пользователя необходимо хранить внутри МП-модуля. Для этого служит оперативное запоминающее устройство (ОЗУ).

Так как МП-модуль состоит из многих различных устройств, перед началом работы необходимо проводить тестирование работоспособности каждого из них, при необходимости задавать начальные состояния. Программа, выполняющая эти операции, должна хранится внутри МП-модуля постоянно и запускаться каждый раз при включении. Также необходимо хранить программу формирования управляющих сигналов для УВВ. Все это требует введения в МП-модуль постоянного запоминающего устройства (ПЗУ).

Взаимодействие всех структурных элементов осуществляется путем передачи данных между ними. Таким образом, все элементы необходимо связать с системной шиной модуля. Между ЦП и УВВ, а также между ЦП и памятью должен производится обмен данными. Введем двунаправленную шину данных (ШД), к которой подключаются все эти устройства.

Однако одновременно с ЦП через ШД может взаимодействовать только одно устройство. Его выбор осуществляется ЦП посредством адресации. Для передачи адресных сигналов необходимо ввести однонаправленную шину адреса (ША). ЦП также должен подавать сигналы синхронизации и управления работой остальных устройств. Эти сигналы выделим в однонаправленную шину управления (ШУ).

Структурная схема МП-модуля представлена на рисунке 1.

Рисунок 1.1 - Структурная схема микропроцессорного модуля.

1.2 Обоснование функциональной схемы

Опишем функциональную структуру модуля, удовлетворяющего заданию проектирования.

Разрабатываемый модуль должен оперировать 16-битными словами. Поэтому необходимо использовать 16-разрядный МП, способный работать с двухбайтными словами. Таким процессором является МП К1810ВМ86. Т.к. для адресации 128 Кбайт ОЗУ недостаточно 16-ти адресных линий, необходимо реализовать максимальный режим работы процессора.

Для работы микропроцессору необходим генератор тактовых импульсов (ГТИ). Однако, в отличии от однокристальных микро-ЭВМ, МП не имеют встроенных ГТИ. Следовательно, необходимо использовать внешний ГТИ в виде отдельного функционального блока.

Проектируемый модуль должен иметь возможность выполнять пользовательские программы и сохранять данные в течение своей работы. Также предусматривается использование стека и хранение промежуточных результатов. Эти данные хранятся в ОЗУ.

Данный модуль должен иметь специальное программное обеспечение, в состав которого входят: программа инициализации программируемых БИС и начальной установки функциональных узлов; программа самоконтроля (тестирования) отдельных блоков схемы и всего модуля в целом; программа формирования сигналов обмена с устройствами ввода/вывода. Для хранения такого ПО целесообразно использовать ПЗУ.

Необходимо реализовать обмен данными с УВВ по запросу на прерывание. В МП К1810ВМ86 имеются два входа для запросов на прерывание от внешних устройств. Однако программно можно реализовать до 256 уровней запросов. Расширенная система прерываний позволит сделать МП-модуль более универсальным и подключить к нему большое количество периферийных устройств, работающих в режиме обмена по запросу на прерывание. Для такого расширения системы прерываний МП необходимо ввести программируемый контроллер прерываний (ПКП).

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

В качестве устройства вывода используется принтер. Для обеспечения его взаимодействия с МП необходимо выбрать программируемый параллельный интерфейс К1810ВН59. Программируемый параллельный интерфейс позволяет осуществлять однонаправленную передачу данных на вывод по 8-ми линиям. Также имеется 4 линии вывода для управляющих сигналов и 5 линий ввода для статусных сигналов от принтера.

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

ША и ШД МП К1810 мультиплексированы. Поэтому для увеличения длительности сигналов, а также для повышения нагрузочной емкости этих шин необходимо применять шинные формирователи (ШФ).

Для правильного управления работой внешних устройств, МП необходимо подавать на них специальные управляющие сигналы. МП К1810 не обеспечивает выработку всех сигналов, необходимых для управления периферийными устройствами. Однако на основе управляющих сигналов К1810 можно сформировать недостающие сигналы. Для этого необходимо ввести специальную схему формирования управляющих сигналов (СФУС).

Функциональная схема МП-модуля представлена на рисунке 2.

Размещено на http://www.allbest.ru

54

Размещено на http://www.allbest.ru

Рисунок 1.2 - Функциональная схема МП-модуля.

1.3 Обоснование алгоритма функционирования

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

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

После этого МП-модуль приступает непосредственно к выполнению своих функций - вводу, обработке и выводу информации.

Поскольку организуется обмен информацией по запросу на прерывание и никаких вычислений на этом этапе не предусмотрено, МП-модуль переходит в режим ожидания.

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

Алгоритм вывода состоит в следующем: проверяется наличие данных, готовой к выводу, и анализируется готовность принтера к приему. Если есть данные и принтер готов их принять, происходит выдача очередной порции данных на принтер, после чего процессор возвращается к прерванной программе. Как только принтер закончит обработку полученных данных, он генерирует сигнал готовности к приему данных, интерпретируемый как запрос на прерывание. По этому запросу МП-модуль вновь переходит в режим вывода. Алгоритм завершается, когда данных для вывода нет.

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

Размещено на http://www.allbest.ru

54

Размещено на http://www.allbest.ru

2. Обоснование и описание функционирования принципиальной схемы

2.1 Выбор элементной базы

Согласно варианту задания спроектированный модуль должен иметь 16-разрядную шину адреса. Для реализации 16-разрядной шины данных подходят микропроцессоры серий К1801, К1810, К1809, К588. Среди выбранных серий микропроцессорных комплектов реализация 20-разрядной шины адреса возможна только на микропроцессорах серий К1810, К588. Для микропроцессора серии К588 наращивание шины адреса до 20 разрядов представляется весьма сложным и требует больших затрат. Следовательно, к заданному варианту наиболее подходит микропроцессор К1810ВМ86, который обладает следующими характеристиками:

- тактовая частота - 5 МГц;

- объем адресуемой памяти - 1 Мбайт;

- разрядность адресной шины - 20;

- разрядность шины данных - 16.

Рисунок 2.1 - Условное обозначение микропроцессора К1810ВМ86.

Наименование

Ввод/Вывод

Описание

AD0 - AD15

вывод

канал адреса/данных

NMI

ввод

немаскируемый запрос прерывания

INT

ввод

маскируемый запрос прерывания

CLK

ввод

тактовый сигнал

RESET

ввод

сигнал “установка”

RDY

ввод

сигнал “готовность”

TEST

ввод

сигнал “проверка”

RD

вывод

сигнал “чтение”

MN/MX

ввод

режим минимального/максимального включения

BHE/SA7

вывод

разрешение передачи по старшей половине канала данных/сигнал состояния

INTA

вывод

подтверждение прерывания

A19-A16/SA6-SA3

вывод

канал адреса/сигналы состояния

ALE

вывод

стробирующий сигнал адреса

DEN

вывод

разрешение передачи данных

DT/R

вывод

выдача/прием данных

M/IO

вывод

память/внешнее устройство

WR

вывод

запись

HLDA

вывод

подтверждение захвата

HLD

ввод

захват

GND

-

общий

U

-

питание +5В

Так как процессор имеет мультиплексированную шину адреса, то для запоминания текущего адреса используются буферные регистры КР580ИР82. Они предназначены для ввода/вывода информации со стробированием.

Рисунок 2.2 - Условное обозначение буферного регистра КР580ИР82.

Наименование

Ввод/вывод

Описание

А0-А7

Вход

Входная линия данных

В0-В7

Выход

Выходная линия данных

STB

Вход

Строб записи

OE

Вход

Выбор микросхемы

GND

-

Общий

Ucc

-

Питание +5В

Как правило, в микропроцессорных системах шина данных МП подключается к шине данных системы через двунаправленные шинные формирователи, позволяющие осуществить доступ к системной шине лишь на определенные короткие промежутки времени. Для этой цели используются схемы КР580ВА86.

Рисунок 2.3 - Условное обозначение буферного регистра КР580ВА86.

Наименование

Ввод/вывод

Описание

А0-А7

Входы/выходы

Шина А

CS

Вход

Разрешение выхода (выбор микросхемы)

GND

Вход

Общий

T

Вход

Направление передачи

B0-B7

Входы/выходы

Шина В

Ucc

-

Напряжение питания +5В

Для реализации ОЗУ использованы микросхемы КР537РУ8. Они имеют емкость равную 32Кбайт, поэтому для получения заданного размера ОЗУ, берутся четыре штуки. Она имеет потребления в 15 mA и корпус BGA-48 TSOP-44 .

Рисунок 2.4- Условное обозначение ОЗУ КР537РУ10.

Наименование

Описание

A0-A10

адресные

DIO0-DIO7

информационные

CS

выбор микросхемы

OE

разрешение выдачи информации

w/r

запись

В качестве ПЗУ были выбраны 3 микросхемы К573РФ4. Эти микросхемы представляют собой ПЗУ с ультрафиолетовым стиранием и электрической записью информации, которая хранится длительное время при отключенном напряжении питания. Микросхема К573РФ4 имеет ёмкость 16 Кбайт с организацией 162848 бит. Выходы и входы этой микросхемы совместимы ТТЛ ИС в режиме считывания и программирования.

Рисунок 2.5- Условное обозначение ПЗУ К573РФ4.

Наименование

Описание

A0-A10

адресные

DIO0-DIO7

информационные

CS

выбор микросхемы

OE

разрешение выдачи информации

w/r

запись

Чтобы сформировать серии синхроимпульсов CLK и PCLK, используемых в системах, построенных на микропроцессорах К1810ВМ86, а так же сформировать сигналы начальной установки RESET и готовности READY для микропроцессора, необходимо использовать генератор тактовых импульсов К1810ГФ84.

Назначение выводов:

Рисунок 2.6 - Условное обозначение генератора тактовых импульсов К1810ГФ84.

Наименование

Описание

X1,X2

выводы подключения резонатора

F/C

выбор источника частоты

EFI

внешняя частота

CSYNC

синхронизация

RDY1, RDY2

сигнал готовности шин 1,2

AEN1, AEN2

адрес готовности шин 1,2

TANK

вывод подключения LC-контура

READY

готовность

OSC

мультивибратор

CLK

тактовый сигнал МОП

PCLK

периферийный тактовый сигнал ТТЛ

RES

сигнал установки

RESET

установка

Работа с УВВ должна вестись в режиме запросов на прерывание. Это требует добавления в систему контролера прерываний. Этот контроллер должен обеспечивать обработку запросов, поступающих от внешних устройств, распределение приоритетов между ними и выдачу МП сигнала запроса на маскируемое прерывание (INT). Будем использовать контроллер прерываний К580ВН59А, предназначенный для работы с МП К1810ВМ86. Установим его в режим полного вложения без каскадирования и без специального маскирования. Таким образом, приоритеты запросов будут совпадать с номерами входов, на которые они поступают, причем приоритет 0 - наивысший.

Назначение выводов:

Рисунок 2.7 - Условное обозначение контроллера прерываний КР580ВН59А

Наименование

Ввод/Вывод

Описание

CS

ввод

выбор микросхемы

WR

ввод

запись

RD

ввод

чтение

D7-D0

ввод/вывод

канал данных (двунаправленный трёхстабильный)

CAS2-CAS0

ввод/вывод

шина каскадирования (двунаправленная трёхстабильная)

GND

-

общий

SP

ввод

выбор ведомой микросхемы

INT

вывод

прерывание

IRQ7-IRQ0

ввод

запрос прерывания

INTA

ввод

подтверждение прерывания

A0

ввод

адресный вход

Ucc

-

напряжение питания

Управляющее слово инициализации OCW1:

Размещено на http://www.allbest.ru

54

Размещено на http://www.allbest.ru

Поскольку для ПКП выбран режим полного вложения и в системе отсутствуют ведомые контроллеры прерываний, настройка ПКП осуществляется единственным словом инициализации ICW1. Оно имеет следующий вид:

ААА1хВСх,

где ААА - старшие разряды номеров векторов прерываний, вызываемых при поступлении запросов от устройств, В - признак способа адресации векторов прерываний (В=1 для 4-байтных векторов), С - признак наличия каскадирования (С=1 для одиночного ПКП). Байт адреса вектора прерывания, выдаваемые ПКП в ответ на второй сигнал INTA МП, будет иметь вид

YYYXXX00,

где YYY - биты ААА из слова инициализации, ХХХ - приоритет текущего устройства, запросившего прерывание, назначаемый ПКП согласно номеру входа, к которому это устройство подключено. Примем ААА=000, назначив тем самым для внешних устройств номера векторов прерываний, совпадающие с номерами входов, к которым они подключены.

Ввод информации осуществляется с 16-клавишной клавиатуры.

Рисунок 2.8 - Условное обозначение 16-разрядной клавиатуры.

Для организации работы с такой клавиатурой выбран программируемый контроллер клавиатуры и индикации КР580ВВ79, причем установлен режим последовательного опроса матрицы клавиш с дешифрацией состояния счетчика сканирования и запрещением ввода двух и более одновременно нажатых клавиш (режим «1»).

Назначение выводов

Рисунок 2.9 - Условное обозначение программируемого контроллера клавиатуры КР580ВВ79

Наименование

Ввод/Вывод

Описание

RET2-RET7, RET0, RET1

Входы

Линии возврата

C

Вход

Синхронизация

INT

Выход

Запрос прерывания

SR

Вход

Установка

RD

Вход

Чтение информации

WR

Вход

Запись информации

D0-D7

Выходы/входы

Канал данных

GND

-

Общий

INS/D

Вход

Команда / данные

CS

Вход

Выбор микросхемы

BD

Выход

Гашение отображения

DSPA3-DSPA0

Выходы

Канал дисплея А

DSPB3-DSPB0

Выходы

Канал дисплея В

S0-S3

Выходы

Линии сканирования

SH

Вход

Сдвиг

CO/STB

Вход

Управление / стробирующий сигнал

Ucc

-

Напряжение сигнала

Размещено на http://www.allbest.ru

54

Размещено на http://www.allbest.ru

Блок интерфейса клавиатуры ПККИ должен работать в режиме последовательного опроса клавиш с дешифрированием состояния счетчика сканирования и запрещением одновременного нажатия нескольких клавиш - в режиме 1. Этот режим устанавливается путем загрузки управляющего слова вида 000хх001, где хх - слово состояния блока индикации. Так как в МП-модуле не предусмотрено наличие индикации, эти разряды управляющего слова не важны и могут принимать любые значения.

На выходах S0-S2 ПККИ выставляется код сканируемой строки матрицы. Этот код с помощью дешифратора 3 в 8 К555ИД7 преобразуется в сигнал опроса матрицы. С выхода матрицы клавиш номер столбца нажатой клавиши поступает на входную шину ПККИ R0-R7. Код нажатой клавишу формируется следующим образом: в разряды D5-D3 помещается номер строки матрицы, в разряды D2-D0 - номер столбца матрицы, в разряд D6 - значение сигнала на входе SHIFT ПККИ, а в разряд D7 - единица, как признак кода КОИ7. Сканирование матрицы клавиш продолжается для того, чтобы определить, является ли нажатая клавиша одиночной.

Стыковка устройств, использующих параллельный интерфейс, осуществляется через адаптер. Таким адаптером служит адаптер параллельного интерфейса КР580ВВ55.

Рисунок 2.10 - Условное обозначение адаптера параллельного интерфейса КР580ВВ55.

Он предназначен для параллельной передачи информации между микропроцессором и периферийными устройствами и содержит три 8-разрядных канала ввода/вывода.

Назначение выводов:

Наименование

Ввод/Вывод

Описание

D0-D7

входы/выходы

шина данных

RESET

вход

сброс; сигнал высокого уровня устанавливает в исходное состояниерегистр управляющего слова; после снятия сигнала RESET выводы портов настраиваются на ввод информации

CS

вход

выбор микросхемы; сигнал низкого уровня подключает выводы КР580ВВ55 к шине данных МП-системы

RD

вход

чтение; низкий уровень-содержимое входного регистра одного из портов выводится на шину данных

WR

вход

запись; низкий уровень - информация с шины данных системы записывается в выходной регистр одного из портов или в регистр управляющего слова

A0-A1

входы

выбор порта или регистра управляющего слова

PA7-PA0

входы/выходы

порт А

PB7-PB0

входы/выходы

порт В

PC7-PC0

входы/выходы

порт С

Формат управляющего слова для ППИ:

Слово состояния ППИ:

ППИ необходимо настроить на синхронный режим обмена, причем порт А и младшая половина порта С должны осуществлять вывод данных, а порт В - ввод. Направление работы старшей половины порта С не важно и может быть любым. Такая настройка ППИ производится путем загрузки управляющего слова следующего формата:

S RR A C r B c,

где S - признак управляющего слова, 1; RR - выбор режима для порта А и старшей половины порта С, 00 - синхронный «режим 0»; А - направление передачи для порта А, 0 - вывод; C - то же для старшей половины порта С (С7-С4), 0 - вывод, 1 - ввод; r - режим работы портов В и младшей части С, 0 - режим «0»; B - направление передачи для порта В, 1 - вывод; c - то же для младшей половины порта С, 0 - вывод. Будем использовать управляющее слово 10000010.

Вывод информации осуществляется с помощью принтера. Основным назначением интерфейса Centronics является подключение к компьютеру принтеров.

Рисунок 2.11 - Условное обозначение принтера.

Назначение выводов:

Наименование

Ввод/Вывод

Описание

/Strobe

вход

Строб данных. Данные фиксируются по низкому уровню сигнала

D [0:7]

выход

Линии данных. Data 0 - младший бит

/Ack

выход

импульс подтверждения приема байта (запрос на прием следующего). Может использоваться для формирования запроса прерывания

BUSY

выход

Занято. Прием данных возможен только при низком уровне сигнала

PE

выход

Высокий уровень сигнализирует о конце бумаги

SEL

выход

Сигнализирует о включении принтера (обычно в принтере соединяется резистором с цепью +5 В)

/AUTOFD

вход

Автоматический перевод строки.

/ERROR

выход

Ошибка: конец бумаги, состояние OFF-Line или внутренняя ошибка принтера

/INIT

вход

Инициализация (сброс в режим параметров умолчания, возврат к началу строки)

/SELIN

вход

Выбор принтера (низким уровнем). При высоком уровне принтер не воспринимает остальные сигналы

интерфейса

GND

-

Общий

Процедура вывода начинается с проверки наличия подготовленных данных. Если данных нет, процедура вывода завершается, иначе происходит выдача очередного байта на принтер. В начале необходимо считать и проанализировать слово состояния принтера, произведя цикл чтения из внешнего устройства - порта В ППИ КР580ВВ55. Слово состояния принтера формируется из пяти сигналов от параллельного интерфейса LPT: сигналы низкого активного уровня ACK(«подтверждение приема») и ERROR (признак неготовности в связи с ошибкой), а также сигналы высокого активного уровня BUSY («принтер занят», появляется при ошибке, отключении принтера или обработке выводимых данных), PE(«закончилась бумага») и SEL («готовность приемника», обычно активен постоянно). Принтер готов при ACK=ERROR=SEL=1, BUSY=PE=0. Анализ слова состояния повторяется до обнаружения состояния готовности принтера к приему данных. Затем необходимо произвести три цикла записи во внешнее устройство, в первом из которых в порт А ППИ сохраняется первый байт выводимой информации, а во втором и третьем - в порт С записываются управляющие слова. Управляющее слово для принтера состоит из значений 4 сигналов: STROBE (строб записи данных), INIT (инициализация /сброс принтера), SELIN (выбор принтера), AUTOFD (перевод каретки на новую строку). Первое у.с. устанавливает сигнал строба (активный - низкий уровень), а второе - снимает. По завершении обработки принтер через параллельный порт LPT выдает сообщение о готовности к приему очередной порции данных в виде сигнала низкого уровня ACK.

2.2 Описание распределения адресного пространства

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

Процессор КР1810ВМ86 формирует адрес путем суммирования базового адреса сегмента кодов CS, сдвинутого влево на 4 разряда, со значением программного счетчика IP. Сразу после прекращения действия на входе МП сигнала RESET СS устанавливается в FFFFFh, а IP принимает значение 00000h. Таким образом, адрес первой команды, считываемой МП, равен FFFF0h. Значит ПЗУ необходимо разместить в старшей области памяти. Учитывая то, что размер ПЗУ по заданию составляет 48 Кбайт, назначим для ПЗУ непрерывную область адресов с F4000h до FFFFFh.

Для простоты дешифрации адресa ОЗУ назначим в младшей области, начиная с 00000h. Размер ОЗУ - 128 Кбайт - указывает его верхнюю адресную границу - 1FFFFh.

Разрядность шины данных МП - 16 бит, однако МП К1810ВМ86 может адресовать как 16-битные слова, так и отдельные байты. Поэтому ОЗУ и ПЗУ конструктивно выполняются в виде пар 8-битных банков. Выбор банков памяти происходит по младшему биту адреса А0 и сигналу BHE таким образом, что сигнал низкого уровня на линии А0 задействует младший банк, а на линии ВНЕ - старший (логический ноль на обеих линиях подключает оба банка одновременно).

/BHE

A0

Вид передачи данных

0

0

Передаётся 16-ти битное слово

0

1

Передается старший байт AD8-AD15

1

0

Передается младший байт AD0-AD7

1

1

Ннет обращения

Таким образом, для дешифрации адресов ОЗУ и ПЗУ используются адресные линии А19, А18 и А17 так, что при низком уровне на этих линиях выбирается ОЗУ, а при высоких - ПЗУ.

Значение адресов портов не критично в логической модели МП-модуля, а потому будем назначать их исходя из удобства дешифрации. Всего устройств, подлежащих адресации в качестве портов, в спроектированном МП-модуле три. Размер адресного слова портов МП КР1810ВМ86 - 16 бит. Это позволяет производить выбор устройств непосредственно одним из адресных битов без предварительной дешифрации.

Отведем три младших бита адреса на адресацию внутри самого устройства, а биты адреса, начиная с 3-го, будем использовать для выбора отдельных устройств. Назначим 3-й бит для выбора БИС ППИ КР580ВВ55, 4-й - ПКП КР580ВН59А и 5-й - для ПККИ КР580ВВ79.

Таким образом, адреса портов будут следующими:

0008h - порт А ППИ;

0009h - порт В ППИ;

000Аh - порт С ППИ;

000Bh - регистр управляющего слова ППИ;

0010h, 0011h - регистры управляющих слов ПКП;

0020h - данные для ПККИ:

0021h - регистр управляющего слова ПККИ.

2.3 Описание функционирования принципиальной схемы

Два основных режима работы МП-модуля - это ввод и вывода информации с УВВ. Можно выделить подрежимы чтения/записи из памяти и портов в качестве логически завершенных процедур, входящих в каждый из основных режимов.

Регистры-защелки КР580ИР82, формирующие шину адреса, функционируют одинаково во всех циклах работы МП-модуля. Вывод OE заземлен, поэтому данные переписываются со входа буферного регистра на его выход сразу же по поступлению. Строб записи STB указывает на то, что на входе БР находятся необходимая информация. При высоком уровне STB данные на выходной шине DO совпадают с данными на входной шине DI. По заднему фронту STB выходная шина DO «защелкивается», сохраняя текущее значение до следующего изменения.

Два шинных формирователя КР580ВА86 используются для формирования шины данных МП-модуля. На вход Т указания направления передачи в начале цикла шины МП поступает сигнал IP/OP (DT/R), задающий направление передачи данных: с шины А на шину В при Т=1, и с В на А при Т=0. На вход разрешения выдачи данных на выходную шину OE микропроцессором подается сигнал DEN низкого уровня в тот момент, когда мультиплексированная шина данных/адреса МП используется в качестве шины данных.

Чтение памяти

В течение всего цикла чтения памяти МП на выходе M/IO поддерживается высокий уровень сигнала, а на выходе IP/OP (DT/R) - низкий. В такте Т1 на шины адреса/данных и адреса/состояний выдается адрес ячейки памяти или слова. В момент выдачи адреса при обращении к старшему байту или ко всему слову на выводе МП ВНЕ появляется сигнал низкого уровня. По заднему фронту импульса ALE в этом такте происходит фиксация адреса в буферных регистрах. В такте Т2 шина адреса/данных переходит в высокоимпедансное состояние, а на шине адреса/состояния появляются сигналы слова состояния машинного цикла. После этого на выводе RD появляется сигнал низкого уровня, использующийся в СФУС для формирования сигнала чтения из памяти MEMR. Сигнал DEN низкого уровня разрешает выдачу информационных сигналов с шинных формирователей. В начале такта Т3 шина адреса/данных переключается на ввод информации. В тактах Т3 и Т4 данные должны поступать на шину данных МП-модуля и, через шинные формирователи, на выводы А0-А15 МП. В конце такта Т3 снимаются сигналы RD и DEN, затем в середине такта Т4 - сигнал DT/R, а в конце такта Т4 вывод M/IO переходит в третье состояние.

СФУС формирует сигнал чтения из памяти MEMR при высоком уровне на выходе M/IO и низком - на выходе RD. Этот сигнал имеет низкий активный уровень и подается на вход WE микросхем ОЗУ и на вход СS микросхем ПЗУ. По сигналу MEMR выбранные микросхемы памяти выставляют на шину данных значение адресуемой ячейки.

Запись в память

Цикл шины МП при записи информации в память, как и все циклы чтения/записи, длится 4 такта. Признаком записи в память служат сигналы высокого уровня на выводах DT/R и M/IO в течение всего цикла. В такте Т1 на 20-разрядную шину адреса МП выставляется адрес записываемого слова, и, в случае обращения к старшему байту или ко всему слову, сигнал на выводе ВНЕ принимает значение логического нуля. Одновременно с этим на выводе ALE появляется сигнал строба записи адреса в буферные регистры, по заднему фронту которого адрес и значение сигнала ВНЕ сохраняется на шине адреса МП-модуля. По переднему фронту тактирующего импульса Т2 на шину адреса/данных выдаются данные для записи, а на шину адреса/состояния - сигналы состояния машинного цикла. На выходе WR появляется сигнал низкого уровня, используемый для формирования в СФУС сигнала записи в память MEMW. Появляющийся на выходе DEN сигнал низкого уровня разрешает выдачу слова данных на выходную шину шинных формирователей, т.е. переписывает сигналы данных с шины адреса/данных МП на шину данных МП-модуля. Сигналы WR и DEN в цикле записи поддерживаются дольше по сравнению с аналогичными сигналами RD и DEN в цикле чтения и снимаются в середине такта Т4, обеспечивая таким образом надежную запись информации. Одновременно с сигналом DEN снимается также сигналы DT/R и M/IO.

СФУС формирует сигнал MEMW записи в память при наличии высокого уровня на выходе M/IO и низкого - на выходе WR. Этот сигнал имеет высокий активный уровень и подается на вход WE микросхем ОЗУ. По сигналу MEMW выбранные микросхемы ОЗУ сохраняют значения с шины данных в адресуемую ячейку памяти.

Чтение/запись УВВ

Циклы шины МП при чтении и записи информации из внешних устройств аналогичны циклам при чтении и записи памяти с той разницей, что на выходе M/IO поддерживается низкий уровень сигнала, используемый СФУС для формирования сигнала чтения из внешнего устройства IOR.

Ввод данных

Ввод данных осуществляется с клавиатуры по запросу на прерывание. За формирование запроса отвечает ПККИ КР580ВВ79. Опишем алгоритм его работы в выбранном режиме. На выходах S0-S2 ПККИ выставляется код сканируемой строки матрицы. Этот код с помощью дешифратора 3 в 8 К555ИД7 преобразуется в сигнал опроса матрицы. С выхода матрицы клавиш номер столбца нажатой клавиши поступает на входную шину ПККИ R0-R7. Код нажатой клавишу формируется следующим образом: в разряды D5-D3 помещается номер строки матрицы, в разряды D2-D0 - номер столбца матрицы, в разряд D6 - значение сигнала на входе SHIFT ПККИ, а в разряд D7 - единица, как признак кода КОИ7. Сканирование матрицы клавиш продолжается для того, чтобы определить, является ли нажатая клавиша одиночной. Если других нажатых клавиш не обнаружено, происходит повторная проверка нажатия клавиши через 10,24 мс. Если клавиша замкнута, ее код записывается в ОЗУ ПККИ. Если при сканировании обнаружены другие замкнутые клавиши, схема продолжает сканирование матрицы до тех пор, пока не останется нажатой только 1 клавиша. Ее код и помещается в ОЗУ ПККИ. Как только в ОЗУ ПККИ обнаруживается хотя бы один код нажатой клавиши, формируется запрос на прерывание IRQ. При каждом считывании из ОЗУ ПККИ на выходе IRQ появляется сигнал низкого уровня, а затем, если очередь кодов нажатых клавиш в ОЗУ еще не пуста сигнал IRQ снова становится активным.

Запрос на прерывание IRQ от ПККИ поступает на вход IR(1) ПКП КР580ВН59А. ПКП формирует сигнал запроса на прерывание INT высокого уровня, подаваемый на вход INTR маскируемого запроса на прерывание МП К1810ВМ86. Для подтверждения запросов по этому входу МП требуется два цикла шины аналогичных циклу чтения. Отличием является то, что на выходе INTA появляется сигнал низкого уровня, подобный сигналу RD. По второму сигналу INTA ПКП выдает на шину данных байт-идентификатор устройства, пославшего запрос. Затем процессор производит два цикла чтения из памяти по адресу, полученному от ПКП, и следующему за ним. Считанные слова загружаются в программный счетчик PС и регистр кодового сегмента CS соответственно. Новый адрес является начальным адресом программы обслуживания прерывания.

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

Вывод данных

Вывод данных в проектируемом МП-модуле осуществляется по запросу на прерывание. Однако выбранное устройство вывода (принтер) не может самостоятельно инициировать режим вывода данных. Переход в этот режим осуществляется программно из подпрограммы обслуживания прерывания от клавиатуры. Процедура вывода начинается с проверки наличия подготовленных данных. Если данных нет, процедура вывода завершается, иначе происходит выдача очередного байта на принтер. В начале необходимо считать и проанализировать слово состояния принтера, произведя цикл чтения из внешнего устройства - порта В ППИ КР580ВВ55. Слово состояния принтера формируется из пяти сигналов от параллельного интерфейса LPT: сигналы низкого активного уровня ACK(«подтверждение приема») и ERROR (признак неготовности в связи с ошибкой), а также сигналы высокого активного уровня BUSY («принтер занят», появляется при ошибке, отключении принтера или обработке выводимых данных), PE(«закончилась бумага») и SEL («готовность приемника», обычно активен постоянно). Принтер готов при ACK=ERROR=SEL=1, BUSY=PE=0. Анализ слова состояния повторяется до обнаружения состояния готовности принтера к приему данных. Затем необходимо произвести три цикла записи во внешнее устройство, в первом из которых в порт А ППИ сохраняется первый байт выводимой информации, а во втором и третьем - в порт С записываются управляющие слова. Управляющее слово для принтера состоит из значений 4 сигналов: STROBE (строб записи данных), INIT (инициализация /сброс принтера), SELIN (выбор принтера), AUTOFD (перевод каретки на новую строку). Первое у.с. устанавливает сигнал строба (активный - низкий уровень), а второе - снимает. По завершении обработки принтер через параллельный порт LPT выдает сообщение о готовности к приему очередной порции данных в виде сигнала низкого уровня ACK. Этот сигнал подается через инвертор на вход IR(0) ПКП. Обслуживание прерывания происходит по описанной ранее схеме. В результате МП снова переходит к выполнению программы вывода данных.

3. Описание программного обеспечения МП-модуля

3.1 Обоснование алгоритма программного обеспечения

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

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

Процедура самотестирования является обычной для любого вычислительного устройства и проводится по универсальным алгоритмам. Так, необходимо проверить работоспособность основных функциональных узлов модуля - его памяти и АЛУ процессора.

Так как при проектировании МП-модуля не стоит задача разносторонней и исчерпывающей проверки правильности функционирования всех его узлов, ограничимся для МП программой тестирования сумматора и сдвигателя его АЛУ.

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

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

Если проверка пройдена успешно, можно говорить о работоспособности всего МП-модуля (за исключением интерфейсных узлов).

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

В разрабатываемом модуле в инициализации нуждаются 3 устройства: ПКП, ППИ и ПККИ.

Поскольку для ПКП выбран режим полного вложения и в системе отсутствуют ведомые контроллеры прерываний, настройка ПКП осуществляется единственным словом инициализации ICW1. Оно имеет следующий вид:

ААА1хВСх,

где ААА - старшие разряды номеров векторов прерываний, вызываемых при поступлении запросов от устройств, В - признак способа адресации векторов прерываний (В=1 для 4-байтных векторов), С - признак наличия каскадирования (С=1 для одиночного ПКП). Байт адреса вектора прерывания, выдаваемые ПКП в ответ на второй сигнал INTA МП, будет иметь вид

YYYXXX00,

где YYY - биты ААА из слова инициализации, ХХХ - приоритет текущего устройства, запросившего прерывание, назначаемый ПКП согласно номеру входа, к которому это устройство подключено. Примем ААА=000, назначив тем самым для внешних устройств номера векторов прерываний, совпадающие с номерами входов, к которым они подключены.

ППИ необходимо настроить на синхронный режим обмена, причем порт А и младшая половина порта С должны осуществлять вывод данных, а порт В - ввод. Направление работы старшей половины порта С не важно и может быть любым. Такая настройка ППИ производится путем загрузки управляющего слова следующего формата:

S RR A C r B c,

где S - признак управляющего слова, 1; RR - выбор режима для порта А и старшей половины порта С, 00 - синхронный «режим 0»; А - направление передачи для порта А, 0 - вывод; C - то же для старшей половины порта С (С7-С4), 0 - вывод, 1 - ввод; r - режим работы портов В и младшей части С, 0 - режим «0»; B - направление передачи для порта В, 1 - ввод; c - то же для младшей половины порта С, 0 - вывод. Будем использовать управляющее слово 10000010.

Блок интерфейса клавиатуры ПККИ должен работать в режиме последовательного опроса клавиш с дешифрированием состояния счетчика сканирования и запрещением одновременного нажатия нескольких клавиш - в режиме 1. Этот режим устанавливается путем загрузки управляющего слова вида 000хх001, где хх - слово состояния блока индикации. Так как в МП-модуле не предусмотрено наличие индикации, эти разряды управляющего слова не важны и могут принимать любые значения.

После окончания инициализации узлов МП-модуль переходит в нормальный режим функционирования. Однако, согласно заданию, ввод и вывод информации осуществляются по запросу на прерывание, то есть, на данном этапе МП бездействует, ожидая поступления запроса на прерывание от внешних устройств. Процессор переводится в состояние «останов».

Из этого состояния МП-модуль выходит при поступлении запроса на прерывание, сформированного контроллером клавиатуры. В таком случае, МП переходит к обработке программы ввода данных. Считанный из ПККИ номер нажатой клавиши анализируется. Два номера закреплены за программами обработки и печати введенных данных. Пусть это будут номера 64 и 63.

Рисунок 4.2 Алгоритм программы ввода данных

Размещено на http://www.allbest.ru

54

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

54

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

54

Размещено на http://www.allbest.ru

Рисунок 4.7 Алгоритм процедуры тестирования ПЗУ

3.2 Описание программы

Известно, что первую команду МП К1810ВМ86 считывает из ячейки адреса с номеров FFFF0h. Однако до верхнего предела ПЗУ в таком случае остается лишь 16 адресов. Этого недостаточно для размещения ПО модуля, а потому разместим в памяти по адресу FFFF0h команду безусловного перехода на начало программы, составляющей ПО МП-модуля.

Первой вызывается процедура инициализации и тестирования МП-модуля. В ней можно выделить несколько подпрограмм: тест АЛУ, тест ПЗУ, тест ОЗУ и собственно начальная инициализация МП-модуля.

Сумматор АЛУ проверяется путем сравнения результата выполнения сложения загруженных констант с известным результатом. При этом константы поочередно загружаются во все РОН, где над ними и выполняются операции сложения и сравнения.

Программа тестирования ПЗУ вычисляет контрольную сумму значений всех его ячеек и сравнивает ее с заранее известным значением.

Так как размер ОЗУ выходит за пределы одного логического сегмента, для полного прохода всех ячеек недостаточно изменять только 16-рязрядное смещение. Условно разобьем ОЗУ на два банка - младший (00000h - 0FFFFh) и старший (10000h - 1FFFFh) и будем проводить процедуру тестирования для каждого из барков. Тестирование представляет собой последовательную запись и контрольное считывание из ячеек памяти двух констант - 055h и 0AAh (0101b и 1010b).

В качестве обработчиков ошибок тестирования выступают подпрограммы вывода на печать условного кода произошедшей ошибки.

При удачном завершении тестирования МП-модуль переходит к программе начальной инициализации.

Для корректной работы модуля необходимо сформировать таблицу векторов прерываний. Эта таблица хранится в памяти, начиная с адреса 00000h и может иметь размер до 1 Кбайта. У МП К1810ВЬ86 имеется пять жестко определенных видов прерываний:

1) прерывание ошибки деления на ноль (вектор 00000h),

2) прерывание пошагового режима (вектор 00004h),

3) немаскируемое прерывание (вектор 00008h),

4) прерывание 3 (вектор 0000Сh),

5) прерывание по переполнению (вектор 00010h).

Вектора прерываний с 6 по 32 (вектора 00012h - 0007Ch) отводятся под системные программы, а остальные 224 - для пользовательских приложений. При поступлении запроса на прерывание на вход INTR МП выполняет те же действия, что и при интерпретации встреченной команды INT_v, где v - номер возникшего прерывания. Арес перехода на вектор прерываний, из которого будут загружены новые значения сегментного регистра команд и программного счетчика, вычисляется МП следующим образом:

PP = 14h + v*4,

где РР - адрес вектора прерываний, v - аргумент команды INT.

Так как в МП-модуле не предусмотрено никаких действий при возникновении прерываний 1-5, будем в таких случаях сбрасывать МП-модуля в начальное состояние. Для этого инициализируем эти векторы адресом первой ячейки памяти - FFFF0h.

Вектора прерываний от УВВ содержат адреса переходов на процедуры ввода и вывода соответственно.

Сегменты данных (ds и es) размещаются в ОЗУ сразу по окончании таблицы векторов прерываний, занимающей 28 байт. Сегмент стека во избежание перекрывания с сегментами данных расположен в области старших адресов ОЗУ и имеет базовый адрес 10000h и начальное смещение FFFЕh.

Программируемые БИС инициализируется загрузкой специальных слов состояния, описанных ранее.

В конце программы инициализации массив введенных данных объявляется пустым (смещение на последний элемент совпадает с началом сегмента данных), разрешаются прерывания по входу INTR и МП переводится в режим «останов».

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

4. Анализ функционирования МП-модуля с использованием временных диаграмм

Исходя из значений номинальных временных задержек, приведенных в справочниках, и согласно алгоритмам работы микросхем составим временные диаграммы функционирования МП-модуля в режимах ввода и вывода данных. Ввод или вывод данных микропроцессором К1810ВМ86 производится за один четырехтактный машинный цикл. Быстродействие всех остальных элементов модуля должно быть таким, чтобы не нарушать машинный цикл МП.

Проанализируем пригодность выбранных элементов для работы с МП К1810ВМ86.

Тактовая частота МП К1810ВМ86 - 5МГц. Это значит, что длительность одного такта машинного цикла составляет 0,2 мс или 200 нс.

Цикл чтения

Из временных диаграмм видно, что критичным в этом цикле является время выставления данных на шину данных/адреса МП: с момента появления на его выходах сигналов низкого уровня RD и DEN и до момента их снятия. Эти сигналы поддерживаются на выходах МП в течение полутора тактов, т.е. около 300 нс. До этого момента адрес на шине адреса МП-модуля находился также не менее 300 нс, чего вполне достаточно для формирования сигналов выбора микросхем.

Сигнал чтения памяти формируется с помощью 2 микросхем простой логики, общая задержка на которых не превышает 40 нс. Задержка с момента получения сигнала чтения памяти до момента появления на выводах модуля значений выбранной ячейки для ОЗУ составляет 55 нс, а для ПЗУ - 100нс.

Задержка вывода шинного формирователя из третьего состояния составляет 10..130 нс.

Таким образом, в предельном случае данные поступят на шину адреса/данных через 140 нс, что вполне приемлемо.

Цикл записи

Сигналы WR и DEN в этом цикле держаться дольше относительно аналогичных сигналов RD DEN в цикле записи, - примерно 2 полных такта. Это позволяет производить успешную запись даже в относительно медленные внешние устройства.

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

Ввод данных

Вывод данных

Заключение

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

На основе задания и поставленных целей, была описана структура будущего модуля и построена его функциональная схема. Это позволило провести более детальный анализ, результатом которого стала разработка принципиальной схемы МП-модуля.

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

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

Полученный модуль является готовым устройством и может быть применен в качестве устройства управления и обработки информации.

Приложения

Приложение А

Текст программного обеспечения МП-модуля на языке ассемблера

0 ; по адресу ffff0h находится команда call far test

1 ; остальной код - последовательно, начиная с адреса f4000h.

2 datasg segment para 'data' ; определение данных

3 equ ROM F400h ;базовый адрес начала ПЗУ

4 equ RAMEND 1FFFh ;база адреса конца ОЗУ(верхняя граница ОЗУ-1FFFFh)

5 equ CONST1 10101010h ;константы тестирования ОЗУ

6 equ CONST2 01010101h

7 equ PICW 00010110b ;управляющее слово для ПКП

8 equ PPIW 10000010b ;УС для ППИ

9 equ LPTW1 00001010b ;УС для принтера

10 equ LPTW2 00001111b ;УС для принтера

11 equ PKDIW 00000001b ;УС для ПККИ

12 equ PPIA 08h ;адреса портов ППИ - А

13 equ PPIB 09h ;В

14 equ PPIC 0Ah ;С

15 equ PPIR 0Bh ;регистр упр. слова ППИ

16 equ PKDID 020h ;регистр данных ПККИ

17 equ PKDIR 021h ;регистр слова состояния ПККИ

18 equ PICR1 010h ;регистры ПКП

19 equ PICR2 011h

20 controlsum db ? ;переменная для эталонной контр. суммы ПЗУ

21 datasg ends

22 codesg segment para 'code'

23 init proc far ; программа инициализации при включении

24 call test ; тест АЛУ

25 call test_rom ; тест ПЗУ

26 call test_ram ; тест ОЗУ


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.