Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

412 Часть 111. Практическое программирование микроконтроллеров АVR 2 строки по 1 6 знакомест каждая . Одно знакоместо содержит матрицу 5 х 8 точек­ квадратиков. Для вывода символов внутри контроллера имеется таблица знакоге­ нератора, именуемая DDRAM (Display Data RAM). Обращаясь по адресу этой таблицы, вы инициируете вывод соответствующего символа в текущую позицию курсора. Таблица адресуется однобайтовым кодом и, соответственно, может содержать мак­ симум 255 символов. Поэтому, как правило, дисплеи разделяются по поддерживае­ мым языкам - при покупке нужно обращать на это внимание. Стандартная таб­ лица конфигурации русско-английского знакогенератора HD44780 приведена на рис . 1 6 . 7 . старший полубайт о 1 2 3 4 5 6 7 8 9 -· о й - :]) р ' · р 1 1 1 R r.:i - · а ·:.t 2 1 1 .-, .L.. в R 1:: 1 t•· 3 # .... 1 -· s с · = ._:: . .J -· 4 $ 4 [) т c:I t. 5 �- · . . �· Е 1_1 е IJ 6 ·�· Е. F 1 1 f' 1 1 • .: · : . . . . . . 7 ' 7 13 ы '3 l,1J 8 ( · ·-::.· н • . ".• . . . l-- 1 )� 9 ) '3 I 1 1 i '::1 ·1· А * . .J z .j z • в + . �:: [ k l[J ' с ' <: L <!:- 1 1 2 D - - t1 ] Г•'1 1 5 - � ) · t·� ·"'·· t-1 -Е.1 • . · .-. 1] о � ." 1 � - А Б r Ё И·: э и й JI п 1 1 ; · · ф ·-1 ш ъ �. 1 э в с D Е ю '-1 1 J1 я ш 1 ц 6 ъ 1 1 щ Е: � 1 1 1 � r J:. :::- · ф е э х ц :+: ю : ·;. щ . . -=· · ;:i I •' -· JI " и <-= L:i · J ·t l -'-" : ·.: · 1( .: .: · !· .)1 =- =- 1-t t·1 11 .i н " 1+1 ·-· п ж �·· т • е · ;· l i .t . . о F !- � �j �� З.�; � - - - � 17 t - · . · :.: i t �i · :'· ..�· .. q:i 1 Рис. 1 6.7. Таблица конфигурации стандартного русско-английского знакогенератора HD44780 Из этой таблицы видно, что в таких дисплеях кодировка (т. е. адрес в таблице зна­ когенератора) английских символов, знаков препинания, цифр и некоторых стан­ дартных символов («$», «%», «*» , «#», «-», «+», скобок и т. п. ) устроена в полном соответствии со стандартной компьютерной кодировкой ASCII, что позволяет про­ граммам обращаться к таблице с указанием просто символа (подробно об этом рас­ сказано в главе 7) . Но вот в части русского алфавита таблица устроена предельно экономично - приведены только кириллические символы, не совпадающие по на­ чертанию с английскими. Потому обращаться к ним и другим символам из правой части таблицы в таком случае можно лишь через прямое указание адреса: старшая тетрада байта адреса указана в столбце, младшая - в строке .

RkJQdWJsaXNoZXIy MTExODQxMg==