Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Shamrov_M_I_Telnov_G_G_Organizatsia_ustroystv_na_baze_protsessorov_maloy_razryadnosti

.pdf
Скачиваний:
58
Добавлен:
28.03.2016
Размер:
2.27 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– 80 –

 

 

 

 

 

 

 

 

 

 

 

+5В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

правый нижний

 

 

 

8

 

 

 

 

 

 

 

 

 

правая клавиша

 

 

 

.

 

.

 

.

 

.

 

.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

.

 

.

 

.

 

.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

.

 

.

 

.

 

.

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SA

 

 

 

 

 

 

 

ПС

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

платы

левый верхний

1

 

 

1

 

1

 

1

 

1

 

 

левая клавиша

1

 

 

 

 

 

 

 

 

 

 

 

 

схема

 

ППИ

B1

B2

B3

B4

B5

B6

B7

C0

C1

C2

C3

C4

C5

C6

C7

A0

A1

A2

A3

A4

A5

A6

A7

 

 

 

В+5

Функциональная

 

1

 

 

2

 

3

 

4

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

 

 

 

1

2

3

4

5

6

7

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D0

D1

D2

D3

D4

D5

D6

D7

 

 

 

 

 

A0

A1 CS

 

 

 

 

RD

WR

RES

 

 

 

 

 

27.

 

1

2

1 3

2 4

3 5

4 6

5 7

6 8

7

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.

 

 

 

D0

D1

D2

D3

D4

D5

D6

D7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПЗУ

 

 

 

 

 

 

 

 

 

 

2K x 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

CS

OE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

&

 

 

 

 

 

 

1

2

3

4

5

6

7

8

9

10

11

 

 

1 2 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

6

7

8

9

10

11

 

 

 

 

 

1

2

3

4

5

6

7

8

 

 

 

 

 

 

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

A13

A14

A15

D0

D1

D2

D3

D4

D5

D6

D7

MRDC

IORC

IOWC

RESET

 

– 81 –

;

 

ASEG

 

 

АДРЕСА ПОРТОВ ППИ

;ПОРТ ВВОДА

0000

PORTA

EQU

0

0001

PORTB

EQU

1

;ПОРТ ВЫВОДА

0002

PORTC

EQU

2

;ПОРТ ВЫВОДА

0003

PORTW

EQU

3

;ПОРТ УПРАВЛ.

;АДРЕСА БУФЕРОВ СТРОК МАТРИЦЫ СВЕТОДИОДОВ

;

(1 – ВЕРХНЯЯ; 5 – НИЖНЯЯ)

0801

LINE1

EQU

0801H

;СТРОКА 1

0802

LINE2

EQU

0802H

;СТРОКА 2

0803

LINE3

EQU

0803H

;СТРОКА 3

0804

LINE4

EQU

0804H

;СТРОКА 4

0805

LINE5

EQU

0805H

;СТРОКА 5

;ПОДПРОГРАММА ЧТЕНИЯ ПОРТА ВВОДА

;И ОТОБРАЖЕНИЯ СОСТОЯНИЯ КЛАВИАТУРЫ

;НА ВСЕ СТРОКИ МАТРИЦЫ СВЕТОДИОДОВ

8000

CD 54 80

CONTROL:

ORG

8000H

CALL

INIT

8003

CD 65 80

LOOP:

CALL

LIGHT

8006

DB 00

 

IN

PORTA

8008

2F

 

CMA

LINE1

8022

32 01 08

 

STA

8025

32 02 08

 

STA

LINE2

8028

32 03 08

 

STA

LINE3

802B

32 04 08

 

STA

LINE4

802E

32 05 08

 

STA

LINE5

8031

C3 03 80

 

JMP

LOOP

Рис. 28. Текст резидентных подпрограмм платы ПС (начало)

82 –

;ПОДПРОГРАММА ОБНУЛЕНИЯ БУФЕРОВ СТРОК

;И НАСТРОЙКИ ППИ

8054

21

01

08

INIT:

ORG

8054H

LXI

H,LINE1

8057

1E

05

 

NEXT:

MVI

E,5

8059

36

00

 

MVI

M,0

805B

23

 

 

 

INX

H

805C

1D

59

80

 

DCR

E

805D

C2

 

JNZ

NEXT

8060

3E

90

 

 

MVI

A,90H

8062

D3

03

 

 

OUT

PORTW

8064

C9

 

 

 

RET

 

;ПОДПРОГРАММА ИНДИКАЦИИ НА МАТРИЦЕ СВЕТОДИОДОВ

;ЗНАЧЕНИЙ, НАХОДЯЩИХСЯ В БУФЕРАХ СТРОК

8065

21

01

08

LIGHT:

LXI

H,LINE1

8068

06

FE

 

LIGHT1:

MVI

B,0FEH

806A

CD 75 80

CALL

LGHT

806D

23

 

 

 

INX

H

806E

7D

 

 

 

MOV

A,L

806F

FE 06

80

 

CPI

6

8071

C2

6A

 

JNZ

LIGHT1

8074

C9

 

 

LGHT:

RET

A

8075

AF

 

 

XRA

8076

2F

02

 

 

CMA

PORTC

8077

D3

 

 

OUT

К8079

78

01

 

 

MOV

A,B

807A

D3

 

 

OUT

PORTB

807C

07

 

 

 

RLC

B,A

807D

47

 

 

 

MOV

807E

7E

 

 

 

MOV

A,M

807F

2F

02

 

 

CMA

PORTC

8080

D3

 

 

OUT

8082

3E

FF

 

DELAY:

MVI

A,0FFH

8084

3D

84

80

DCR

A

8085

C2

 

JNZ

DELAY

8088

C9

 

 

 

RET

 

 

 

 

 

 

END

 

Рис. 28. Текст резидентных подпрограмм платы ПС (окончание)

83 –

6.5.Изучение работы ППИ в режимах 0 и 1

сиспользованием платы М2

ПОДГОТОВКА К РАБОТЕ

1.С использованием настоящего учебного пособия изучить способы настройки и функционирование ППИ в режимах 0 и 1.

2.По настоящему учебному пособию изучить особенности включения ППИ на плате М2.

3.Подготовить программу для организации вывода через ППИ в режиме 0. Для этого по варианту задания из табл. 9 построить временную диаграмму двух периодических сигналов на выходах А0 и А1 канала A ППИ в соответствии с рис. 29. Сигналы должны иметь одинаковый период Т и заданные коэффициенты заполнения k (часть периода, в которой сигнал равен единице), сигнал А1 должен запаздывать относительно сигнала А0 на промежуток времени Т / n. Написать и закодировать программу, осуществляющую циклическую выдачу этих сигналов на выводы соответственно А0 и А1 ППИ в режиме 0. Команды, осуществляющие настройку ППИ на режим, должны находиться вне цикла выдачи данных. Требуемые задержки реализовать программным способом (целесообразно организовать для этого подпрограмму). Считать, что длительность такта равна 600 нс.

4.Подготовить программу для организации вывода через ППИ в режиме 1. Программа должна настроить канал А ППИ на вывод в режиме 1, разрешить выдачу сигнала запроса на прерывание (INTR) от канала А и осуществлять в цикле выдачу через канал А двоичного кода номера варианта. Команды, осуществляющие настройку ППИ на режим и разрешающие выдачу сигнала запроса на прерывание, должны находиться вне цикла

– 84 –

выдачи данных. Для организации вывода через ППИ в режиме 1 необходим сигнал подтверждения приема данных периферийным

устройством. В качестве сигнала подтверждения ( ACK ) использовать разряд РС4, настроенный на вывод в режиме 0. Определить порядок снятия временных диаграмм сигналов

готовности ППИ ( OBF ), подтверждения от периферийного

устройства ( ACK ) и запроса на прерывание (INTR) от канала А ППИ. Особое внимание обратить на необходимость синхронизации осциллографа одним и тем же сигналом при снятии осциллограмм всех трех сигналов.

 

T

A0

T x k (A0)

T / n

T

A1

T x k (A1)

Рис. 29. Временная диаграмма для вывода в режиме 0

– 85 –

РАБОЧЕЕ ЗАДАНИЕ

1.Ввести в УМК программу формирования сигналов в режиме 0 ППИ и отладить ее в поцикловом режиме. Проверить правильность выдачи адресов и управляющих кодов на шины адреса

иданных в циклах записи в порт. Тип исполняемого машинного цикла можно определить по светодиодным индикаторам слова состояния машинного цикла. Во время пошаговой отладки целесообразно заменить обращения к подпрограмме задержки командами отсутствия операции (NOP).

2.Перевести УМК в непрерывный режим и измерить получившийся период Т одного из сигналов. По измеренному периоду скорректировать подпрограмму задержки таким образом, чтобы параметры сигналов соответствовали варианту задания.

3.Ввести в УМК программу вывода в режиме 1 ППИ и отладить ее в поцикловом режиме. Процедура отладки аналогична использованной для предыдущей программы.

4.Перевести УМК в непрерывный режим и снять осцилло-

граммы сигналов готовности ППИ ( OBF ), подтверждения от

периферийного устройства ( ACK ) и запроса на прерывание (INTR) от канала А ППИ.

СОДЕРЖАНИЕ ОТЧЕТА

временные диаграммы сигналов для режима 0 (по варианту задания), для режима 1 (с дорисованным сигналом WR );

тексты и коды программ.

– 86 –

Таблица 9

Варианты задания к лабораторной работе № 5 (вывод в режиме 0)

Вариант

Т, мкс

n

k (A0)

k (A1)

1

200

4

0,25

0,75

2

300

3

0,2

0,5

3

400

4

0,75

0,1

4

500

5

0,4

0,2

5

600

3

0,75

0,2

6

700

7

0,25

0,25

7

800

4

0,75

0,5

8

900

6

0,6

0,25

9

1000

5

0,15

0,5

10

1100

4

0,25

0,6

11

1200

6

0,4

0,4

12

1300

4

0,5

0,25

13

1400

7

0,6

0,2

14

1500

3

0,2

0,3

15

1600

4

0,25

0,6

16

1700

4

0,2

0,5

17

1800

3

0,5

0,5

18

1900

4

0,5

0,25

19

2000

5

0,2

0,8

20

2100

7

0,8

0,2

87 –

6.6.Использование ППИ для связи с клавиатурой

иматрицей светодиодов на плате ПС

ПОДГОТОВКА К РАБОТЕ Написать и закодировать программу, взаимодействующую с

клавиатурой и матрицей светодиодов по варианту задания. РАБОЧЕЕ ЗАДАНИЕ

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

2.Загрузить и отладить программу, подготовленную по варианту задания.

СОДЕРЖАНИЕ ОТЧЕТА

вариант задания;

укрупненная блок-схема программы для заданного

варианта;

текст и коды программы для заданного варианта. ВАРИАНТЫ ЗАДАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ № 6 1. На погашенном поле загораются светодиоды построчно

слева направо и сверху вниз. После заполнения всего поля в таком же порядке гаснут. Переход от одного светодиода к другому осуществляется с задержкой в 1 секунду.

2.На погашенном поле загораются светодиоды по столбцам сверху вниз и слева направо. После заполнения всего поля в таком же порядке гаснут. Переход от одного светодиода к другому осуществляется по нажатию любой клавиши.

3.На погашенном поле загораются светодиоды построчно слева направо и сверху вниз. После заполнения всего поля в таком

– 88 –

– 89 –

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

диагонали) и т.д. через каждую секунду до тех пор, пока не

осуществляется по нажатию любой клавиши.

образуется квадрат из зажженных светодиодов 5×5. Затем в таком

4. На погашенном поле загораются светодиоды по столбцам

же порядке гаснут.

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

10. На погашенном поле из правого нижнего угла начинает

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

распространяться «волна». Вначале загорается один светодиод в

осуществляется с задержкой в 1 секунду.

углу, затем загораются все смежные с ним (в том числе и по

5. На погашенном поле загораются светодиоды построчно

диагонали) и т.д. через каждую секунду до тех пор, пока не

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

образуется квадрат из зажженных светодиодов 5×5. Затем в таком

же порядке гаснут. Загораются и гасятся одновременно по 4

же порядке гаснут.

светодиода через каждую секунду.

11. На погашенном поле из левого верхнего угла начинает

6. На погашенном поле загораются светодиоды построчно

распространяться «волна». Вначале загорается один светодиод в

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

углу, затем загораются все смежные с ним (в том числе и по

же порядке гаснут. Загораются и гасятся одновременно по 4

диагонали) и т.д. по нажатию любой клавиши до тех пор, пока не

светодиода по нажатию любой клавиши.

образуется квадрат из зажженных светодиодов 5×5. Затем в таком

7. На погашенном поле из левого верхнего угла начинает

же порядке гаснут.

распространяться «волна». Вначале загорается один светодиод в

12. На погашенном поле из правого верхнего угла начинает

углу, затем загораются все смежные с ним (в том числе и по

распространяться «волна». Вначале загорается один светодиод в

диагонали) и т.д. через каждую секунду до тех пор, пока не

углу, затем загораются все смежные с ним (в том числе и по

образуется квадрат из зажженных светодиодов 5×5. Затем в таком

диагонали) и т.д. по нажатию любой клавиши до тех пор, пока не

же порядке гаснут.

образуется квадрат из зажженных светодиодов 5×5. Затем в таком

8. На погашенном поле из правого верхнего угла начинает

же порядке гаснут.

распространяться «волна». Вначале загорается один светодиод в

13. На погашенном поле из левого нижнего угла начинает

углу, затем загораются все смежные с ним (в том числе и по

распространяться «волна». Вначале загорается один светодиод в

диагонали) и т.д. через каждую секунду до тех пор, пока не

углу, затем загораются все смежные с ним (в том числе и по

образуется квадрат из зажженных светодиодов 5×5. Затем в таком

диагонали) и т.д. по нажатию любой клавиши до тех пор, пока не

же порядке гаснут.

образуется квадрат из зажженных светодиодов 5×5. Затем в таком

9. На погашенном поле из левого нижнего угла начинает

же порядке гаснут.

распространяться «волна». Вначале загорается один светодиод в

14. На погашенном поле из правого нижнего угла начинает

углу, затем загораются все смежные с ним (в том числе и по

распространяться «волна». Вначале загорается один светодиод в

– 90 –

углу, затем загораются все смежные с ним (в том числе и по диагонали) и т.д. по нажатию любой клавиши до тех пор, пока не образуется квадрат из зажженных светодиодов 5×5. Затем в таком же порядке гаснут.

15.На погашенном поле слева возникает буква «Т». Ширина

3 светодиода, высота – 5 светодиодов. Буква перемещается слева направо со скоростью 1 столбец за 1 секунду до тех пор, пока не достигнет правой стороны. После этого буква останавливается.

16.На погашенном поле слева возникает буква «Т». Ширина

3 светодиода, высота – 5 светодиодов. Буква перемещается слева направо на один столбец по нажатию любой клавиши до тех пор, пока не достигнет правой стороны. После этого буква останавливается.

17.На погашенном поле справа возникает буква «П». Ширина – 3 светодиода, высота – 5 светодиодов. Буква перемещается справа налево со скоростью 1 столбец за 1 секунду до тех пор, пока не достигнет левой стороны. После этого поле гасится.

18.На погашенном поле справа возникает буква «П». Ширина – 3 светодиода, высота – 5 светодиодов. Буква перемещается справа налево на один столбец по нажатию любой клавиши до тех пор, пока не достигнет левой стороны. После этого поле гасится.

19.На погашенном поле возникает слева буква «Х». Ширина

5 светодиодов, высота – 5 светодиодов. Через каждую секунду буква меняет свое положение на крайнее с противоположной стороны.

20.На погашенном поле возникает слева буква «Х». Ширина

5 светодиодов, высота – 5 светодиодов. По нажатию любой клавиши буква меняет свое положение на крайнее с противоположной стороны.

91 –

7.ОРГАНИЗАЦИЯ ТАЙМЕРА

7.1.БИС программируемого интервального таймера

К580ВИ53

Структурная схема БИС программируемого интервального таймера (далее – таймера) представлена на рис. 30. В его состав входят:

три независимо функционирующих канала, основу каждого из которых составляют 16-разрядный вычитающий счетчик

ирегистр управляющего слова, задающий режим работы канала;

двунаправленный буфер данных для связи с шиной данных микроЭВМ;

устройство управления, осуществляющее адресную выборку таймера и обмен данными между каналами таймера и микроЭВМ.

Подключение таймера к шинам микроЭВМ обычно осуществляется следующим образом:

входы А1, А0 подключаются к соответствующим разрядам шины адреса. При этом три счетчика и регистры управляющих слов адресуются как четыре порта со смежными адресами. Регистры управляющих слов всех трех каналов имеют один и тот же (старший из четырех) адрес;

вход CS подключается к выходу дешифратора старших линий адреса. На вход такого дешифратора могут быть поданы разряды шины адреса А7–А2 (разрядность адреса порта в микропроцессоре К580ВМ80 – 8 бит);

вход RD подключается к сигналу IORC шины управле-

ния;

92 –

вход WR подключается к сигналу IOWC шины управле-

ния;

вход RESET подключается к сигналу RESET шины управления;

двунаправленные выводы D7–D0 подключаются к шине

данных.

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

 

 

 

 

 

 

 

 

 

 

CLK0

Регистры

 

 

 

 

 

Счетчик 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

управляющих слов

 

 

 

 

 

 

 

 

GATE0

 

 

 

 

 

 

 

 

каналов

 

 

 

 

 

 

 

 

 

OUT0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A0

 

 

 

 

 

 

 

 

 

 

 

 

CLK1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A1

 

 

 

 

 

 

 

 

Счетчик 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GATE1

 

 

 

 

 

Устройство

 

 

 

 

 

 

 

 

 

CS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

управления

 

 

 

 

 

 

 

 

 

OUT1

WR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RD

 

 

 

 

 

 

 

 

 

 

 

 

CLK2

D7-D0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Счетчик 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Буфер

 

 

 

 

 

 

 

 

GATE2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

OUT2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– 93 –

2 МГц. На выходах OUT каналы формируют выходные сигналы, а входы GATE используются для разрешения работы каналов.

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

Операции, выполняемые с таймером, приведены в табл. 10.

 

 

 

 

 

 

 

 

 

 

 

Таблица 10

 

 

 

 

 

 

Операции с таймером

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сигналы управления

 

 

 

Операция

CS

А1

А0

 

WR

RD

 

1

 

~

~

 

~

 

~

 

Отсутствие операции

0

 

~

~

 

1

 

1

 

Отсутствие операции

0

 

0

0

 

0

 

1

 

Загрузка счетчика 0

0

 

0

0

 

1

 

0

 

Чтение из счетчика 0

0

 

0

1

 

0

 

1

 

Загрузка счетчика 1

0

 

0

1

 

1

 

0

 

Чтение из счетчика 1

0

 

1

0

 

0

 

1

 

Загрузка счетчика 2

0

 

1

0

 

1

 

0

 

Чтение из счетчика 2

0

 

1

1

 

0

 

1

 

Запись управляющего слова

Рис. 30. Структурная схема БИС таймера

– 94 –

Формат управляющего слова, реализующего операции настройки канала таймера или защелкивания текущего состояния канала, представлен на рис. 31. Номер канала, для которого предназначено управляющее слово, задается в разрядах D7–D6. Разряды D5–D4 задают либо операцию настройки и указывают тип обмена данными между микропроцессором и каналом (только старшим байтом, только младшим байтом, или целым двухбайтным словом), либо операцию защелкивания. Режим работы каждого канала при операции настройки задается разрядами D3–D1. Настройка разных каналов производится независимо один от другого. Разряд D0 указывает, в каком коде должен работать счетчик – двоичном или двоично-десятичном. При операции защелкивания разряды D3–D0 могут принимать произвольные значения.

D7

D6

D5

D4

D3

D2

D1

D0

Канал 0 – 00

 

 

 

 

 

 

0 – двоичный код

Канал 1 – 01

 

 

 

 

 

 

 

 

 

 

 

 

1 – двоично-

Канал 2 – 10

 

 

 

 

 

 

 

 

 

 

 

 

десятичный код

Запрещено – 11

 

 

 

 

 

 

 

 

 

 

 

 

 

Защелкивание – 00

 

 

 

 

 

 

000 – режим 0

 

 

 

 

 

 

001 – режим 1

Младший байт – 01

 

 

 

 

 

 

 

 

 

 

 

 

~10 – режим 2

Старший байт – 10

 

 

 

 

 

 

 

 

 

 

 

 

~11 – режим 3

Целое слово – 11

 

 

 

 

 

 

 

 

 

 

 

 

100 – режим 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

101 – режим 5

Рис. 31. Формат управляющего слова таймера

95 –

ВК580ВИ53 предусмотрено шесть режимов работы каналов.

Режим 0 (сигнал прерывания по окончании счета). После

загрузки управляющего слова на выходе OUT устанавливается нулевой уровень. После загрузки данных счетчик начинает вычитать по каждому срезу CLK. При достижении счетчиком нулевого значения выход OUT устанавливается в единицу и остается таким до загрузки новых данных, при этом счетчик продолжает вычитать (вычитание единицы из нуля дает результат «все единицы» и далее вычитание может продолжаться циклически сколь угодно долго). Загрузка новых данных останавливает текущий счет (при обмене словом – в момент загрузки младшего байта) и запускает новый (при обмене словом – в момент загрузки старшего байта). При загрузке новых данных выход OUT сбрасывается в нуль. Счет разрешается при GATE=1 и приостанавливается при

GATE=0.

Режим 1 (программируемый мультивибратор). По переднему фронту сигнала GATE на выходе OUT формируется нулевой уровень, и счетчик начинает вычитать. При достижении счетчиком нулевого значения на выходе OUT устанавливается 1. Перезагрузка счетчика во время счета не изменяет длину текущего импульса. Появление фронта GATE перезапускает счетчик с новым или старым значением.

Режим 2 (генератор импульсов). На выходе OUT при

GATE=1 формируется сигнал, период которого больше периода CLK в N раз (N – данные, загруженные в счетчик). Счет запускается загрузкой данных (N). При этом вначале на N–1 периодов CLK на выходе OUT устанавливается единичный уровень, а затем на 1 период CLK – нулевой уровень. После этого значение N автоматически перезагружается в счетчик и период повторяется.

– 96 –

При GATE=0 на выходе OUT устанавливается 1, и счет останавливается. При возврате GATE=1 счет возобновляется от начального значения (N). Загрузка во время счета не останавливает счетчик, а новое значение N учитывается в следующем периоде сигнала OUT.

Режим 3 (генератор меандра). Этот режим отличается от режима 2 скважностью (заполнением) выдаваемого на выход OUT периодического сигнала. Период сигнала (как и в режиме 2) равен N. При четном N длительности единичного и нулевого уровней в каждом периоде сигнала равны, а при нечетном N длительность единичного уровня на один период CLK больше. При GATE=1 содержимое счетчика уменьшается на 2 по каждому срезу CLK. При достижении счетчиком нулевого значения состояние выхода OUT инвертируется, а значение N перезагружается в счетчик. После загрузки данных (как и в режиме 2) на выходе OUT вначале устанавливается единичный уровень, затем нулевой. Значение N=3 для загрузки в счетчик запрещено.

Режим 4 (программная задержка строба). После загрузки управляющего слова на выходе OUT устанавливается 1. После загрузки данных счетчик начинает вычитать. При достижении счетчиком нулевого значения на выход OUT выдается импульс нулевого уровня длительностью в один период CLK. После этого выход OUT снова принимает значение 1 и остается таким до загрузки новых данных, а счетчик продолжает вычитать. Перезагрузка счетчика во время счета приводит к его перезапуску (при обмене словом – в момент загрузки старшего байта). Счет разрешается при GATE=1 и приостанавливается при GATE=0.

Режим 5 (аппаратная задержка строба). Данный режим отличается от режима 4 тем, что запуск счета осуществляется только по фронту сигнала GATE. Перезагрузка счетчика в процессе

– 97 –

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

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

Таймер допускает чтение состояния считающего канала и без операции защелкивания, но пользоваться этим не рекомендуется: такой режим не является штатным для данной БИС. Кроме того, в этом случае невозможно считать два байта в один и тот же момент времени (при установленном обмене словом).

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

Описание данной БИС приведено также в [2, 3, 5, 10, 11, 13].

98 –

7.2.Организация процедур счета времени

сиспользованием таймера

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

использованием системы прерываний;

программным опросом.

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

Программный опрос канала может быть выполнен путем периодического считывания сигнала OUT через дополнительный порт ввода, либо считыванием текущего значения счетчиков таймера. В случае считывания текущего значения счетчика, при установленном обмене словом, возникает проблема считывания двух байт в один и тот же момент времени. Решение этой проблемы возможно двумя путями:

приостановкой работы счетчика выдачей сигнала GATE=0 или запретом сигнала CLK;

выдачей в канал управляющего слова защелкивания.

99 –

7.3.Описание платы ППИ

Лабораторная работа № 7 выполняется с помощью учебной микроЭВМ УМК и платы ППИ. Плата ППИ предназначена для расширения функциональных возможностей УМК:

организации последовательного канала связи через БИС универсального синхронно-асинхронного приемопередатчика (УСАПП) К580ВВ51А (другое название – программируемый связной адаптер);

организации временных процедур с помощью БИС программируемого интервального таймера К580ВИ53;

выдачи звуковых сигналов через два встроенных динамика;

увеличения объема памяти.

Функциональная схема платы ППИ приведена на рис. 32. Увеличение объема памяти достигается подключением БИС ПЗУ с ультрафиолетовым стиранием емкостью 2К байт (микросхема К537РФ2). Адреса ПЗУ не пересекаются с адресами внутреннего ОЗУ и ПЗУ УМК и задаются блоком переключателей SA1, подключенным к выходам неполного дешифратора DC1 старших 5 разрядов шины адреса УМК. При включении одного из переключателей соответствующий выход дешифратора подключается к входу выборки ПЗУ. Номера переключателей в блоке SA1 и назначаемые ими диапазоны адресов ПЗУ приведены в табл. 11. Выдача байта из

ПЗУ на шину данных УМК разрешается сигналом MRDC , формируемым в УМК.

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