Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Адрессация DDRAM в LCD 2x16 HD44780
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Кастусь Рыжов
Привет всем!
Народ, помогите разобраться с адрессацией видеопамяти DDRAM на
LCD контроллере HD447780. Запутался я.Разбирался по книге Шпака"Программирование
микроконтролллеров на Си" и по даташиту на LCD. Как то пробел там по
адресации видеопамяти. Ни как у меня не получается второй массив
показать со второй строки. не разберусь никак, какой начальный адрес и
сколько символов в строке , и какой нач адрес следующей.

Moderator:
Обильное НЕФОРМАТИРОВАННОЕ цитирование исходников из книжки Шпака удалено.
zltigo
Цитата(Кастусь Рыжов @ Jan 2 2009, 12:54) *
не разберусь никак, какой начальный адрес

0x00 первая
0x40 вторая
И до кучи на вырост:
0x14 третья
0x54 четвертая
smac
А что непонятно? - отображаемых символов в каждой строке - по 16, начальный адрес символов в 1 строке - 0х00, во-второй 0х40 (если мне склероз не изменяет). Конечный в первой по-моему 0х28. В принципе есть команды сдвига экрана, но сначала лучше разобраться со строками, а потом уже дальше идти
Кастусь Рыжов
В частности непонятно почему второй массив теряется, и в начале второй строки видна последний символ.

извините за офтоп
З.Ы.Да и как вы мне поможете, если исходник - того 05.gif , модератор затёр, хотя я его переделал, у автора прога под 4-х строчный индикатор, я взял только несколько подпрограмм, неужели усматриваете нарушение авторских прав, хотя он выставил исходники на всеобщее обозрение в книге, для таких недоумков как я?.
Кстати, почему то файл не прицепился с исходником?
zltigo
Цитата(Кастусь Рыжов @ Jan 2 2009, 13:30) *
З.Ы.Да и как вы мне поможете, если исходник - того 05.gif , модератор затёр

Он совершенно не нужен, тем более в уродско-неформатированном виде. Адреса Вам сказали.
Цитата
...хотя я его переделал, у автора прога под 4-х строчный индикатор

Так уберите свои "переделки" для начала, ибо количество строк 2/4, равно и как их длинна 16/20/... для контроллера не имеет никакого значения. Позиционироване (тупая таблица координат в адрес+команда установки адреса)работающее на 1-4 сточных дисплеях с количеством символов в стороке 1...20:
Код
const BYTE screen_pos[LIN_NN][COL_NN] = {
    {
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,
0x90,0x91,0x92,0x93 },
    {
0xC0,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,0xCD,0xCE,0xCF,
0xD0,0xD1,0xD2,0xD3 },
    {
0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,0xA0,0xA1,0xA2,0xA3,
0xA4,0xA5,0xA6,0xA7 },
    {
0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xDB,0xDC,0xDD,0xDE,0xDF,0xE0,0xE1,0xE2,0xE3,
0xE4,0xE5,0xE6,0xE7 }
};

//---------------------------------------------------------------------------
void lcd_setpos( bint y, bint x )
{
......
    lcd_command( screen_pos[y-1][x-1] );
}
Кастусь Рыжов
Цитата
Он совершенно не нужен, тем более в уродско-неформатированном виде. Адреса Вам сказали.

CODE


А что надо нажать , что бы было неуродско форматированным? За адреса спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.