Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SDU_kursovoy_proekt_Merkulov_gotov_33__33.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.21 Mб
Скачать

4. Расчет нагрузочной способности шин

Информация, которую выдаёт микропроцессор на ШД и ША может предназначаться нескольким различным устройствам, подключённым к этим шинам. Однако выходы микропроцессора допускают потребление небольшого тока, подключённого к нагрузкам. Значение тока при высоком напряжении на выходе: |I1вых| не более 0.1 мкА, а при низком напряжении на выходе: |I0вых| не более 1.6 мкА. Это соответствует возможности подключения к микропроцессору не более одного входа ТТЛ микросхемы.

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

Шинный формирователь реализован на микросхеме К580ВА86. Условное графическое обозначение микросхемы К580ВА86 представлено на рис.4.1.

Рис. 4.1 Условное графическое обозначение микросхемы К580ВА86

Назначение выводов: 1,2,3,4,5,6,7,8-вход/выход А; 9-вход разрешения выхода ОЕ; 11-вход направления передачи; 12,13,14,15,16,17,18,19-вход/выход В.

5. Разработка принципиальной схемы

Принципиальная схема микроконтроллера приведена на рисунках 5.1 и 5.2; 2.2 и 2.4 и состоит соответственно из следующих частей:

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

  2. Подсистема памяти, включающая в себя ПЗУ и ОЗУ (рисунки 2.2 и 2.4)

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

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

DD1 - К580ГФ24 Тактовый генератор

DD2 - К580ВМ80А Микропроцессор

DD3- К155ИР13 Регистр

DD4.1-DD4.2 - К580ВА86 Шинный формирователь

DD5 – К555ИД3 – Дешифратор адреса

DD6.1-DD6.2 - К556РТ4 ПЗУ

DD7.1-DD7.8 – К565РУ2 ОЗУ

DD8 – К580ВВ51 Канал последовательного ввода-вывода

DD9 – К580ВВ55 Модуль параллельного ввода-вывода

DD10 – К580ВН59 Программируемый контроллер прерываний

DD11 – RS232C Интерфейс, физическая линия типа стык С2

DD12 - К580ВИ53 Программируемый интервальный таймер

DD13.1-DD13.2- К155ЛН1 Инвертор

DD14.1-DD14.3 - К155ЛА8 И-НЕ

6. Программы настройки периферийных бис

Для настройки портов, необходимо задать режимы их работы, а также указать вершину стека. В программе необходимо использовать управляющие слова (УС), составленные по условию задания.

Программа начальной инициализации устройств ввода/вывода:

Инициализация вершины стека:

0000 LXI SP,5001

0001

0002

Инициализация ВВ55 (Параллельный интерфейс):

0003 MVI A, С2; Запись УС в аккумулятор

0004

0005 STA 4003: Запись УС в порт 55 из микропроцессора (А)

0006

0007

Инициализация ВВ51 (Последовательный интерфейс):

0008 MVI A,11: Запись УС в аккумулятор

0009

000A STA 3001: Запись УС в порт 51 из микропроцессора

000B

000C

Инициализация ВН59 (Контроллер прерываний):

000D MVI 16; Управляющее слово IRQ0

000E

000F STA 5001;

0010

0011

0012 MVI 00; Старший байт адреса

0013

0014 STA 5001;

0015

0016

Инициализация ВИ53 (Интервальный таймер)

Настройка первого счётчика

0017 MVI A, 36; Запись УС в аккумулятор (А)

0018

0019STA 2003; Запись УС в регистр управляющего слова (РУС) из МК

001A

001B

001C MVI A, CA; Загрузка в “А” младшего байта коэффициента пересчёта N

001D

001E STA 2000; Запись младшего байта в счётчик 0

001F

0020

0021 MVI A, 01; Загрузка в “А” старшего байта коэффициента пересчёта N

0022

0023 STA 2000; Запись старшего байта в счётчик 0

0024

0025

0026 RET; Выход из подпрограммы

Настройка второго счётчика( СТ1)

0027 MVI A, 70; Запись УС в аккумулятор (А)

0028

0029 STA 2003; Запись УС в регистр управляющего слова (РУС) из МК

002A

002B

002C MVI A, CA; Загрузка в “А” младшего байта коэффициента пересчёта N

002D

002E STA 2001; Запись младшего байта в счётчик 1

002F

0030

0031 MVI A, 01; Загрузка в “А” старшего байта коэффициента пересчёта N

0032

0033 STA 2001; Запись старшего байта в счётчик 1

0034

0035

0036 RET; Выход из подпрограммы

Настройка третьего счётчика (СТ2)

0037 MVI A, BА; Запись УС в аккумулятор (А)

0038

0039 STA 2003; Запись УС в регистр управляющего слова (РУС) из МК

003A

003B

003C MVI A, CA; Загрузка в “А” младшего байта коэффициента пересчёта N

003D

003E STA 2002; Запись младшего байта в счётчик 2

003F

0040

0041 MVI A, 01; Загрузка в “А” старшего байта коэффициента пересчёта N

0042

0043 STA 2002; Запись старшего байта в счётчик 2

0044

0045

0046 RET; Выход из подпрограммы

Примечания:

Формирование УС для параллельного порта производим в соответствии с заданием:

Режим работы канала А: режим 1;

Направление передачи данных через канал А: вывод ;

Режим работы канала В: режим 0;

Направление передачи данных через канал В: ввод;

Оптронная развязка в канале С – не используется;

Направление передачи данных через канал C: нет;

УС имеет восемь разрядов: D0 – D7.

- Разряд D7 определяет либо установку режимов работы каналов (D7=1), либо работу порта в режиме сброса/установки отдельных разрядов канала С (D7=0).

- Разряды D6, D5 определяют режим работы канала А:

№ реж.

D5

D6

Режим 0

0

0

Режим 1

0

1

Режим 2

1

0

- Разряд D4 определяет направление передачи данных через канал А:

D4=0 – вывод;

D4=1 – ввод.

- Разряд D3 определяет направление передачи в канале С в режиме 0:

D3=0 – вывод;

D3=1 – ввод.

- Разряд D2 определяет режим работы канала В:

D2=0 – режим 0;

D2=1 – режим 1.

- Разряд D1 определяет направление передачи данных через канал В:

D1=0 – вывод;

D1=1 – ввод.

- Разряд D0 определяет направление передачи данных через канал C в режиме 0:

D1=0 – вывод;

D1=1 – ввод.

Так как канал С для передачи данных не используется то D3=0, D0=0.

Тогда в соответствии с исходными данными управляющее слово имеет следующий вид:

D7

D6

D5

D4

D3

D2

D1

D0

1

1

0

0

0

0

1

0

Или С2 в шестнадцатеричной системе.

2. Формирование УС для последовательного порта производим в соответствии с заданием:

Режим работы синхронный;

Количество битов данных: 5;

Коэффициент деления частоты синхронизации: нет;

Количество стоповых битов: нет.

Режим контроля: по нечетности.

УС имеет восемь разрядов: D0 – D7.

- Разряды D7, D6 определяют число передаваемых стоп-битов.

Запрет

1

1,5

2

0

0

1

1

0

1

0

1

- Разряды D5, D4 определяют режим контроля:

1

0

Х

D5

1

1

0

D4

Четность

Нечетность

Нет

контроля

- Разряды D3, D2 определяют число битов данных:

0

1

0

1

D2

0

0

1

1

D3

5

6

7

8



- Разряды D1, D0 определяют три разновидности асинхронного режима по частоте сигналов синхронизации ( с частотой сигналов синхронизации 1/16 и 1/64 частоты синхронизации):

1

0

1

D0

0

1

1

D1

1/1

1/16

1/64


Тогда в соответствии с исходными данными управляющее слово имеет следующий вид:

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

1

0

0

0

1

Или 11 в шестнадцатеричной системе.

3. Формирование УС для программируемого контроллера прерываний производим в соответствии с заданием:

Режим работы: по опросу;

Расстояние между адресами соседних векторов прерывания: 8 адресов;

Для инициализации программируемого контроллера прерываний последовательно вводятся команды ICW1 и ICW2. Формат команды ICW1:

D7

D6

D5

D4

D3

D2

D1

D0

A7

A6

A5

1

0

F

S

0


Разряд S этой команды определяет наличие одного или нескольких программируемых контроллеров прерываний в системе, а разряд F (формат) – адресный интервал в 4 или 8 байт между начальными адресами подпрограмм обслуживания прерываний. Разряды А7 – А5 команды ICW1 используются для формирования младшего байта адресов подпрограмм обслуживания прерываний.

Получаем:

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

1

0

1

1

0


Или 16 в шестнадцатеричной системе.

4. Формирование управляющих слов для интервального таймера( для настройки каждого счетчика) производим в соответствии с заданием:

Режим работы канала 0: 3;

1: 0;

2: 5;

УС имеет восемь разрядов: D0 – D7.

- Разряды D7, D6 определяют номер счетчика.

D7

D6

0

0

Cч. 0

0

1

Сч. 1

1

0

Сч. 2

1

1

Запрет

- Разряды D5, D4 задают последовательность записи и считывания содержимого счетчика:

D5

D4

0

0

Фиксация счетчика

0

1

Только младший байт

1

0

Только старший байт

1

1

Оба байта

- Разряды D3, D2, D1 задают режим работы счетчика:

0

0

0

Режим 0

0

0

1

Режим 1

0

1

0

Режим 2

0

1

1

Режим 3

1

0

0

Режим 4

1

0

1

Режим 5

1

1

0

Режим 2

1

1

1

Режим 3



- Разряд D0 определяет вид используемого кода: D0=0 – двоичный, D0=1 – двоично-десятичный;

Мы программируем три счетчика. Так как синхронизация приемника (последовательный порт) производится от интервального таймера (канал 2) , а скорость передатчика 1200 бод, то коэффициент пересчета N (программируемый таймер генерирует периодический сигнал с частотой, в N раз меньшей частоты тактовых импульсов CLK).

Так как частота кварцевого резонатора 10 МГц, то сигнал CLK имеет частоту в 9 раз меньше, то есть 1,1 МГц. Тогда N=CLK/1200; N=926 или 39Е в шестнадцатеричной системе (загружаются оба байта в УС). Остальные каналы запрограммируем тоже для N=1666. С учетом вышесказанного формируем управляющие слова:

Канал 0:

D7

D6

D5

D4

D3

D2

D1

D0

0

0

1

1

0

1

1

0

Или 36 в шестнадцатеричной системе.

Канал 1:

D7

D6

D5

D4

D3

D2

D1

D0

0

1

1

1

0

0

0

0

Или 70 в шестнадцатеричной системе.

Канал 2:

D7

D6

D5

D4

D3

D2

D1

D0

1

0

1

1

1

0

1

0

Или BА в шестнадцатеричной системе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]