Добавил:
kostikboritski@gmail.com Выполнение курсовых, РГР технических предметов Механического факультета. Так же чертежи по инженерной графике для МФ, УПП. Писать на почту. Дипломы по кафедре Вагоны Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

литература / Пухальский Проектирование микропроцессорных систем 2001

.pdf
Скачиваний:
388
Добавлен:
12.11.2017
Размер:
21.12 Mб
Скачать

1.9. Генератор и системный контроллер

101

мости использовать не только все адресное пространство ввода-вывода, но и все адресное про­ странство памяти. Выгода же очевидна — уменьшаются аппаратные затраты на реализацию дешифрации адресов портов ввода-вывода.

Для устройств ввода-вывода можно использовать и независимый адресный дешифратор 1533ИД7. Так, каждый выход дешифратора, изображенного на рис. 1.36, будет селектировать

по четыре порта ввода-вывода, адреса которых указаны в табл. 1.17.

 

 

 

 

 

 

 

Таблица 1.17. Адресация внешних устройств

1533ИД7

 

Разряды адреса

Выход

 

Адреса

 

7

6

5

4

3

2

1 0

DMX

 

портов

 

1

РМГ

0

 

 

0

1

1

0

0

0

X X

0

60,

61,

62,

63

г

1

4

 

г {

0

1

1

0

0

1

X X

1

64,

65,

66,

67

 

Я f

0

1

1

0

1

0

X X

2

68,

69,

6А,

 

 

1

 

5 с

0

1

1

0

1

1

X X

3

6С, 6D, 6Е,

6F

2

 

7 ^

0

1

1

1

0

0

X X

4

70,

71,

72,

73

3

 

0

1

1

1

0

1

X X

5

74,

75,

76,

77

(от ОШ С)

 

 

Рис. 1.36. Адресный дешифратор

0

1

1

1

1

0

X X

6

78,

79,

7А,

0

1

1

1

1

1

X X

7

7С,

7D,

7Е,

7F

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

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

плата 1 — центральное процессорное устройство на МП 8085А (см. рис. 1.10) или МП 8080А (см. рис. 1.32), память и интерфейсные БИС (рис. 1.33 и 1.34), матричный шифратор 16-клавишной клавиатуры (см. рис. 1.37) и 5-разрядный 7-сегментный дисплей (см. рис. 1.38);

плата 2 — программатор EPROM 573РФ2/573РФ5, выполненный на программируемом параллельном интерфейсе 580ВВ55А (см. рис. 3.16);

плата 3 — контроллер 64-клавишной клавиатуры и 16-разрядного алфавитно-цифрового дисплея (см. рис. 3.144 и 3.145), который может использоваться параллельно или вместо мат­ ричного шифратора клавиатуры и 5-разрядного 7-сегментного дисплея.

Приведенное разбиение микроконтроллера на платы демонстрирует модульность по­ строения МП-систем — плата 1 уже представляет собой законченный микроконтроллер, спо­ собный воспринимать команды, вводимые оператором с клавиатуры, и выводить результат выполнения программ на дисплей (функционирование платы 1 не зависит от наличия или от­ сутствия плат 2 и 3). С помощью таймера 580ВИ53 на его выходе OUTx можно получить метки времени 1 с из сигнала ф2, частота которого равна 2 11 кГц, если два канала таймера запрограм­ мировать на коэффициенты деления 2й и 103. Контроллер прерываний обеспечивает выполне­

1 0 2

Глава 1. Микропроцессоры 8080 и 8085

ние операций ввода-вывода в реальном масштабе времени с обслуживанием 8 внешних уст­ ройств. В частности, по запросам прерываний сигналом OUTx - 1R-, программным способом можно организовать счет времени в минутах и часах с выводом текущего времени на дисплей.

При подключении плат расширения функциональных возможностей микроконтроллера следует обеспечить, чтобы при выполнении операций ввода данных в МП они могли поступать только от одного из приемопередатчиков, установленных на печатных платах (включая и пла­ ту 1). Сигналы выбора кристалла GS30 и CS38, формируемые на плате 1, управляют интер­ фейсными БИС 580ВВ55А, 580ВВ79 и соответствующими им приемопередатчиками, располо­ женными на платах 2 и 3, что экономит аппаратные затраты на дешифраторы адресов. В связи с этим приемопередатчиком 1533АП6 на плате 1 (рис. 1.33) должны управлять сигналы

Ш = ДАis v ВАН v (CS38 v CS30) 1/OR и Т = MEMR v I/OR

включения приемопередатчика (ОЕ) и указания направления передачи данных (Т). Значение сигнала ОЕ = 1 (приемопередатчик выключен) при обращении к внешним устройствам, селек­ тируемым сигналами CS38 = 0 или GS30 = 0 при их чтении (IIOR - 0). Таким образом, данный приемопередатчик обслуживает адресное пространство памяти 0000 3FFF/; и адресное про­ странство портов ввода-вывода 00 2Fh.

Матричный контроллер клавиатуры. На рис. 1.37, а приведен пример внешнего уст­ ройства ввода данных с помощью любого из двух методов: программного метода ввода с кви­ тированием (используется флаг IBF — см. § 2.3) или метода ввода по прерыванию (использу­ ется сигнал IRQ — см. § 2.4). Данное внешнее устройство представляет собой матричный кон­ троллер клавиатуры, содержащий 17 клавиш. Выход IRQ можно подключить к входу IR0 кон­ троллера прерываний 580ВН59А (рис. 1.33) или к входу RST 7.5 микропроцессора 8085.

Принцип работы контроллера клавиатуры основан на сканировании матрицы из 16 кла­ виш с помощью синхронного 4-разрядного двоичного счетчика 561ИЕ11 и 8-канального муль- типлексора-демультиплексора 561КП2 (M UX -DM X ; см. § 6.5 в книге [5]). Выходные сигналы трех младших разрядов счетчика бг-о поданы на адресные входы каналов MUX-DMX. Эти сиг­ налы поступают на его внутренний дешифратор D C 3 x 8 , который обеспечивает периодиче­ ское сканирование (опрос) линий возврата /?L7_o (Return Line) матрицы. Вертикальные сигналь­ ные линии матрицы периодически переключаются внешним дешифратором DC 1 х 2, выдаю­ щим на них сигналы Q3 и <2зЗначения выходных сигналов этих двух дешифраторов однознач­ но определяют текущее состояние счетчика. Поэтому при нажатии клавиши к = 0 ... 15 выход­ ной сигнал Scan ИС 564КП2 примет значение 1 в момент времени, когда счетчик 561ИЕ11 на­ ходится в состоянии к = QiQiQiQu (рис. 1.37, б). Это приведет к получению значения сигнала Р0 = 1, которое блокирует дальнейшие изменения его состояний. Изменение сигнала Р и с 0 на 1 вызывает срабатывание триггера, выдающего сигналы IBF/IRQ, информирующие МП о готов­ ности кода нажатой клавиши. Пока клавиша нажата, счет будет заторможен, и на буфер дан­ ных 561JIH3 счетчик будет выдавать число к. Далее будем считать, что микроконтроллер по­ строен на основе МП 8085А и используется метод ввода данных по прерыванию.

В ответ на значение сигнала IRQ - 1 микропроцессор вызывает подпрограмму обслужива­ ния прерывания, которая выполняет чтение состояния буфера данных

D7D6D5D4 О зВД О о = Ш Shift хх Q3Q2Q 1Q0,

где х — неопределенные значения разрядов; Shift — дополнительная 17 клавиша (“пассивная”), удваивающая число кодов основных 16 клавиш.

После ввода байта данных МП должен выполнить команду OUT С.уОО д л я сброса триггера, формирующего сигналы IBF/IRQ, в исходное состояние. При отпускании клавиши сигнал Р 0 установится в 0, и счетчик продолжит счет — сканирование клавиатуры возобновится.

1.9. Генератор и системный контроллер

103

5 )

Нажатие клавиши-----

^

^— Отпускание клавиши

я ш гш и и и Ш ___ rlTLn_JbrLruTJui_n_r

IBF/IRQ

Рис. 1.37. Матричный контроллер клавиатуры

Задача 1. Написать программу ввода по прерыванию кода нажатой клавиши. Записать принятый код в ячейку памяти с символическим именем Key. Решение:

PUSH

PSW

; Сохранение в стеке состояния прерванной программы

PUSH

Н

 

PUSH

D

 

PUSH

В

___

IN

C.vOO

; А < - D 7D 6x x D3D2D,D0 = IBF Shift xx QiQ2Q\Qq ( С у00 = 00h)

ANI

0CFh

; A <— A & CF/г (CF/г = 1100 1111): “очистка” случайных значений D5D4

104

 

Глава 1. Микропроцессоры 8080 и 8085

я)

 

б)

 

 

14

 

т " "

ф д я

 

-* 12

 

 

&

 

 

 

 

 

i / v

*

 

 

 

 

 

-*

2

 

 

 

 

 

ф д я

 

 

 

 

 

 

10

 

 

 

 

 

ф л т >

 

 

 

 

 

- 1

8

 

 

 

 

 

У ”

5

 

 

 

 

 

А

i

 

13

4 11

9

7

 

ст,

 

ст9 ст3

c r 4

с т 5

 

с>)

 

 

1533ИК7

 

 

 

 

Local

 

 

 

 

 

 

0

 

Data Bus

0

RG

 

 

 

 

и

 

 

 

 

 

 

0

 

 

 

d 2 -

2

 

7

 

HS.

D3 - \

3

 

3

 

D4-

4

 

4

 

 

 

D5 -

5

 

5

 

 

 

 

6

 

б

 

 

____£ 7 -

7

 

7

 

 

l/O W -

>с*

 

 

 

 

CSQS-

1

 

 

 

 

 

 

1533ИР27

 

 

 

 

 

£>

RG

Q

 

 

 

D0

0

 

 

 

 

 

0

 

 

 

Dl -

 

 

1

 

 

 

D2 -

2

 

?

 

с т ■ Дз “

3

 

"7

 

4

 

4

 

L

-1

А , —

 

 

 

 

DS -

5

 

5

 

 

 

d 6 -

6

 

6

 

 

 

d 7 -

7

 

7

 

 

I/O W — X

 

 

 

 

m o —<!>i

 

 

 

«)

 

 

 

 

 

 

c r,

 

i

i

 

 

 

11

c r 2

с^з

И

«) 14 8

Л Г1П п_п п п

<г< D и С

<I____( I

'□ e r a е г о it t j

1 2 3 4 5 6 7

Ю115Г

c r 4

C T 5

АЛС328В

4

* H 7 S

R

С

D

Я

F

G

H

CT

0

2

3

4 J

АЛС328В

A

* H 7 S

n u D

Я

F

G

H

CT

0

2

3

4

5

Рис. 1.38. 5-разрядный 7-сегментный дисплей

 

 

1.9. Генератор и системный контроллер

105

STA

Key

;

 

OUT

CsOO

; Вывод произвольного байта для сброса триггера IRQ запроса ввода

 

 

 

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

 

POP

В

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

 

POP

D

 

 

POP

H

 

 

POP

PSW

' Разрешение прерываний

 

EI

 

 

RET

 

Возврат в прерванную программу

 

Для уменьшения потребляемой мощности контроллер клавиатуры выполнен на КМОП ИС. Если необходимо построить 64-клавишный контроллер клавиатуры, то вместо 4-разряднго счетчика и дешифратора DC 1 х 2 следует взять 6-разрядный счетчик и дешифратор DC 3 х 8 и на его адресные входы подать сигналы с трех старших разрядов счетчика (вместо двух верти­ кальных линий в сканируемой матрице будет восемь линий). Следует заменить также 6-разрядный буфер данных 561ЛНЗ 8-разрядным буфером. Остальная часть схемы контроллера останется без изменений.

Период сканирования 16-клавишной клавиатуры равен 16 • Гн, где 7V— период тактового сигнала Н, вырабатываемого генератором, выполненном на триггере Шмитта 561TJT2. Чем ни­ же частота этого генератора, тем надежнее исключается “дребезг” контактов клавиш. При час­ тоте генератора 7 кГц дребезг в 64-клавишной клавиатуре надежно устраняется даже при ис­ пользовании не высококачественных клавиш.

5-разрядный 7-сегментный дисплей. В качестве дисплея в МП-системе можно исполь­ зовать 7-сегментные светоизлучающие индикаторы [8]. На рис. 1.38, а показана структура 5-разрядного 7-сегментного индикатора AJIC328B, на рис. 1.38, б — расположение и обозначе­ ния сегментов, на рис. 1.38, в — внешний вид индикатора и на рис. 1.38, г — его условное гра­ фическое обозначение (СТ Cathode). Прямой постоянный ток через сегмент = 5 мА.

Принципиальная схема контроллера дисплея, содержащая два порта вывода для управле­ ния сегментами и катодами индикатора в мультиплексном режиме, изображена на рис. 1.38, д. Временные диаграммы, показанные на рис. 1.38, е, наглядно поясняют работу схемы. Для ис­ ключения мигания индикатора частота развертки выбирается не менее 50 Гц. Для мультип­ лексной развертки разрядов индикатора следует использовать унитарный код для представле­ ния значений катодов СТ5_{ (табл. 1.18). Таблицу кодов управления катодами можно хранить в ПЗУ — адрес ПЗУ). Преобразование 16-ричных чисел X = 0, 1, ..., 9, А, В, ..., F и некоторых символов в 7-сегментный код У = Yc Yf YeY0 YcYbYa проще всего выполняется табличным спосо­ бом (табл. 1.19). Для этого все используемые символы должны быть пронумерованы числами X. Коды Y должны храниться в ПЗУ по адресам, возрастающим в порядке увеличения числа X. Это позволяет достаточно просто по числу X вычислить адрес кода Y и вывести его в регистр

памяти значений сегментов в контроллере дисплея.

 

 

 

 

 

 

 

 

 

 

 

Информация, выводимая на дисплей, должна

 

 

 

 

 

 

 

 

 

 

 

храниться в ОЗУ в пяти ячейках памяти в виде чисел

Таблица 1.18. Управление катодами

X. Шестую ячейку памяти ОЗУ следует отвести для

 

 

 

 

 

 

 

 

 

 

 

хранения текущего

номера

мультиплексируемого

 

Унитарный код

 

Катод

Y

А

разряда дисплея. Например,

для вывода на дисплей

 

 

0

0

0

0

0

0

0

1

CTi

01

0740

сообщения “-П ЗУ -”

в ячейки памяти следует запи­

0

0

0

0

0

0

1

0

ст2

02

0741

сать числа 17, 20, 3, 22 и 17, а для вывода сообщения

"-ОЗУ-” — числа 17, 0, 3, 22 и 17. Эти сообщения

0

0

0

0

0

1

0

0

стъ

04

0742

можно использовать при тестировании для иденти­

0

0

0

0

1

0

0

0

ст4

08

0743

фикации неисправных устройств.

0

0

0

1

0

0

0

0

СТ,

10

0744

106

 

 

 

 

Глава 1. Микропроцессоры 8080 и 8085

 

 

 

 

Таблица 1.19. Управление 7-сегментным дисплеем

 

 

X

 

x 4 Хз

x 2 X,

Xo

Yc

Yf

Ye

Yd

Yc

Yb

Ya

Символ

Y

A

00

00

0

0

0

0

0

1

0

0

0

0

0

0

G

40

0720

01

01

0

0

0

0

1

1

1

1

1

0

0

1

r

1

79

0721

T

1

02

02

0

0

0

1

0

0

1

0

0

1

0

0

a

24

0722

03

03

0

0

0

1

1

0

1

1

0

0

0

0

3

 

30

0723

04

04

0

0

1

0

0

0

0

1

1

0

0

1

4

 

19

0724

05

05

0

0

1

0

1

0

0

1

0

0

1

0

s

 

12

0725

06

06

0

0

1

1

0

0

0

0

0

0

1

0

6

 

02

0726

07

07

0

0

1

1

1

1

1

1

1

0

0

0

“1

78

0727

 

1

08

08

0

1

0

0

0

0

0

0

0

0

0

0

8

 

00

0728

09

09

0

1

0

0

1

0

0

1

0

0

0

0

9

 

10

0729

10

0A

0

1

0

1

0

0

0

0

1

0

0

0

R

08

072A

11

0B

0

1

0

1

1

0

0

0

0

0

1

1

b

03

072B

12

ОС

0

1

1

0

0

1

0

0

0

1

1

0

p

 

46

072C

13

0D

0

1

1

0

1

0

1

0

0

0

0

1

 

21

072D

d

 

14

0E

0

1

1

1

0

0

0

0

0

1

1

0

E

 

06

072E

15

OF

0

1

1

1

1

0

0

0

1

1

1

0

F

 

0E

072F

16

10

1

0

0

0

0

1

1

1

1

1

1

1

£ I

7F

0730

17

11

1

0

0

0

1

0

1

1

1

1

1

1

-r*'i

3F

0731

18

12

1

0

0

1

0

1

0

0

1

1

1

0

r

4E

0732

19

13

1

0

0

1

1

0

0

0

1

0

0

1

И

09

0733

20

14

1

0

1

0

0

1

0

0

1

0

0

0

n

48

0734

21

15

1

0

1

0

1

0

0

0

1

1

0

0

R

ОС

0735

22

16

1

0

1

1

0

0

0

1

0

0

0

1

3

 

11

0736

23

17

1

0

1

1

1

1

0

0

0

1

1

1

и

 

47

0737

24

18

1

1

0

0

0

1

0

0

0

0

0

1

LI

41

0738

25

19

1

1

0

0

1

0

0

1

1

0

1

1

H

IB

0739

26

1A

1

1

0

1

0

1

1

1

0

0

0

1

J

 

71

073A

Задача 2. Написать программу управления 5-разрядным 7-сегментным дисплеем с вы­ водом информации по прерыванию. Решение:

defseg

S_rstl5, start = 3Ch

; 7,5 x 8 = 60d = 3Ch

seg

S_rst75

; ROM

 

; Подпрограмма обработки прерывания RST 7.5

PUSH

PSW

 

; Сохранение в стеке состояния прерванной основной программы

PUSH

Н

 

; (подпрограмма RST 7.5 использует РОНы Н, L и В)

PUSH

В

 

 

 

LXI

Н, Тп + 5 ; HL = 0805/г — адрес хранения текущего активного разряда

INR

М

 

 

 

MVI

A,

; Обеспечение счета по модулю 5 обслуживаемых разрядов индикатора

CMP

M

 

 

 

JNZ

LR1

 

 

 

SUB

A

 

 

 

MOV

M, A

 

 

 

LR1: MOV

A, M

 

 

 

ADD

L

 

 

 

SUI

5

 

 

 

 

 

 

1.9. Генератор и системный контроллер

107

 

MOV

L, A

; В — номер разряда индикатора

 

 

MOV

B, A

 

 

MOV

A, M

; T ls - 0720ft — начальный адрес таблицы 7-сегментных кодов

 

LXI

H, Tls

 

ADD

L

 

 

 

 

MOV

L, A

 

 

 

 

SUB

A

 

 

 

 

OUT

CSct

; Гашение дисплея (Blanking Display)

 

 

MOV

A, M

; Вывод значений сегментов (Output Segment)

 

OUT

CShs

 

LXI

H, Tct

; Tct = 0740ft — начальный адрес таблицы унитарного кода катодов

 

MOV

A, В

 

 

 

 

ADD

L

 

 

 

 

MOV

L, A

 

 

 

 

MOV

A, M

; Включение разряда дисплея (Output Cathode)

 

OUT

CSct

 

POP

В

; Восстановление состояния прерванной основной программы

 

POP

H

 

 

 

 

POP

PSW

 

 

 

 

EI

 

; Возврат из подпрограммы обработки прерывания RST 7.5

 

RET

 

Ram

equ

800ft

; Ram = 0800/г — начальный адрес RAM

Data Segment

Rsz

equ

800ft

; Rsz = 800ft — объем RAM (RAM Size)

 

Ssz

equ

20ft

; Ssz = 20ft — размер стека (Stack Size)

 

 

defseg D\_seg, start = Ram, class = Data

 

 

 

seg

D\_seg

; RAM

 

 

Tn

ds

6

; Tn = Ram = 0800ft, M(0805) — текущий номер разряда дисплея

 

defseg

D2_seg, start = 720ft, class = Data ; T ls = 0720ft — начальный адрес таблицы

Tls

seg

D2_seg

; ROM

 

кодов сегментов Tls

db

40ft, 79ft, 24ft, 30ft, 19ft, 12ft, 2, 78Л, 0, 10ft, 8, 3, 46ft, 21ft, 6, OEft

 

db

7Fft, 3Fft, 4Eft,9, 48ft, OCft,lift, 47ft, 41ft,

lBft, 71ft

 

 

defseg

D3_seg, start = 740ft, class = Data

 

 

 

seg

D3_seg ; ROM

 

 

Tct

db

1,2, 4, 8,

10ft, 0 ; Tct = 0740ft — начальный адрес таблицы кодов катодов Tct

 

defseg

Stack_seg, start = Ram + Rsz - Ssz, class = Data

; Stack Segment

 

seg

Stack_seg

 

 

 

 

ds

Ssz

 

 

; I/O Segment

 

defseg

IO_seg, start = 8, class = lOspace

 

 

seg

IO_seg

; Порты вывода

 

 

CShs

ds

1

; CShs = 08ft — адрес порта вывода кода сегментов (рис. 1.38)

 

org

10ft

; CSct = 1 0 ft — адрес порта вывода кода катодов

CSct

ds

1

 

defseg

Main_seg, start = 100ft, class = Code

 

; Code Segment

 

seg

Main_seg ; ROM

 

 

 

LXI

SP, Ram + Rsz ; Инициализация указателя стека SP

 

 

LXI

H,0011ft

; Инициализация RAM для вывода на дисплей сообщения: -О ЗУ -

 

SHLD

Tn

; М(0800) <—11ft — символ

М (0801) <— 00ft — символ “0”

 

LXI

H, 1603ft

; Н < - 16ft, L < - 03ft

 

 

 

SHLD

Tn + 2

; М(0802) <— 03ft — символ “3”, М(0803) <— 16й — символ “У”

108

 

Глава I. Микропроцессоры 8080 и 8085

LXI

Н, 0411/г

; Н <—04/г, L <— 11Л

SHLD

77; + 4

; А/(0804) <— 11/г— символ

 

 

; М{0805) <— 04h — номер разряда дисплея

MVI

A ,0B h

; А <— ОВ/г = 0000 1011 (А3 = MCE = 1, А2 = M l.5 = 0)

SIM

 

; Разрешение прерывания по входу RST 7.5

EI

 

; Общее разрешение прерывания

LM1: JMP

LM1

; Свернутая в одну точку основная программа

e n d

 

; Конец программы

Частота запросов прерываний должна быть не менее 250 Гц, чтобы обеспечить частоту развертки не менее 50 Гц. Для генерации запросов прерываний обычно используется таймер 580ВИ53 (8253 фирмы Intel). Чем выше частота развертки, тем больше будут затраты процес­ сорного времени на обслуживание индикатора.

В подпрограмму обслуживания дисплея, например перед командой POP В, можно доба­ вить команды для программного ввода с квитированием байта данных с клавиатуры:

IN

C.S-00

AN1

0CFh

MOV

C, A

ANI

80h

JNZ

LR2

OUT С.Ю0

LR2: POP

В

А <- D 7D 6x x D3D2D\D0 = 1 b F Shift xx Q3QzQ\Qu (CsOO = 00h)

A <— A & CFh (CFh = 1100 1111): очистка случайных значений DSD4 С <— очищенный код нажатой клавиши

Анализ значения флага IBF

;Вывод произвольного байта для сброса триггера IRQ запроса ввода

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

;Эта команда в подпрограмме уже есть

В этом случае вход запроса прерываний, обслуживающий клавиатуру, освобождается для других целей. Если время выполнения операций по коду нажатой клавиши будет больше 4 мс, то очередной запрос прерывания будет пропущен, что может привести к временному измене­ нию яркости одного из разрядов индикатора. Частота опроса клавиатуры равна 250 Гц, что вполне приемлемо.

1.10. Статические запоминающие устройства

Для записи, хранения и чтения данных в процессе их обработки используются оператив­ ные запоминающие устройства (ОЗУ) с произвольной выборкой (RAM Random Access Mem­ ory). Они содержат 2" ячеек памяти, однозначный выбор которых производится адресными сигналами А„_,, ..., Ло- В современных МП-системах находит применение как статическая память (SRAM Static RAM), так и динамическая память (DRAM Dynamic RAM). В SRAM

запоминание информации производится в триггерах, а в DRAM — на конденсаторах. Длитель­ ность хранения информации в триггерах не ограничена, тогда как время хранения информации на конденсаторах определяется токами утечки через шунтирующие цепи, а, следовательно, с некоторой частотой необходимо производить регенерацию заряда на конденсаторах, что ус­ ложняет процесс управления памятью. В первых DRAM допустимое время хранения информа­ ции составляло 1 ...2 мс, что соответствует частоте регенерации ячеек памяти 1,0... 0,5 кГц. В современных DRAM это время составляет 8 ... 128 мс.

Площадь, занимаемая на кристалле одной ячейкой памяти в DRAM, значительно меньше, чем в SRAM, что обуславливает высокую плотность их упаковки и как результат — гораздо меньшую стоимость одного бита информации. Выпускаются и синхронные SRAM и DRAM (SSRAM Synchronous SRAM, SDRAM Synchronous DRAM).