Технический форум по робототехнике.
EdGull » 24 окт 2007, 11:45
взято вот у этого доброго человека
http://city.tomsk.net/~pic16f84/mp3vkarmane.nm.ru/lcd.html![Изображение](http://city.tomsk.net/~pic16f84/mp3vkarmane.nm.ru/pic/3410top.jpg)
PDF на почти такой контроллер LCD
http://www.amontec.com/lcd_controller_pcd8544.pdfкод на псевдо-С показывает алгоритм инициализации дисплея:
- Код: Выделить всё • Развернуть
bit_dc=0;
bit_cs=1;
bit_reset=0; // сброс
delay(500); // в микросекундах
bit_reset=1;
delay(500);
bit_cs=0;
bit_dc=0; // запись в регистры
Send_SPI(0x21); // включить питание, расшир. команды
Send_SPI(0x13); // bias=3
Send_SPI(0xC8); // включить внутренний источник, Vop=0x48;
Send_SPI(0x20); // обычный набор инструкций
Send_SPI(0x0c); // нормальный режим отображения D=1 E=0
bit_cs=1;
/* После сброса X=0 и Y=0, а в памяти - случайный мусор */
bit_cs=0;
bit_dc=1; // запись в память экрана
for(i=0;i<909;i++) Send_SPI(0); // Очиска от случайного мусора.
bit_cs=1;
// далее следует выбрать X и Y и можно начинать рисование ...
тоже CODE поставил
<V>
Strijar » 06 ноя 2007, 21:13
Кто нибудь пробовал? У меня не заводится... просто чистый экран. Для "согласования уровней" достаточно резюков по 390ом?
EdGull » 06 ноя 2007, 21:35
Strijar писал(а):Для "согласования уровней" достаточно резюков по 390ом?
нет конечно! есть вероятность что ты уже спарил жки
ты для пробы запитай всю конструкцию в том числе и мегу от 3.3В
и кстати, а может ты spi неправильно конфигурируешь?
Strijar » 06 ноя 2007, 22:39
Хм, наш электронщик сказал, что и 100 должно хватить
![Wink ;)](http://roboforum.ru/images/smilies/icon_e_wink.gif)
Ладно - завтра проверю с питанием меги от 3в. SPI конфигурю по примеру на 3310 - SPCR = 0x50
Просто я еще его "разбирал" - рамку снимал, что-бы обрезать лишнее и припаяться (боялся перегреть). Потом собрал, вроде плотно. Может контакт плохой? Как нибудь он должен звониться?
EdGull » 07 ноя 2007, 09:32
SPI конфигурю по примеру на 3310 - SPCR = 0x50
Боюсь что ты его не доконфигурировал
Strijar » 07 ноя 2007, 16:52
Дык куда его еще то доконфигуривать? Нашел у себя ошибку - MOSI на выход не включал (точней не тот пин), перевел на 3в мегу и прозвонил дисплей (от земли все ноги звонятся как диод). Не заводится. Из изменений только то что отключении питания появляется горизонтальная линия в случайном месте и медленно гаснет...
EdGull » 07 ноя 2007, 17:07
смотри скока там всего хорошего менять можно
- Код: Выделить всё • Развернуть
CONFIG SPI = HARD, DINTERRUPT=ON|OFF, ATA ORDER = LSB|MSB , MASTER = YES|NO , POLARITY = HIGH|LOW , PHASE = 0|1, CLOCKRATE = 4|16|64|128 , NOSS=1|0
Strijar » 07 ноя 2007, 18:08
Можно не значит нужно
![Wink ;)](http://roboforum.ru/images/smilies/icon_e_wink.gif)
0x50 это enable и master, остальное по нулям.
Master » 07 ноя 2007, 18:25
Strijar писал(а):Можно не значит нужно
![Wink ;)](http://roboforum.ru/images/smilies/icon_e_wink.gif)
0x50 это enable и master, остальное по нулям.
А может провода от дисплея до платы сильно длинные?
Strijar » 07 ноя 2007, 18:31
От контролера до разъема 1-2см, и на другой стороне разъема 5см
EdGull » 07 ноя 2007, 22:43
Strijar писал(а):Можно не значит нужно
![Wink ;)](http://roboforum.ru/images/smilies/icon_e_wink.gif)
0x50 это enable и master, остальное по нулям.
Ну а с чего ты решил что не нужно???!!!
У тебя явно либо косяк по схеме либо по конфигурации SPI
Strijar » 08 ноя 2007, 17:19
Проверил схему, покрутил SPI - все правильно. Видимо он все таки пострадал от 5в.. на днях куплю другой - буду дальше мучать.
Strijar » 13 ноя 2007, 21:26
Подпаял новый - один фиг не заводится! Я даже ЖКИ отключаю когда програматор включен - что-б на него не наводилось 5в... Ума не приложу в чем дело...
EdGull » 13 ноя 2007, 21:33
попробуй по spi с другой железякой пообщаться, например с SD карточкой
Strijar » 13 ноя 2007, 21:41
вот-вот! к такой же мысли пришел
![Wink ;)](http://roboforum.ru/images/smilies/wink.gif)
Тем более что давно уже пора