реклама на сайте
подробности

 
 
> Адрессация DDRAM в LCD 2x16 HD44780, Затупил, помогите тормозу разобраться
Кастусь Рыжов
сообщение Jan 2 2009, 09:54
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 16-07-07
Из: Беларусь, г.Гомель
Пользователь №: 29 165



Привет всем!
Народ, помогите разобраться с адрессацией видеопамяти DDRAM на
LCD контроллере HD447780. Запутался я.Разбирался по книге Шпака"Программирование
микроконтролллеров на Си" и по даташиту на LCD. Как то пробел там по
адресации видеопамяти. Ни как у меня не получается второй массив
показать со второй строки. не разберусь никак, какой начальный адрес и
сколько символов в строке , и какой нач адрес следующей.

Moderator:
Обильное НЕФОРМАТИРОВАННОЕ цитирование исходников из книжки Шпака удалено.


--------------------
Прибор должен работать не в принципе, а в корпусе!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
zltigo
сообщение Jan 2 2009, 10:11
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Кастусь Рыжов @ Jan 2 2009, 12:54) *
не разберусь никак, какой начальный адрес

0x00 первая
0x40 вторая
И до кучи на вырост:
0x14 третья
0x54 четвертая


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
smac
сообщение Jan 2 2009, 10:15
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 2-06-08
Из: Москва
Пользователь №: 38 003



А что непонятно? - отображаемых символов в каждой строке - по 16, начальный адрес символов в 1 строке - 0х00, во-второй 0х40 (если мне склероз не изменяет). Конечный в первой по-моему 0х28. В принципе есть команды сдвига экрана, но сначала лучше разобраться со строками, а потом уже дальше идти
Go to the top of the page
 
+Quote Post
Кастусь Рыжов
сообщение Jan 2 2009, 10:30
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 16-07-07
Из: Беларусь, г.Гомель
Пользователь №: 29 165



В частности непонятно почему второй массив теряется, и в начале второй строки видна последний символ.

извините за офтоп
З.Ы.Да и как вы мне поможете, если исходник - того 05.gif , модератор затёр, хотя я его переделал, у автора прога под 4-х строчный индикатор, я взял только несколько подпрограмм, неужели усматриваете нарушение авторских прав, хотя он выставил исходники на всеобщее обозрение в книге, для таких недоумков как я?.
Кстати, почему то файл не прицепился с исходником?


--------------------
Прибор должен работать не в принципе, а в корпусе!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 2 2009, 10:36
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Кастусь Рыжов @ 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] );
}


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Кастусь Рыжов
сообщение Jan 2 2009, 10:52
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 80
Регистрация: 16-07-07
Из: Беларусь, г.Гомель
Пользователь №: 29 165



Цитата
Он совершенно не нужен, тем более в уродско-неформатированном виде. Адреса Вам сказали.

CODE


А что надо нажать , что бы было неуродско форматированным? За адреса спасибо


--------------------
Прибор должен работать не в принципе, а в корпусе!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016