Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 1 6. Некоторые Агdиiпо-задачи на ассемблере 413 Свободные места в стандартной таблице обычно заполняются разными производи телями на свое усмотрение, иногда не без пользы, как мы увидим далее. За одним исключением - первые восемь символов (с адресами 00-07) всегда остаются заре зервированными . Эти восемь мест программист может заполнить рисунками сим волов на свое усмотрение . Процедура описана к «даташитах» крайне мутно, но в реальности все очень просто : нарисованный символ 5 х8 сохраняется в специальной области памяти CGRAM (Character Generator RАМ), содержащей всего восемь зна комест. Рисунок, помещенный в определенное знакоместо в CGRAM, автоматиче ски заменяет собой один из символов с соответствующим номером в DDRAM, после чего может быть адресован обычным способом. В некоторых дисплеях имеется не одна таблица знакогенератора, а несколько, меж ду которыми можно переключаться по их номеру. Как правило, в русифицирован ных дисплеях стандартная русско-английская таблица (с номером О) включена по умолчанию, на что мы будем ориентироваться в дальнейших действиях. Но так не всегда - ОLЕD-дисплеи с расширенным контроллером WSOO 1 О фирма Winstar вознамерилась сделать многоязычными, потому они имеют четыре таких таблицы. Первой под номером О там идет включенная по умолчанию англо-японская табли ца, а стандартная русско-английская размещается под номером 2 (оыо). Если ее не включить специально, то можно будет выводить надписи только по-английски (и, разумеется, по-японски) . ПОДРОБНОСТИ У дисплеев российской фирмы МЭЛТ обычно также несколько таблиц с различными языками и кодировками . По умолчанию там , как положено, стандартная русско английская таблица HD44780 (№ О) , но вторая таблица (№ 1 ) может быть полезна при программировании управления такими дисплеями на языках высокого уровня , т. к. для русского языка там действует стандартная кодировка Windows- 1 251 . АVR-ассемблер не воспринимает никаких символов, кроме английских, но в любой среде программи рования на С (в т. ч. и в Ardui no) русские буквы для таких дисплеев также можно ука зывать напрямую (с некоторыми оговорками касательно путаницы между однобайто выми и двухбайтовыми кодировками в современных Windows) . У дисплеев на базе HD44780 предусмотрены два варианта подключения : по 8-про водному интерфейсу и по более экономичному, но и более сложному с программ ной точки зрения 4-проводному. 8-проводную схему, из-за большого количества соединений (минимум 1 1 проводников), кажется, уже почти все забыли. На рис. 1 6 . 8 показана пригодная для нашего случая схема подключения такого дис плея к контроллеру ATmega8, на которую мы будем ориентироваться далее. Схема по экономичному 4-проводному интерфейсу (всего 6 выводов) выбрана с тем, что бы оставить свободными выходы UART, прерываний INTO и INТ l , задействован ные в наших I 2 С-процедурах выводы PD6 и PD7, а также пару каналов АЦП (ADC5 и ADC4) . Этот выбор оставляет достаточно свободы для маневра, не вынуждая об ращаться к контроллерам с избыточно большим числом выводов. Единственный его недостаток- то, что задействованные в командах управления выводы дисплея RS и Е не размещаются в одном регистре с данными, отчего управление несколько усложняется.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==