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

 
 
 
Reply to this topicStart new topic
> LCD20WG240128A (T6963C)
Timofey
сообщение Jan 6 2010, 09:23
Сообщение #1


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

Группа: Участник
Сообщений: 119
Регистрация: 3-07-06
Пользователь №: 18 528



Подключил данный дисплей к SAM7x
Инициализирую ноги у контроллера.
Произвожу ресет у дисплея. Пока на ноге RESET ноль, на экране в случайном месте появляется горизонтальная линия.
Перевожу ресет в единицу - линия пропадает.
Далее инициализирую контроллер
CODE

#define OR_MODE ((unsigned char) 0x80)
#define SET_TEXT_HOME_ADDRESS ((unsigned char) 0x40)
#define SET_TEXT_AREA ((unsigned char) 0x41)
#define SET_GRAPHIC_HOME_ADDRESS ((unsigned char) 0x42)
#define SET_GRAPHIC_AREA ((unsigned char) 0x43)
#define TEXT_ON_GRAPHIC_ON ((unsigned char) 0x9C)

Write_Command(OR_MODE);
Write_Command_and_2_byte_data(SET_GRAPHIC_HOME_ADDRESS,0x0000);
Write_Command_and_2_byte_data(SET_GRAPHIC_AREA,0x0028);
Write_Command_and_2_byte_data(SET_TEXT_HOME_ADDRESS,0x1700);
Write_Command_and_2_byte_data(SET_TEXT_AREA,0x0028);
Write_Command(TEXT_ON_GRAPHIC_ON);

Экран чист.
Послыаю текстовые данные на вывод

CODE

#define SET_ADDRESS_POINTER ((unsigned char) 0x24)
#define DATA_WRITE_AND_INCREMENT_ADP ((unsigned char) 0xC0)

Write_Data(0x00);
Write_Data(0x17);
Write_Command(SET_ADDRESS_POINTER);

Write_Data(0x14);
Write_Command(DATA_WRITE_AND_INCREMENT_ADP);
Write_Data(0x15);
Write_Command(DATA_WRITE_AND_INCREMENT_ADP);
Write_Data(0x16);
Write_Command(DATA_WRITE_AND_INCREMENT_ADP);
Write_Data(0x17);
Write_Command(DATA_WRITE_AND_INCREMENT_ADP);

Я так понимаю, что он мне должен вывести 4 символа подряд, но экран чист
Прочитал эту же область памяти, все 4 кода вернулись в том же порядке.

Читаю статус панели = 0xAB
или в бинарном виде 10101011 (старший бит первый)
Но, если читать статус постоянно, старший бит начинает прыгать, то 0, то 1.
Это нормально?

Может что-то не так в инициализации?

з.ы. Выход FS всегда 1
Выход RV - и 0, и 1 пробывал
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 6 2010, 09:46
Сообщение #2


Гуру
******

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



Цитата(Timofey @ Jan 6 2010, 12:23) *
Произвожу ресет у дисплея. Пока на ноге RESET ноль, на экране в случайном месте появляется горизонтальная линия.
Перевожу ресет в единицу - линия пропадает.

Да. Нормально.
Цитата
Может что-то не так в инициализации?

Очевидно. Читать Вашу инициализацию с обилием ничего не говорящих цифр не очень хочется,но контроллер массовый и на форуме
обсуждался неоднократно, в том числе и исходники рабочие в первом приближении выкладывались. Поищите.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Timofey
сообщение Jan 6 2010, 10:37
Сообщение #3


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

Группа: Участник
Сообщений: 119
Регистрация: 3-07-06
Пользователь №: 18 528



Искал. Все исходники тоже видел.

Но меня больше всего интересует, почему старший бит прыгает
STA7 - 0=LCD панель выкл.,1=LCD панель вкл.

Инициализация простая (перед всеми операциями статус читаю и проверяю):
Включаем логическое объединение через ИЛИ текста с графикой
Устанавливаем начальный адрес для графики (0000h).
Устанавливаем число байт для одной строки графической информации
Устанавливаем начальный адрес для текста.(1700h)
Устанавливаем число байт для одной строки текстовой информации
включаем текстовый и графический режим.
Если верить даташиту, то в этот момент на экране должен быть мусор, но он чист.

Ладно, буду курить доки и думать-думать-думать ...
Go to the top of the page
 
+Quote Post
АлексейQ
сообщение Jan 22 2010, 17:02
Сообщение #4





Группа: Новичок
Сообщений: 2
Регистрация: 22-11-08
Пользователь №: 41 866



Тимофей, я недавно столкнулся с подобной проблемой, оказалось что неправильно подключил управление контрасности. Я его подключал к среднему выводу переменного резистора, а боковые подключил к 0 и к +5в., а надо было к -10 и к +5, на контрасность надо подавать отрицательное напряжение. После этого сразуже все заработало.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 22 2010, 19:55
Сообщение #5


Гуру
******

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



Цитата(АлексейQ @ Jan 22 2010, 20:02) *
Тимофей, я недавно столкнулся с подобной проблемой...

Да ну smile.gif. У Автора по сбросу совершенно нормально просматривается линия на экране - контраст ни при чем. Ну и чего там подавать или не подавать зависит от производителя дисплея (наличие а том числе и термокомпенсированных источников не редкость) и типа матрицы.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Timofey
сообщение Jan 27 2010, 18:11
Сообщение #6


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

Группа: Участник
Сообщений: 119
Регистрация: 3-07-06
Пользователь №: 18 528



Цитата(АлексейQ @ Jan 22 2010, 22:02) *


Спасибо. Я достал мультиметр и проверил им все напряжения. Действительно был косяк в схеме по питанию. Отдал плату на работу, перепаяли резисторы и все заработало.

Сообщение отредактировал Timofey - Jan 27 2010, 18:25
Go to the top of the page
 
+Quote Post
АлексейQ
сообщение Jan 28 2010, 18:09
Сообщение #7





Группа: Новичок
Сообщений: 2
Регистрация: 22-11-08
Пользователь №: 41 866



Цитата(zltigo @ Jan 22 2010, 23:55) *
Да ну smile.gif. У Автора по сбросу совершенно нормально просматривается линия на экране - контраст ни при чем. Ну и чего там подавать или не подавать зависит от производителя дисплея (наличие а том числе и термокомпенсированных источников не редкость) и типа матрицы.

у меня тоже была линия, причем очень четкая, это и смутило меня, больше недели искал в чем может быть проблема, и никак не мог подумать на контрастностьsmile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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