Смекни!
smekni.com

Микропроцессорная системы отображения информации (стр. 6 из 9)

Таблица7

АдресHEX Символ Код ПККИ КодКОИ – 7
BIN HEX НЕХ
07D2 1 000000 00 31
07D3 2 000001 01 32
07D4 3 000010 02 33
07D5 4 000011 03 34
07D6 5 000100 04 35
07D7 6 000101 05 36
07D8 7 000110 06 37
07D9 8 000111 07 38
07DA 9 001000 08 39
07DB 0 001001 09 30
07DC / 001010 0A 2F
07DD Ц 001011 0B 63
07DE У 001100 0C 75
07DF К 001101 0D 6B
07E0 Е 001110 0E 65
07E1 ВК 001111 0F 78
07E2 Н 010000 10 6E
07E3 Г 010001 11 67
07E4 Ш 010010 12 7B
07E5 Щ 010011 13 7D
07E6 З 010100 14 7A
07E7 Х 010101 15 68
07E8 Ъ 010110 16 5F
07E9 - 010111 17 09
07EA Ф 011000 18 66
07EB Ы 011001 19 79
07EC В 011010 1A 77
07ED А 011011 1B 61
07EE П 011100 1C 70
07EF Р 011101 1D 72
07F0 О 011110 1E 6F
07F1 - 011111 1F 41
07F2 Я 100000 20 71
07F3 Ч 100001 21 7E
07F4 С 100010 22 73
07F5 М 100011 23 6D
07F6 И 100100 24 69
07F7 Т 100101 25 74
07F8 Ь 100110 26 78
07F9 SP 100111 27 20
07FA Л 101000 28 6C
07FB Д 101001 29 64
07FC Ж 101010 2A 76
07FD Э 101011 2B 7C
07FE Б 101100 2C 62
07FF Ю 101101 2D 60

На каждую подпрограмму обработки специальных клавиш выделим по 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 HEX
1 31 00110001 00110 001 00000010 2
2 32 00110010 00110 01 0 01100100 64
3 33 00110011 00110 01 1 00100100 24
4 34 00110100 00110 1 00 00001000 8
5 35 00110101 00110 1 01 00100100 64
6 36 00110110 00110 1 1 0 10100110 26
7 37 00110111 00110 1 1 1 01000100 44
8 38 00111000 00111000 01100100 64
9 39 00111001 0 01 1 10 01 00101100
0 30 00110000 00110 000 00101110
20 00100000 0 0 1 0 0 0 0 0 00100000 20
/ 2F 00101111 0 0 1 0 1 1 1 1 01000000 40
Ц 63 01100011 0 1 1 0 0 0 1 1 00111010
У 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 10100110 А6
ВК 78 01111000 0 1 1 1 1 0 0 0 10000000 80
Н 6E 01101110 0 1 1 0 1 1 1 0 10001010
Г 67 01100111 0 1 1 0 0 1 1 1 00000110 06
Ш 7B 01111011 0 1 1 1 1 0 1 1 00101010
Щ 7D 01111101 0 1 1 1 1 1 0 1 00111010
З 7A 01111010 0 1 1 1 1 0 1 0 10101100 АС
Х 68 11101000 1 1 1 0 1 0 0 0 01000000 40
Ъ 5F 01011111 0 1 0 1 1 1 1 1 10100110
- 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 00101010
В 77 01110111 0 1 1 1 0 1 1 1 10100110 А6
А 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
Ч 7E 01111110 0 1 1 1 1 1 1 0 00001000 48
С 73 01110011 0 1 1 1 0 0 1 1 00100110 26
М 6D 01101101 0 1 1 0 1 1 0 1 00001010
И 69 01101001 0 1 1 0 1 0 0 1 01001010
Т 74 01110100 0 1 1 1 0 1 0 0 00000100 4
Ь 78 01111000 0 1 1 1 1 0 0 0 10100010 А2
SP 20 00100000 0 0 1 0 0 0 0 0 11000000 С0
Л 6C 01101100 0 1 1 0 1 1 0 0 01001000 48
Д 64 01100100 0 1 1 0 0 1 0 0 01111001 79
Ж 76 01110110 0 1 1 1 0 1 1 0 01000000 40
Э 7C 01111100 0 1 1 1 1 1 0 0 00101100
Б 62 01100010 0 1 1 0 0 0 1 0 10100110 А6
Ю 60 01100000 0 1 1 0 0 0 0 0 10001010

Таблица 9 - Перекодирование из кода КОИ – 7 в позиционный код символа для DD-15

Символ Код КОИ-7 Адрес ЗГ код ЗГ
HEX BIN A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 HEX
1 31 00110001 00110 001 00000000 00
2 32 00110010 00110 01 0 00000100 4
3 33 00110011 00110 01 1 00010100 14
4 34 00110100 00110 1 00 00001001 9
5 35 00110101 00110 1 01 00010001 11
6 36 00110110 00110 1 1 0 00010000 10
7 37 00110111 00110 1 1 1 00000100 4
8 38 00111000 00111000 00010011 13
9 39 00111001 0 01 1 10 01 00001001 9
0 30 00110000 00110 000 00000000 00
20 00100000 0 0 1 0 0 0 0 0 00000000 00
/ 2F 00101111 0 0 1 0 1 1 1 1 00000010 2
Ц 63 01100011 0 1 1 0 0 0 1 1 00000000 00
У 75 01110101 0 1 1 1 0 1 0 1 00001001 09
К 6B 01101011 0 1 1 0 1 0 1 1 00010100 14
Е 65 01100101 0 1 1 0 0 1 0 1 00001000 08
ВК 78 01111000 0 1 1 1 1 0 0 0 00000000 00
Н 6E 01101110 0 1 1 0 1 1 1 0 00001000 08
Г 67 01100111 0 1 1 0 0 1 1 1 00000000 00
Ш 7B 01111011 0 1 1 1 1 0 1 1 00000010 02
Щ 7D 01111101 0 1 1 1 1 1 0 1 00000010 02
З 7A 01111010 0 1 1 1 1 0 1 0 00001000 08
Х 68 11101000 1 1 1 0 1 0 0 0 00010101 15
Ъ 5F 01011111 0 1 0 1 1 1 1 1 00010000 10
- 09 00001001 0 0 0 0 1 0 0 1 00011100
Ф 66 01100110 0 1 1 0 0 1 1 0 00000111 7
Ы 79 01111001 0 1 1 1 1 0 0 1 00010000 10
В 77 01110111 0 1 1 1 0 1 1 1 00000100 04
А 61 01100001 0 1 1 0 0 0 0 1 00001100
П 70 01110000 0 1 1 1 0 0 0 0 00000000 00
Р 72 01110010 0 1 1 1 0 0 1 0 00000100 04
О 6F 01101111 0 1 1 0 1 1 1 1 00000000 00
- 41 01000001 0 1 0 0 0 0 0 1 00000001 01
Я 71 01110001 0 1 1 1 0 0 0 1 00001001 09
Ч 7E 01111110 0 1 1 1 1 1 1 0 00001001 09
С 73 01110011 0 1 1 1 0 0 1 1 00000000 00
М 6D 01101101 0 1 1 0 1 1 0 1 00000101 05
И 69 01101001 0 1 1 0 1 0 0 1 00000100 04
Т 74 01110100 0 1 1 1 0 1 0 0 00000010 02
Ь 78 01111000 0 1 1 1 1 0 0 0 00010000 10
SP 20 00100000 0 0 1 0 0 0 0 0 00000000 00
Л 6C 01101100 0 1 1 0 1 1 0 0 00000100 04
Д 64 01100100 0 1 1 0 0 1 0 0 00000100 04
Ж 76 01110110 0 1 1 1 0 1 1 0 00010111 07
Э 7C 01111100 0 1 1 1 1 1 0 0 00001000 10
Б 62 01100010 0 1 1 0 0 0 1 0 001010000 10
Ю 60 01100000 0 1 1 0 0 0 0 0 00011100

Код символа в форме для непосредственного вывода на индикатор занимает 1 адрес.