Помогите завести LCD_Nokia 6100 с контроллером PCF8833

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Сообщение jordan »

Здравствуйте коты! есть дисплейчик от nokia 6100 с контроллером PCF8833, дисплей использует односторонний SPI интерфейс, распиновка дисплея и даташт на контроллер есть в инете, куча примеров но вся эта куча переведена с одного из буржуйских сайтов с примером и прошивкой, только она написана на Си, я к сожалению не познал еще Си, пишу на асме и пока что все устраивает, организовал SPI программно, шлю ему команды из даташита а он молчит как не живой( но дисплей на 100% рабочий я периодически подкидываю его на телефон и он работает )... там скорее всего нужно с начала слать некоторое количество команд с настройками а потом уже все остальное... ПОМОГИТЕ пожалуйста его завести!!!
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Сообщение jordan »

есть прогресс, разобрался в прошивке которая есть в инете, правда я в си не очень но понял что он шлет на дисплей, послал тоже самое дисплей прошёл инициализацию, очистился... а как заполнить память не пойму в даташите примерно 50 раличных команд не могу их применить... а в той прошивке человек проводил инициализацию, а сам масив с картинкой слал через уарт... поэтому понять как он заполнял память дисплея не понятно... Помогите пожалуйста кто уже разобрался... подскажите алгоритм заполнения памяти дисплея и инициализацию тоже на всякий случай сравнить правельно я сделал или нет
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34

Сообщение neonix »

Выложи сюда исходник, а мы глянем и подскажем как заполняется дисплей.
Where technology meets enjoyment.
Контактная информация:
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Сообщение jordan »

вот исходник и проги, но насколько я понял его прошивку, я в си не силён но я так понял что инфу для заполнения памяти он получает через uart...
Вложения
nokia_6100_display_test.rar
(39.71 КБ) 334 скачивания
Реклама
Эиком - электронные компоненты и радиодетали
Электрический кот
Аватара пользователя
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34

Сообщение neonix »

В чем у вас проблема я не понимаю :) там же всё проще простого
Этими командами выставляеться откуда покуда рисовать

Код: Выделить всё

  
sendCMD(0x2A); Х
  sendData(0); задаем точку где будем рисовать х
  sendData(131); размер окна вывода х

  //Page Adress Set
  sendCMD(0x2B); Y
  sendData(0); задаем точку где будем рисовать у
  sendData(131); размер окна вывода у

  //Memory Write
  sendCMD(0x2C); запись в память, запускать всегда перед выводом точки

  sendData(color); передаем цвет точки
Основные цвета

Код: Выделить всё

#define BLACK 0x00
#define WHITE 0xFF
#define RED   0xA0
#define GREEN 0x10
#define BLUE 0x07
#define YELLOW 0x0FF0
#define PINK 0x0F0F
#define MAGENTA 0x0707
#define VIOLET 0x070F
#define ORANGE 0x0F70
#define SKY 0x00FF
#define LBLUE 0x007F
#define BROWN 0x0730
#define GREY 0x0777
Считаем цвет точки для 4096 цветов(т.к в этом режиме передаеться цвет двух пикселей на экране)

Код: Выделить всё

void lcd_clr16	(uint16_t color)   //Команды 16 бит
{   //unsigned char color2;
    lcd_dat((unsigned char)(color>>4));
    lcd_dat((unsigned char)(color<<4)+(unsigned char)(color>>8));
    lcd_dat((unsigned char)(color));
}
в вашем случае, после инициализации надо передать следующее

Код: Выделить всё

  sendCMD(0x2A); Х
  sendData(10); закрашивать будем 10й пиксель
  sendData(131); 

  //Page Adress Set
  sendCMD(0x2B); Y
  sendData(10); закрашивать будем 10й пиксель
  sendData(131);

  sendCMD(0x2C); 

  sendData(0xFF); белый пиксель рисуеться по координатам 10,10
Where technology meets enjoyment.
Контактная информация:
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Сообщение jordan »

спасибо, сейчас буду разбираться, еще вопросики есть, после команды 0x2C - это по мойму команда memory write, нужно еще что команды для вывода или обновления дисплея, или он обновится автоматически после заполнения памяти?
Реклама
Электрический кот
Аватара пользователя
Сообщения: 1040
Зарегистрирован: Чт фев 19, 2009 17:46:34

Сообщение neonix »

После мемори врайт пишем собственно нужные данные о цвете пикселя, всё что до мемори врайт это установка точки где будем рисовать.
Where technology meets enjoyment.
Контактная информация:
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Чт апр 01, 2010 14:14:55

Сообщение jordan »

спасибо neonix!!! все действительно просто! а то я сам себе какие то чудеса напридумывал и варюсь... спасибо всё получилось!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»