На каждую подпрограмму обработки специальных клавиш выделим по 200 байт, этого вполне достаточно если учитывать, что программа естественно выполняется на АССЕМБЛЕРЕ – который славится своей компактностью. Расположим подпрограммы в памяти непосредственно перед таблицей и после основной обрабатывающей программы, т.е. наши функциональные подпрограммы будут находиться между основной программой и таблицей КОИ-7. Рассчитаем адреса по которым будут записаны подпрограммы. Конечный адрес подпрограмм должен равняться 07ЕF. Отнимем от этого адреса 600 байт:
07EFh – 258h = 0578h.Следовательно подпрограммы начнутся с адреса 0578h. Теперь последовательно прибавляя по 200 байт вычислим адреса каждой подпрограммы двести байт в шестнадцатеричной системе счисления будут выглядеть как С8 , т.е. будем прибавлять к данному адресу это число получим соотвественно: 0640h, 0708h
Итак, с адреса 0578h запишем подпрограмму обработки клавиши "ВК" возврат, соответственно в таблицу занесем младшую часть адреса.
С адреса 0641h запишем подпрограмму обработки клавиши "à" редактирование и перемещение вправо, в таблицу занесем младшую часть адреса.
А с адреса 0709h запишем подпрограмму обработки клавиши "ß" редактирование и перемещение влево, в таблицу занесем младшую часть адреса.
Выходные сигналы с ПККИ DSPA0 - DSPA3, DSPB0 - DSPB3 подадим на адресные входы ПЗУ знакогенератора. ПЗУ знакогенератора служит преобразователем кода КОИ – 7 в код индикатора, т.е. в код включения определенных сегментов. Необходимо включать 14 сегментов. Поэтому достаточно двух 8-разрядных микросхем ПЗУ. Для ПЗУ знакогенератора возьмем репрограммируемую ПЗУ К573РФ2. Данная интегральная микросхема представляет собой репрограммируемое ПЗУ обьемом 2 Кбайта, запись в которую производится электрическими сигналами, а стирание – ультрафиолетовым излучением. Программирование ПЗУ осуществляется с помощью специального устройства – программатора. По входным и выходным сигналам микросхема совместима с ТТЛ-микросхемами.
Для исключения потери информации при ее длительном хранении окно корпуса микросхемы при эксплуатации должно быть защищено от воздействия ультрафиолетового и светового облучения, например, светонепроницаемой пленкой.
Доступ к микросхеме осуществляется подачей напряжения уровня логического нуля на входы микросхемы CS и OE.
Приведем таблицы, по которым производится перекодирование из кода КОИ – 7 в позиционный код символа в знакогенераторе.
Таблица 8 - Перекодирование из кода КОИ – 7 в позиционный код символа для DD-14
Символ
Код КОИ-7
Адрес ЗГ
код ЗГ
HEX
BIN
A7 A6 A5 A4 A3 A2 A1 A0
D7 D6 D5 D4 D3 D2 D1 D0
1
31
00110001
0 0 1 1 0 0 0 1
00000010
2
32
00110010
0 0 1 1 0 0 1 0
01100100
64
3
33
00110011
0 0 1 1 0 0 1 1
00100100
24
4
34
00110100
0 0 1 1 0 1 0 0
00001000
8
5
35
00110101
0 0 1 1 0 1 0 1
6
36
00110110
0 0 1 1 0 1 1 0
10100110
26
7
37
00110111
0 0 1 1 0 1 1 1
01000100
44
38
00111000
0 0 1 1 1 0 0 0
9
39
00111001
0 0 1 1 1 0 0 1
00101100
2С
0
30
00110000
0 0 1 1 0 0 0 0
00101110
2Е
20
00100000
0 0 1 0 0 0 0 0
/
2F
00101111
0 0 1 0 1 1 1 1
01000000
40
Ц
63
01100011
0 1 1 0 0 0 1 1
00111010
3А
У
75
01110101
0 1 1 1 0 1 0 1
00101000
28
К
6B
01101011
0 1 1 0 1 0 1 1
10000010
82
Е
65
01100101
0 1 1 0 0 1 0 1
А6
ВК
78
01111000
0 1 1 1 1 0 0 0
10000000
80
Н
6E
01101110
0 1 1 0 1 1 1 0
10001010
8А
Г
67
01100111
0 1 1 0 0 1 1 1
00000110
06
Ш
7B
01111011
0 1 1 1 1 0 1 1
00101010
2А
Щ
7D
01111101
0 1 1 1 1 1 0 1
З
7A
01111010
0 1 1 1 1 0 1 0
10101100
АС
Х
68
11101000
1 1 1 0 1 0 0 0
Ъ
5F
01011111
0 1 0 1 1 1 1 1
ß
09
00001001
0 0 0 0 1 0 0 1
00000000
00
Ф
66
01100110
0 1 1 0 0 1 1 0
00000100
04
Ы
79
01111001
0 1 1 1 1 0 0 1
В
77
01110111
0 1 1 1 0 1 1 1
А
61
01100001
0 1 1 0 0 0 0 1
01001000
48
П
70
01110000
0 1 1 1 0 0 0 0
00001110
08
Р
72
01110010
0 1 1 1 0 0 1 0
10000110
86
О
6F
01101111
0 1 1 0 1 1 1 1
01010110
56
à
41
01000001
0 1 0 0 0 0 0 1
11000000
С0
Я
71
01110001
0 1 1 1 0 0 0 1
01001100
4С
Ч
7E
01111110
0 1 1 1 1 1 1 0
С
73
01110011
0 1 1 1 0 0 1 1
00100110
М
6D
01101101
0 1 1 0 1 1 0 1
00001010
0А
И
69
01101001
0 1 1 0 1 0 0 1
01001010
4А
Т
74
01110100
0 1 1 1 0 1 0 0
Ь
10100010
А2
SP
Л
6C
01101100
0 1 1 0 1 1 0 0
Д
0 1 1 0 0 1 0 0
Ж
76
01110110
0 1 1 1 0 1 1 0
Э
7C
01111100
0 1 1 1 1 1 0 0
Б
62
01100010
0 1 1 0 0 0 1 0
Ю
60
01100000
0 1 1 0 0 0 0 0
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10