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

 
 
> И снова дисплеи от WINSTAR
Зверюга
сообщение Dec 5 2008, 19:37
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Господа, прикупил себе индикатор WH0802A. Подключал - парился, не смог запустить. МНого интересного прочитал в форуме про работу с ним, завтра налажу осциллограф и буду смотреть сигналы.

А начать дифференциальную диагностику мертвого дисплея от кривых рук хочу с описания следующего симптома:

итак - у меня дисплей с синими негативными кристаллами, и белой подсветкой. То есть на синем фоне по идее должны появляться белые буквы.
Включаю дисплей (подсветку питаю от питания контроллера напаяв на специально для этого предназначенные площадки по одному 36 Ом резистору), питание 4,5 вольт.
Контрастность: подключаю подстроечник на 10 кОм, движок посередине - ничего особенного. Двигаю движок к минусу - нижняя строка сначала темнеет, потом становится светло-рыжего цвета. Почему-то только нижняя строка. Верхняя строка вся синяя.

Ваши мнения - это нормально?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Alex11
сообщение Dec 5 2008, 21:10
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Нормально, пока дисплей не проинициирован. Т.е. питание и контраст подведены верно.
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Dec 6 2008, 04:13
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Хм...

А почему только одна строка? И почему она рыжая? Контраст нужно настраивать до черного (точнее до темно-синего) или до рыжего?

Теперь по поводу инициализации вот стандартная библиотечная функция CodeVision:

Код
unsigned char lcd_init(unsigned char lcd_columns)
{
#asm
    cbi   __lcd_port,__lcd_enable;EN=0
    cbi   __lcd_port,__lcd_rs;RS=0
#endasm
_lcd_maxx=lcd_columns;
_base_y[2]=lcd_columns+0x80;
_base_y[3]=lcd_columns+0xc0;

_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x20);
_long_delay();
_lcd_write_data(0x28);
_long_delay();
_lcd_write_data(4);
_long_delay();
_lcd_write_data(0x85);
_long_delay();
#asm
    in    r26,__lcd_direction
    andi  r26,0xf            ;set as input
    out   __lcd_direction,r26
    sbi   __lcd_port,__lcd_rd;RD=1
#endasm

if (lcd_read_byte0()!=5) return 0;

_lcd_ready();
_lcd_write_data(6);
lcd_clear();
return 1;
}



Эта функция завершается с возвращением нуля.
При дальнейшем lcd_goto_xy программа зависает, причем на портах PC0 и PC1 у меня светодиоды, так вот они горят в полнакала, и гаснут, когда прикасаешься пальцами к пайке разъема на индикаторе.
Go to the top of the page
 
+Quote Post
EugeNNe
сообщение Dec 6 2008, 19:35
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 424
Регистрация: 6-03-06
Из: Н.Новгород
Пользователь №: 14 997



Проверьте подключение. Правильно ли от контроллера к дисплею сигналы подключены.... С ВинСтарами была похожая история с зависанием когда на схеме перепутали линии данных... А вообщем часто их пользуем и без проблем....
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Dec 7 2008, 11:31
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Спасибо! Все ОК, одна линия не контачила а ведь я после пайки проверял. Видимо оборвал в процессе...

Вопрос только в том - как правильно русскими буквами баловаться - вместо "абв" выводит "ДЦа"
Собственно, если из CodeVision скопировать русский текст и вставить скажем в форум, получаются крякозяблики...
Go to the top of the page
 
+Quote Post
EugeNNe
сообщение Dec 7 2008, 11:58
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 424
Регистрация: 6-03-06
Из: Н.Новгород
Пользователь №: 14 997



Про русские буквы... Тама таблица кодировки хитрая.... Посмотрите в доке... Так что просто так вывести "Доброе утро, дядя Вася..." не получится....
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 7 2008, 12:21
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Зверюга @ Dec 7 2008, 13:31) *
Вопрос только в том - как правильно русскими буквами баловаться - вместо "абв" выводит "ДЦа"
Вот:
http://electronix.ru/forum/index.php?s=&am...st&p=511086
Цитата(Зверюга @ Dec 7 2008, 13:31) *
Собственно, если из CodeVision скопировать русский текст и вставить скажем в форум, получаются крякозяблики...
Похоже на это


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
SysRq
сообщение Dec 7 2008, 13:53
Сообщение #8


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(Зверюга @ Dec 7 2008, 14:31) *
Вопрос только в том - как правильно русскими буквами баловаться - вместо "абв" выводит "ДЦа"

Вот тут есть несколько реализаций перекодирования: тыц. Может и кодовая страничка готовая есть..
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Dec 7 2008, 16:17
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Спасибо SysRq! Сделал гибрид из тех способов, что нашел по вашей ссылке - все отлично работает.
Go to the top of the page
 
+Quote Post

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

 


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


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