Микропроцессорная система и ее основные элементы

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    204,2 Кб
  • Опубликовано:
    2014-07-03
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Микропроцессорная система и ее основные элементы

Оглавление

 

1. Задание к курсовому проекту

2. Общая структура системы

3. Формирование сигнала выбора модуля

4. Структура памяти

5. Организация ввода/вывода

5.1 Организация ПДП

5.2 Организация программируемого интервального таймера

5.3 Система прерываний

5.4 Реализация аппаратных интерфейсов вычислительных систем

6. Программное обеспечение

6.1 Начальная инициализация системы

6.2 Инициализация программируемых БИС

6.2.1 Программируемый контроллер ПДП

6.2.2 Программируемый интервальный таймер

6.2.3 Программируемый адаптер последовательного интерфейса

6.2.4 Программируемый контроллер прерываний

6.3 Подпрограммы обработки прерываний

7. Список используемой литературы

Приложение

1. Задание к курсовому проекту


В курсовом проекте необходимо разработать микропроцессорную систему (МПС) на основе однокристального 8-разрядного микропроцессора КР580ВМ80А. Основные характеристики системы заданы в таблице 1.

Таблица 1. Основные характеристики

1

Тип процессора

 КР580ВМ80А

2

Объем памяти ОЗУ

32К

3

Тип и организация БИС ОЗУ

СОЗУ 32Кх8

4

Объем памяти ПЗУ

32 К

5

Тип и организация БИС ПЗУ

РПЗУ с УФ 8Кх8

6

Контроль на паритет ОЗУ, контрольная сумма ПЗУ

Нет

7

Контроллер ДОЗУ

Нет

8

Количество цифровых входов

8-разрядный порт ППИ, режим 0

9

Количество цифровых выходов

8 БР

10

Аппаратная реализация системы прерывания

3 БИС КПР

11

Порядок обслуживания прерываний

Фиксированный

12

Канал ПДП

КПДП

13

Последовательный канал

2 БИС ПСА

14

Таймер/счетчик

есть


Способы обмена (организация ВВ)

Программный ввод-вывод, ПДП, режим прерываний


Тип интерфейса

RS-232C


Контроль на паритет

есть


Характеристики аналогового канала

8-разрядный АЦП


2. Общая структура системы


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

1   Блок процессора;

2   Схема начальной установки и формирования сигналов выбора устройств

3   устройство памяти для хранения программ и массивов данных, включающее в себя ОЗУ и ПЗУ;

4   устройства ввода - вывода, служащие для обмена информацией с ВУ.

5   для формирования временных интервалов используется программируемый интервальный таймер.

Центральным процессорным элементом является микропроцессор КР580ВМ80А.

Функциональное назначение выводов МП следующее:

А0 - А15 Выходы для вывода 16 разрядов адреса

GND Общий

D0 - D7 Вход. /выход. Двунаправленная шина данных.

RESET Вход. Установка в начальное состояние.

HOLD Вход запроса ПДП.

INT Вход запроса прерывания.

С1, С2 Вход тактовых сигналов.

INTE Выход разрешения прерываний.

DBIN Выход приема информации.

WR Выход выдачи информации.

SYNС Выходной сигнал синхронизации.

HLDA Выход. Подтверждение запроса ПДП.

RDY Вход. Сигнал готовность.

Интерфейс однокристального МП не обеспечивает его непосредственного соединения с системной магистралью. Для построения законченного модуля ЦП требуются дополнительные схемы: генератор тактовых импульсов (DD3), системный контроллер (DD2), буферные регистры (DD6, DD7).

Обслуживание входов С1, С2, READY, RESET взяла на себя микросхема КР580ГФ28 генератора тактовых импульсов. Выходной сигнал SYNC вводит синхронизацию его работы.

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

Контакты HOLD и HLDA служат для перевода системы в режим ПДП.

Сигналы DBIN, WR поступают на системный контроллер на микросхеме КР580ВК28 для формирования системных управляющих сигналов, таких как чтение из памяти (MEMR), запись в память (MEMW), ввод информации (I/OR), вывод информации (I/OW), подтверждение прерывания (INTA).

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

В этой схеме с помощью дополнительных элементов задаются следующие условия работы. Во-первых, тактовая частота генератора задается внешним кварцевым резонатором ZQ1 (конденсатор С2 корректирующий, подавляющий высокочастотные составляющие). Во-вторых, предполагается, что внешние устройства и память при обмене данными с микропроцессором не требуют тактов ожидания, т.е. могут работать также быстро, как и процессор, поэтому вход готовности RDYIN генератора тактовых импульсов, а через него и микропроцессора, соединен с источником питания +5В.

Резистор R2 ограничивает входной ток. Цепочка С1, R1 - типовая схема формирования импульса сброса нулевого уровня при замыкании ключа S1. Диод VD1 предохраняет вход ИС генератора от паразитных отрицательных импульсов, возникающих при переключении S1.

Системный контроллер помимо управляющих сигналов формирует и системную шину данных. Формирование системных (магистральных) шин необходимо потому, что нагрузочная способность выходов микропроцессора мала (2-3 входа ТТЛ-элемента). С целью увеличения нагрузочной способности шины адреса, считая, что проблему с шиной данных решает системный контроллер, в схему дополнительно вводят буферы (регистры или шинные формирователи) адреса.

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

3. Формирование сигнала выбора модуля


Для дешифрации портов ввода-вывода используется ИС дешифратора 4-х разрядного кода (линии А4-А7) в активный низкий уровень на одной из 16-и выходных линий. Разрешение дешифрации возможно при обращении МП к портам ввода/вывода (низкий уровень на линиях IOR, IOW), а также при отсутствии цикла ПДП (низкий уровень на линии AEN).

Назначение сигналов CS на выходах дешифратора ВУ приведены в таблице 2.

Таблица 2 "Назначение сигналов ВУ"

Устройство

Регистр устройства

Номер порта

Адресные линии

Сигнал выбора устройства




A7

A6

A5

A4

A3

A2

A1

A0


КПР1

ICW1, OCW1

00h

0

0

0

0

0

0

0

0

CSINT1


ICW2, OCW2, OCW3

01h

0

0

0

0

0

0

0

1


КПР2

ICW1, OCW1

10h

0

0

0

1

0

0

0

0

CSINT2


ICW2, OCW2, OCW3

11h

0

0

0

1

0

0

0

1


КПР3

ICW1, OCW1

20h

0

0

1

0

0

0

0

0

CSINT3


ICW2, OCW2, OCW3

21h

0

0

1

0

0

0

0

1


КПДП

Рг. адреса канал 0

30h

0

0

1

1

0

0

0

0

CSDMA


Рг. счетчика циклов канал 0

31h

0

0

1

1

0

0

0

1



Рг. адреса канал 1

32h

0

0

1

1

0

0

1

0



Рг. счетчика циклов канал 1

33h

0

0

1

1

0

0

1

1



Рг. адреса канал 2

34h

0

0

1

1

0

1

0

0



Рг. счетчика циклов канал 2

35h

0

0

1

1

0

1

0

1



Рг. адреса канал 3

36h

0

0

1

1

0

1

1

0



Рг. счетчика циклов канал 3

37h

0

0

1

1

0

1

1

1



Рг. управляющего слова

38h

0

0

1

1

1

0

0

0


Таймер-счетчик

Канал 0

40h

0

1

0

0

0

0

0

0

CSPIT


Канал 1

41h

0

1

0

0

0

0

0

1



Канал 2

42h

0

1

0

0

0

0

1

0



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

43h

0

1

0

0

0

0

1

1


УСАПП1

Регистр данных

50h

0

1

0

1

0

0

0

0

CSPCA1


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

51h

0

1

0

1

0

0

0

1


УСАПП2

Регистр данных

60h

0

1

1

0

0

0

0

CSPCA2


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

61h

0

1

1

0

0

0

0

1


ППИ

Порт А

70h

0

1

1

1

0

0

0

0

CSPPI


Порт В

71h

0

1

1

1

0

0

0

1



Порт С

72h

0

1

1

1

0

0

1

0



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

73h

0

1

1

1

0

0

1

1


АЦП

Регистр данных АЦП

80h

1

0

0

0

0

0

0

0

CSAD



4. Структура памяти


Проектирование подсистемы памяти следует начинать с сопоставления объемов заданной памяти и размеров адресного пространства, прямо доступного из микропроцессора КР580ВМ80А. Объем этого адресного пространства определяется разрядностью программного счетчика, оно фиксировано и равно 64К. Если объем физически реализуемой памяти не превышает 64К, то дополнительных схемных решений для расширения адресного пространства не потребуется. Кроме того, следует учесть, что в задании часто указаны и адресные диапазоны, в которых должны быть размещены оперативная и постоянная память. Карта распределения памяти приведена на рисунке 3.


Согласно заданию объем оперативной памяти 32 Кb, объем ПЗУ 32 Kb. Данный объем памяти необходимо отобразить в адресное пространство в 64Kb. Адресное пространство процессора разделено на две части по 32 Kb для каждого типа памяти. Линия А15 осуществляет выбор памяти, к которой происходит обращение (RAM или ROM).

Для реализации ПЗУ объёмом 32 Кбайт используется 4 микросхемы M2732AF1 с организацией 8К х 8.

Оперативное запоминающие устройство объёмом 32 Кбайта выполнено на одной микросхем3 i51256 S/L с организацией 32К x 8.

5. Организация ввода/вывода


5.1 Организация ПДП


ПДП используется при обмене данных между внешними устройствами и основной памятью. Для организации режима ПДП используется контроллер ПДП КР580ВТ57, регистр фиксации старшего байта адреса К580ИР82.

Основные возможности КПДП КР580ВТ57:

·        Контроллер подключает 4 внешних устройства

·        Независимо программируются 4 канала обмена

·        Имеет фиксированные приоритеты обслуживания

·        Размер передаваемых данных 16Кбайт

·        Прямо доступно 64Кб памяти

Программно можно установить 3 режима: чтения, записи и верификации.

Контроллер построен по n-МДП технологии, имеет источник питания +5В. При программировании на входы RD и WR поступают сигналы IOR и IOW от системного контроллера. Линии A0-A3 используются для адресации внутренних регистров контроллера в режиме программирования и для выдачи соответствующих разрядов адреса в режиме ПДП.

При поступлении запроса на ПДП от внешнего устройства на вход контроллера, он выдает сигнал запроса HOLD, идущий к процессору. Процессор, получив этот запрос, переходит в режим ПДП, сообщая об этом сигналом HLDA. После этого, контроллер выдает на шину данных старшую часть адреса для области обмена и фиксирует ее в буферном регистре (КР580ИР82) сигналом ADSTB, после чего выдает сигнал AEN=1, который переводит выходы шинных формирователей в Z-состояние. Инверсный сигнал AEN (BUSEN) разрешает выдачу 8-и старших разрядов адреса буферным регистром на шину адреса. Далее контроллер работает в обычном режиме.

Программирование контроллеров ПДП осуществляется через порт с базовыми адресами 00h (линии A3-A0 отвечают за внутреннюю адресацию контроллера). Интерфейс с внешними устройствами представляет собой набор линий: запросов ПДП от внешнего устройства (DRQ0 - DRQ3) и сигнала готовности от внешнего устройства (READY), сигналов подтверждения (DACK0-DACK3), выходного сигнала последнего цикла (ТС), сигнала 128 байта (MARC), сигналов IOW и IOR, а также шины данных (D0 - D7). Все эти линии выведены на разъем Х5.

 

5.2 Организация программируемого интервального таймера


В качестве системного таймера-счетчика используется программируемый интервальный таймер КР580ВИ53. Микросхема выполнена по n-МОП технологии и имеет единственный источник питания +5В.

В состав БИС входят три 16-разрядных вычитающих счетчика. Связь ПИТ с микропроцессором осуществляется через двунаправленную 8-разрядную шину данных под управлением сигналов A0, A1, CSPIT, IOR и IOW. Перед началом работы каждый счетчик должен быть инициализирован посылкой слова состояния. Каждое слово состояния, за исключением операции защелки, сопровождается 1-2 байтами данных начального состояния счетчика. После этого начинается счет.

Входы GATE1. GATE0 подключены к источнику питания +5В. Канал 0 ПИТ используется как генератор синхроимпульсов для УСАПП 1, канал 1 используется как генератор синхроимпульсов для УСАПП 2. Канал 2 может использоваться программистом для различных целей. Для этого выходы ПИТ GATE2 и OUT2 выведены на разъем XS1.

5.3 Система прерываний


Источники запросов прерываний IRQ0-IRQ5 заняты системой:

IRQ0

Запрос на прерывание от УСАПП по окончанию передачи

IRQ1

Запрос на прерывание от внешнего устройства

IRQ2

Запрос на прерывание от АЦП (конец преобразования)

IRQ5

Запрос на прерывание от УСАПП по окончанию приема

IRQ6

Запрос на прерывание от внешнего устройства

IRQ7

Запрос на прерывание от внешнего устройства


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

Временная диаграмма контроллера прерываний:


5.4 Реализация аппаратных интерфейсов вычислительных систем


Разрабатываемая схема содержит последовательный канал интерфейс RS-232С. Этот интерфейс построен на базе микросхемы КР580ВВ51. Эта микросхема предназначена для аппаратной реализации последовательного канала связи между процессором и внешним устройством (ВУ), способным поддерживать протокол обмена данными в последовательном коде с УСАПП.

Микросхема КР580ВВ51 принимает параллельный код от микропроцессора, преобразует его в последовательный поток данных с присоединением служебными битами и передает его в линию связи, а также выполняет обратное преобразование: принимает последовательный поток данных из линии связи и преобразует его в параллельный 8-разрядный код, одновременно выполняя ряд функций по контролю над правильностью приема данных. Программирование БИС позволяет выбирать один из режимов работы: синхронный или асинхронный, а также установить скорость передачи/приема, контроль на чётность (нечетность) и другие параметры работы.

В разрабатываемой микропроцессорной системе УСАПП программируется на асинхронный режим со скоростью передачи 1: 1, длиной символа 8 бит, с контролем на четность и числом стоп-битов, равным 2.

Назначение сигналов интерфейса RS-232 приведено в таблице:

Сигнал

N контакта

Направление

Назначение

CD

1

вход

Обнаружение несущего сигнала

RxD

2

вход

Данные, принимаемые компьютером в последовательном коде (логика отрицательная)

TxD

3

выход

Данные, передаваемые компьютером в последовательном коде (логика отрицательная)

DTR

4

выход

Готовность терминала

SG

5

-

Общий сигнал

DSR

6

вход

Готовность данных к передаче

RTS

7

выход

Сигнал запроса передачи

CTS

8

вход

Готовность внешнего устройства к приему

RI

9

вход

Индикатор вызова


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

5.5 Организация аналоговых каналов

Система имеет два 8-и разрядных АЦП, организованных на базе микросхем 12-и разрядного АЦП К572ПВ1, операционного усилителя К553УД2 (DA1), 8-и разрядного буферного регистра КР580ИР82.

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

На Рисунке 7 приведена схема включения 8 - разрядного АЦП. Для управления буферными регистрами введен дополнительный дешифратор, управляемый сигналами CSADC с основного дешифратора внешних устройств и IOR с выхода системного контроллера, а также адресной линией АB0. Дешифратор позволяет получить два дополнительных адреса для буферных регистров и требуется в тех случаях, когда у основного дешифратора ВУ нет свободных выходов (адресов) для выбора буферных регистров АЦП.

Запуск АЦП производится из программы при выполнении команды OUT port. В адресной части команды указывается адрес АЦП, назначенный устройству при составлении таблицы адресов ВУ. Внешний сигнал запуска АЦП по входу STB формируется схемой 2И-НЕ, на входы которой подаются сигналы CSADC (от дешифратора ВУ) и IOW (от системного контроллера). На вход тактовых импульсов STB преобразователя подаются синхроимпульсы микропроцессорной системы, которые формируются, например, программируемым интервальным таймером.

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

Рисунок 7 - Схема включения 8 - разрядного АЦП.

6. Программное обеспечение


6.1 Начальная инициализация системы


Программа в ПЗУ рассчитана на то, что после сброса системы выполнение начинается с адреса 0000h. Программа инициализирует все устройства системы на установки, описанные ниже, устанавливает отображение первой страницы в окно ОЗУ (нулевая страница всегда отображена в память), устанавливает таблицу прерываний, вершину стека и инициализирует системные переменные. Инициализация заканчивается переходом на адрес С000h.

Адрес

Метка

Мнемокод

Комментарий

0000


JUMP Start

Перейти к командам инициализации

0350

Start:

DI

Запретить прерывания

0351


LXI SP, 87FFh

Загрузить вершину стека

0354


MVI A,00h

Задаем страницу ОЗУ

0356


OUT A, 00h


0358


CALL Test_ROM

Вызвать процедуру тестирования ПЗУ

035B


CALL Test_RAM

Вызвать процедуру проверки ОЗУ

035E


CALL Init

Вызвать процедуру инициализации контроллеров

0362


CALL Polling

Вызвать подпрограмму обмена данными в режиме программного ввода/вывода

0365


EI


 

6.2 Инициализация программируемых БИС


0016

Init:

CALL DMA_INIT

Вызвать процедуру инициализации КПДП

 

0019


CALL PIT_INIT

Вызвать процедуру инициализации ПИТ

 

001C


CALL PCA_INIT

Вызвать процедуру инициализации УСАПП

 

001F


CALL PPI_INIT

Вызвать процедуру инициализации ППИ

 

0022


CALL KPR_INIT

Вызвать процедуру инициализации КПР

 

0025


MVI H, 98

Инициализация счетчиков памяти для

 

0027


MVI L, 02

для вывода данных ЦАП1 и ЦАП2


MVI L, 02


0029


SHLD 9800





002B


MVI H, A0





002C


SHLD A000





0020


RET






6.2.1 Программируемый контроллер ПДП

Контроллер ПДП имеет четыре канала, каждый из которых содержит 16-битный регистр адреса, 14-битный счетчик и 2-битный регистр режима канала.

Формат регистра режима.

D7

D6

D5

D4

D3

D2

D1

D0

AL

TCS

EW

RP

EN3

EN2

EN1

EN0

EN3. EN0 -

разрешение работы каналов 0.3

RP -

задает приоритет обслуживания каналов, RP = 1 - циклический приоритет, RP = 0 - фиксированный приоритет

EW -

бит расширенной записи

TCS -

бит задания режима КС-счета, TCS = 0 - нормальное завершение режима ПДП, TCS = 1 - после завершения режима ПДП по обслуживанию канала i соответствующий бит ENi сбрасывается в 0

AL -

бит установки режима автозагрузки. AL = 1 - автоматически устанавливаются параметры режима канала 2 из параметров режима канала 3


Формат регистра состояния контроллера

D7

D6

D5

D4

D3

D2

D1

D0

-

-

-

OF

TC3

TC2

TC1

TC0

TC3. TC0 -

окончание счета каналов 0.3

OF -

бит модификации для режима автозагрузки



Начальная инициализация контроллера ПДП

Адрес

Метка

Мнемокод

Комментарий

0030

DMA_INIT:

MVI A, 00h

Записать 00h в аккумулятор

0032


OUT 60h

Запретить работу всех каналов КПДП

0034


MVI A, low_addr_0

В А - младший байт начального адреса канала 0

0036


OUT 61h

Записать его в ПДП

0038


MVI A, hi_addr_0

В А - старший байт начального адреса канала 0

003A


OUT 61h

Записать его в ПДП

003C


MVI A, low_count_0

В А - младший байт счетчика адреса канала 0

003E


OUT 62h

Записать его в ПДП

0040


MVI A, hi_count_0

В А - старший байт счетчика адреса канала 0

0042


OUT 62h

Записать его в ПДП

Аналогично для канала 1, 2 и 3

0074


MVI A, 0Fh

Записать в А инструкцию режима КПДП

0076


OUT 60h

Установить режим КПДП

0078


RET



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

 

6.2.2 Программируемый интервальный таймер

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

Режим 0 - Прерывание по окончанию счета.

Режим 1 - Генератор одиночного импульса.

Режим 2 - Генератор прямоугольных импульсов.

Режим 3 - Генератор меандра.

Режим 4 - Одиночный программно-стробируемый сигнал.

Режим 5 - Одиночный аппаратно-стробируемый сигнал.

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

D7

D6

D5

D4

D3

D2

D1

D0

SC1

SC0

RL1

RL0

M2

M1

M0

BCD

BCD -

BCD = 0 - двоичный счет, BCD = 1 - двоично-десятичный счет

M2. M0 -

номер режима

RL1. RL0 -

тип операции: 00 - защелкивание, 01 - чтение/запись только младшего байта, 10 - чтение/запись только старшего байта, 11 - чтение/запись сначала младшего, затем старшего байтов

SC1. SC0 -

номер канала: 00 - счетчик 0, 01 - счетчик 1, 10 - счетчик 2, 11 - запрещенная комбинация


Канал 0 и 1 используются как генератор частоты для ПСА. Он программируется в режим 2. Зададим на канале 0 частоту 4800, а на канале 1 - 9600. Коэффициенты счета получим равные 416 и 208

Адрес

Метка

Мнемокод

Комментарий

PIT_INIT:

MVI A, 34h

В РУС - канал 0, режим 0, двоичный счет, задание

0082


OUT 33h

и младшего и старшего байтов

0086


MVI A, A0h

Запись мл. байта коэффициента пересчета

0088


OUT 30h

в канал 0

008A


MVI A, 01h

Запись ст. байта коэффициента пересчета

008C


OUT 30h

в канал 0

008E


MVI A, 54h

В РУС - канал 1, режим 2, двоичный счет, задание

0090


OUT 33h

только младшего байта

0092


MVI A, D0h

Запись коэффициента пересчета в канал 1

0094


OUT 31h


009E


RET




6.2.3 Программируемый адаптер последовательного интерфейса

Программирование программируемого адаптера последовательного интерфейса осуществляется в несколько этапов:

.        Инструкция управления с кодом 40h - программный сброс.

2.      Инструкция режима - определяет основные параметры режима обмена данными.

.        Инструкция управления - определяет дополнительные условия, сопровождающие процесс обмена.

Формат инструкции режима

D7

D6

D5

D4

D3

D2

D1

D0

ST1

ST0

P1

P0

L1

L0

DR1

DR0

DR1. DR0 -

Режим работы: 00 - синхронный режим, 01 - асинхронный 1: 1, 10 - асинхронный 1: 16, 11 - асинхронный 1: 64

L1. L0 -

Длина символа: 00 - 5 бит, 01 - 6 бит, 10 - 7 бит, 11 - 8 бит.

P0 -

1 - разрешить контроль на паритет, 0 - запретить контроль на паритет

P1 -

1 - контроль на четность, 0 - контроль на нечетность

ST1. ST0 -

Число стоп-бит в асинхронном режиме: 00 - запрещенная комбинация, 01 - 1 стоп-бит, 10 - 1,5 стоп-бита, 11 - 2 стоп-бита


Формат инструкции управления

D7

D6

D5

D4

D3

D2

D1

D0

EH

IR

RTS

ER

SBRK

RxE

DTR

TxE

TxE -

Бит разрешения работы передатчика

DTR -

Управление выходом DTR

RxE -

Бит разрешения работы приемника

SBRK -

0 - нормальный режим работы - при отсутствии передачи на выходе передатчика 1, 1 - при отсутствии передачи на выходе передатчика 0

ER -

Бит сброса триггеров ошибок: 1 - сбросить триггер ошибок, 0 - сохранить триггер ошибок

RTS -

Управление выходом RTS

IR -

Установка программного сброса

EH -

Устанавливается в синхронном режиме работы: 1 - поиск синхроимпульсов, 0 - поиска синхроимпульсов нет


В разрабатываемой микропроцессорной системе ПСА программируется на асинхронный режим со скоростью передачи 1: 1, длиной символа 8 бит, с контролем на четность, числом стоп-битов, равным 2.

Адрес

Метка

Мнемокод

Комментарий

0100

PCA_INIT:

DI

Запретить прерывания

0101


MVI A, 40h

Программный сброс контроллера

0103


OUT 41h


0105


OUT 51h


0107


MVI A, FDh

Запись в ПСА инструкции режима

0109 010B


OUT 41h OUT 51h


010D


MVI A,17h

Запись в ПСА инструкции управления

010F 0111


OUT 41h OUT 51h


0113


MVI H, A8

Инициализация счетчиков памяти для

0115


MVI L, 02

Ввода и вывода информации контроллеров

0117


SHLD A800


011A


MVI H, B0


011С


SHLD B000


011F


MVI H, B8


0121


SHLD B800


0124


MVI H, C0


0126


SHLD C000


0129


EI

Разрешить прерывания

0130


RET



6.2.4 Программируемый контроллер прерываний


Перечень прерываний, обслуживаемых контроллером, имеет вид:

Номер прерывания


Устройство, от которого поступает запрос на прерывание

IRQ0

IRDRAM

Запрос на ошибку ОЗУ

IRQ1

IRT1

Запрос на прерывание от УСАПП по окончанию передачи

IRQ2

IRR1

Запрос на прерывание от УСАПП по окончанию приема

IRQ3

IRT2

Запрос на прерывание от УСАПП по окончанию передачи

IRQ4

IRR2

Запрос на прерывание от УСАПП по окончанию приема

IRQ6, IRQ5, IRQ7


Запрос на прерывание от внешнего устройства


При инициализации контроллера задаются расположение таблицы прерываний, размер одной ячейки в таблице прерываний, количество контроллеров прерываний в системе. При программировании примем, что в системе один контроллер прерываний, размер одной ячейки в таблице прерываний 4 байта и таблица прерываний расположена по адресам 0140h - 015Fh. Таблица прерываний имеет вид:

Адрес

Метка

Мнемокод

Комментарий

0140


JMP IRDRAM

Переход на обработчик прерывания IRQ0

0144


JMP IRT1

Переход на обработчик прерывания IRQ1

0148


JMP IRR1

Переход на обработчик прерывания IRQ2

014C


JMP IRT2

Переход на обработчик прерывания IRQ3

0150


JMP IRR2

Переход на обработчик прерывания IRQ4

0154


JMP IRQ5

Переход на обработчик прерывания IRQ5

0158


JMP IRQ6

Переход на обработчик прерывания IRQ6

015C


JMP IRQ7

Переход на обработчик прерывания IRQ7


Программирование контроллера выполняется последовательностью управляющих слов двух типов: командами инициализации ICW и командами управления OCW.

Команды начальной установки ICW1 и ICW2 переводят БИС КПР в состояние готовности к обработке запросов прерываний. Инициализация контроллера начинается с записи в него команды ICW1. Формат команды ICW1:

A0

D7

D6

D5

D4

D3

D2

D1

D0

0

A7

A6

A5

1

0

ADI

SNGL

0


Разряд D1 (SNGL) программирует число контроллеров в системе. При D1=1 контроллер один, в противном случае - несколько (до 8), и для начальной установки необходима команда ICWЗ.

Разряд D2 (АDI) задает адресный интервал в таблице обработчика прерываний. Если D2=1, то интервал равен четырем, а при D2=0 - восьми.

Положение таблицы прерываний в адресном пространстве произвольно и задается при программировании в разрядах D7-D5 команды ICW1 и команды ICW2, содержащей старший байт адреса таблицы.

A0

D7

D6

D5

D4

D3

D2

D1

D0

1

A15

A14

A13

А12

А11

А10

А9

А8


Команды ICW1 и ICW2 сбрасывают в ноль все разряды IRR и IMR, устанавливают приоритеты для входов IRQ0. IRQ7 (IRQ0 - высший приоритет, IRQ7 - низший приоритет) и определяют начальный адрес подпрограммы, обслуживающей прерывания по входу IRQ0. Адреса обработчиков прерываний по входам IRQ1-IRQ7 автоматически задаются смещением (сдвигом) относительно начала таблицы.

Адрес

Метка

Мнемокод

Комментарий

0160

_INIT:

DI

Запретить прерывания

0161


MVI A, 56h

Инициализация КПР:

0163


OUT 10h

задать один КПР, ячейка таблицы

0165


MVI A,00000001b

прерываний 4 байта, адрес таблицы прерываний

0167


OUT 11h

равен 0140h

0169


MVI A, 10100000b

Установка циклического сдвига прерываний

016B


OUT 10h


016D


MVI A,00h

Разрешить все прерывания

016F


OUT 11h


0171


EI

Разрешить прерывания

0172


RET



Разрешение и запрещение прерываний может осуществляться программой пользователя по необходимости.

6.3 Подпрограммы обработки прерываний


По окончанию передачи данных от первого УСАПП вызывается обработчик прерывания IRT1.

Адрес

Метка

Мнемокод

Комментарий

01DD

IRT1:

DI

Запрет прерываний

01DF


PUSH PSW


01E0


LHLD A800h

Читаем след. для записи адрес

01E3


LDAX H

Заносим в аккумулятор байт для передачи

01E4


OUT 40h

Передаем новый байт в буфер УСАПП

01E6


INX H

Инкрементируем адрес

01E7


MVI A, AFh

Проверка на конец блока данных

01E9


CMP H


01EA


JNZ ENDIRT1


01ED


MVI A, FFh


01EF


CMP L


01F0


JNZ ENDIRT1


01F3


MOV H, A8h

Переходим в начало блока

01F5


MOV L, 02h


01F7

ENDIRT1

SHLD A800h

Сохраняем значение следующего адреса

01FA


MVI A, 20h


01FC


OUT A0h


01FE


POP PSW


01FF


EI


0200


RET



По окончанию приема данных от первого УСАПП вызывается обработчик прерывания IRR1.

Адрес

Метка

Мнемокод

Комментарий

0202

IRT1:

DI

Запрет прерываний

0203


PUSH PSW


0204


LHLD B800h

Читаем след. для записи адрес

0207


IN 40h

Читаем новый байт в буфер УСАПП

0209


STAX H

Сохраняем бит в памяти

020A


INX H

020B


MVI A, ВFh

Проверка на конец блока данных

020D


CMP H


020E


JNZ ENDIRR1


0211


MVI A, FFh


0213


CMP L


0214


JNZ ENDIRR1


0217


MOV H, B8h

Переходим в начало блока

0219


MOV L, 02h


021B

ENDIRR1

SHLD B800h

Сохраняем значение следующего адреса

021E


MVI A, A0h


0220


OUT 10h


0222


POP PSW


0223


EI


0224


RET



По окончанию передачи данных от второго УСАПП вызывается обработчик прерывания IRT2.

Адрес

Метка

Мнемокод

Комментарий

0227

IRT2:

DI

Запрет прерываний

0228


PUSH PSW


0229


LHLD B000h

Читаем след. для записи адрес

022С


LDAX H

Заносим в аккумулятор байт для передачи

022D


OUT 50h

Передаем новый байт в буфер УСАПП

022F


INX H

Инкрементируем адрес

0230


MVI A, B7h

Проверка на конец блока данных

0232


CMP H


0232


JNZ ENDIRT2


0235


MVI A, FFh


0237


CMP L


0238


JNZ ENDIRT2


023A


MOV H, B0h

Переходим в начало блока

023C


MOV L, 02h


023E

ENDIRT2

SHLD B000h

Сохраняем значение следующего адреса

0241


MVI A, А0h


0243


OUT 10h


0245


POP PSW


0246


EI


0247


RET



По окончанию приема данных от второго УСАПП вызывается обработчик прерывания IRR1.

Адрес

Метка

Мнемокод

Комментарий

024A

IRT1:

DI

Запрет прерываний

024B


PUSH PSW


024C


LHLD C000h

Читаем след. для записи адрес

024F


IN 50h

Читаем новый байт в буфер УСАПП

0251


STAX H

Сохраняем бит в памяти

0252


INX H

Инкрементируем адрес

0253


MVI A, C7h

Проверка на конец блока данных

0255


CMP H


0256


JNZ ENDIRR1


0259


MVI A, FFh


025B


CMP L


025C


JNZ ENDIRR1


025F


MOV H, C0h

Переходим в начало блока

0261


MOV L, 02h


0263

ENDIRR1

SHLD B800h

Сохраняем значение следующего адреса

0266


MVI A, A0h


0268


OUT 10h


026A


POP PSW


026B


EI


026C


RET




7. Список используемой литературы


1. Александров К.К., Кузьмина Е.Г. Электрические схемы и чертежи. - М.: Энергоатомиздат, 1990. - 288 с.

. Зорин А.Ю. Условные графические изображения на электрических схемах / под. ред. А.И. Питолина. М.: Издательский дом МЭИ, 2007. - 74 с.

. Гук М. Аппаратные интерфейсы ПК. Энциклопедия. - СПб.: Питер, 2003. - 528 с.

. Ключев А.О., Ковязина Д.Р., Петров Е.В., Платунов А.Е. Интерфейсы периферийных устройств. - СПб.: СПбГУ ИТМО, 2010. - 290 с.

Приложение


Похожие работы на - Микропроцессорная система и ее основные элементы

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!