| Форум РадиоКот https://radiokot.ru/forum/ |
|
| OLED на WS0010 https://radiokot.ru/forum/viewtopic.php?f=61&t=85323 |
Страница 1 из 2 |
| Автор: | BenTech [ Вс фев 17, 2013 22:00:11 ] |
| Заголовок сообщения: | OLED на WS0010 |
Добрый вечер. Приглянулся мне дисплей, OLED зеленый. 76*16 точек. Внутри стоит контроллер ws0010 - аналог известного hd44780, но с бонусом - есть графический режим. Вот с этим режимом и проблема, я в упор не могу сообразить, каким образом идет адресация? Информации мало, нашел одну тему на easyelectronics. Покурил DS + исходники одного проекта под STM32. В итоге дисплей в граф. режиме запустил, и даже нарисовал вот такую вот штуку. ![]() Вот адресация в Graphic Mode из DS ![]() Вот код пилы. Уже запутался, какие сдвиги для чего. Код: void main(void) { DDRB=0xff; //Инициализация portB PORTB=0x00; /******************************************************** RS RW E D0 D1 D2 D3 D4 D5 D6 D7 -- lcd out P0 P1 P2 ** ** ** ** P4 P5 P6 P7 -- portb *********************************************************/ LCD_Init(); LCD_WriteCom(0x08); LCD_WriteCom(0x1F); LCD_WriteCom(0x01); LCD_WriteCom(0x08|0x04); y=0x01; LCD_WriteCom(0x40 + 0); LCD_WriteCom(0x80 + 0); for (x=0;x<76; x++) { LCD_WriteData((int)(y&0x00FF)); if ((x & 0x08) == 0) y <<= 1; else y >>= 1; } while(1) { } Заранее спасибо! |
|
| Автор: | m.ix [ Вс фев 17, 2013 22:32:35 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
BenTechв Можешь свой дисплей разобрать и сфоткать? |
|
| Автор: | BenTech [ Вс фев 17, 2013 23:58:47 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
Не работал бы - разобрал без проблем, у меня не получается прилепить назад токопроводящую резину, чтобы 100% контакт везде был =). А с какой целью? Там под дисплеем пустая плата. Поскольку он OLED, то даже "ящика" с подсветкой нет =). Вот только с контроллером засада. |
|
| Автор: | m.ix [ Пн фев 18, 2013 00:41:50 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
Спойлертам вроде во всех с резинками проблем ни где не наблюдается.просто как он выглдит В магнитолах я видел, могу качественную фотку дать а вот типа самоделкины - нет была бы возможность сам бы паказал бы и не спрашивал. ![]() http://photos.streamphoto.ru/9/0/1/558a ... b44109.jpg ![]() ![]() |
|
| Автор: | Kavka [ Пн фев 18, 2013 02:41:19 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
BenTech писал(а): есть графический режим. Вот с этим режимом и проблема, я в упор не могу сообразить, каким образом идет адресация? Всего 100x16 точек. Адресуются вертикальные колонки по 8 точек (100x2). По X - адрес DDRAM (0..99). По Y - адрес CGRAM (0..1 +64). Потом запись байта - 8 точек, сверху бит 0, снизу бит 7. Всё есть на картинке из спецификации, что вы привели. Что непонятного то? На сколько я могу судить по коду - по X позиция увеличивается автоматически. |
|
| Автор: | Jurkin [ Пн фев 18, 2013 11:57:14 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
...немного не понял, у вас графический дисплей как в приведённой вами ссылке или же алфавитный с возможностью вывода графики? ...это в принципе не одно и то же. ...Если алфавитный то можете посмотреть мой отчётик по эксперементам с графикой. Мой ник там Pajatel. http://forum.easyelectronics.ru/viewtopic.php?f=9&t=9727 |
|
| Автор: | Kavka [ Пн фев 18, 2013 14:07:25 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
AFAIK, у ВинСтара есть и графические и символьные на этом контроллере. Отличаются только наличием зазора между участками пикселей соответствующими знакоместу. |
|
| Автор: | Jurkin [ Пн фев 18, 2013 23:15:14 ] | ||
| Заголовок сообщения: | Re: OLED на ws0010 | ||
BenTech писал(а): Jurkin да, как вы сделали эту надпись КАКТОТАК в рамочке? Мне нужно сделать нечто подобное. ...млин, и куда подевал свои ваяния, хоть убей, не найду. Писал на асме, код вывода там на скока помнится элементарный, сначала даётся адрес с которого места начинать выводить а потом данные типа 1 байт =8ми точкам и кидаешь эти данные подряд , а он их подряд выводит. Если данных больше к примеру чем область вывода то вывод начинается по кругу. Думаю можно даже примитивную мультипликацию делать. А готовил я данные - рисовал в какойто элементарной проге, типа "Fast LCD Designer"(если не ошибаюсь ..ну вот данные похоже нашёл ("как то так")
|
|||
| Автор: | Jurkin [ Пн фев 18, 2013 23:50:01 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
...не очень шуруплю в Си, но когда я баловался с графикой в асм, никаких проблем со смещением не было. Всё как хотел так и выводилось, другое дело в СИ... может подключаете какую стандатртную библиотеку, а она ужё чёт по своему перетрахивает... ..ну вот нашёл свой кусок кода на асме: Код: LDI temp2,$C8 LDI R17,$40 LDI ZL,low(gra*2) LDI ZH,high(gra*2) RCALL CMD_WR kr6: LPM R17,Z+ RCALL DATA_WR DEC temp2 BRNE kr6 gra: .db $FF,$01,$01,$01,$01,$01,$FD,$FD,$C1,$E1,$3D,$0D,$01,$01,$01,$81,$E1,$FD,$3D,$F9 .db $01,$01,$01,$01,$01,$FD,$FD,$81,$C1,$E1,$1D,$0D,$01,$01,$01,$01,$01,$0D,$0D,$0D .db $FD,$FD,$0D,$0D,$0D,$01,$F1,$F9,$1D,$0D,$1D,$F9,$F1,$01,$01,$01,$01,$01,$01,$0D .db $0D,$FD,$FD,$0D,$0D,$0D,$01,$01,$01,$E1,$3D,$79,$E1,$81,$01,$01,$FD,$FD,$01,$C1 .db $7D,$1D,$0D,$01,$01,$01,$FD,$FD,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$FF .db $FF,$80,$80,$80,$80,$80,$BF,$BF,$81,$80,$9F,$BC,$B0,$80,$B8,$9F,$87,$86,$86,$86 .db $9F,$BC,$B0,$80,$80,$BF,$BF,$83,$81,$87,$BC,$B0,$80,$80,$80,$80,$80,$80,$80,$80 .db $BF,$BF,$80,$80,$80,$80,$8F,$9F,$B8,$B0,$B8,$9F,$8F,$80,$80,$80,$80,$80,$80,$80 .db $80,$BF,$BF,$80,$80,$80,$B0,$BC,$9F,$87,$86,$86,$87,$8F,$BE,$80,$BF,$BF,$87,$83 .db $8F,$9C,$B8,$B0,$80,$80,$B7,$B7,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$80,$FF ...если поясней - передаю команду $40 и после неё 200 штук данных и все дела |
|
| Автор: | Kavka [ Вт фев 19, 2013 06:35:59 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
BenTech, попробуйте перед установкой первой строки вставить LCD_WriteCom(0x02); |
|
| Автор: | BenTech [ Вт фев 19, 2013 10:32:46 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
Не помогло. Может быть с контроллером какая неисправность? |
|
| Автор: | Jurkin [ Вт фев 19, 2013 12:21:23 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
...а те данные, что я привёл, если всовываете, тоже всё смещается? |
|
| Автор: | Gudd-Head [ Вт фев 19, 2013 13:49:48 ] |
| Заголовок сообщения: | Re: OLED на ws0010 |
Прилеплю тему и зацеплюсь. У самого сейчас WEH005016 стоит в разрабатываем девайсе. |
|
| Автор: | m.ix [ Ср фев 20, 2013 02:32:42 ] |
| Заголовок сообщения: | Re: OLED на WS0010 |
Сторонний вопрос возможно касабелен и этих оледов если поставлю графический индикатор вместо знако-синтезирующего работать будет адекватно во втором режиме? не в графическом. |
|
| Автор: | m.ix [ Ср фев 20, 2013 12:42:17 ] |
| Заголовок сообщения: | Re: OLED на WS0010 |
Просто хочется где то по дешевше купить хотя бы один (или два) - для посмотреть как это оно там не только снаружи но и в потрахах. А то не дождёшься. Это типа графику пытаются изваять на знакосинтезируемых http://arduino.cc/forum/index.php/topic,44427.0.html |
|
| Автор: | Gudd-Head [ Ср фев 20, 2013 12:51:38 ] |
| Заголовок сообщения: | Re: OLED на WS0010 |
m.ix писал(а): Это типа графику пытаются изваять на знакосинтезируемых Фигня. Вот как надо: А WEG005016 я брал за 300...350 р. (цена от цвета зависила). Ща их вообще ни у кого в наличии не вижу |
|
| Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|











