KS0108 128x64 Графический ЖК -дисплей

Paulrb
Пт 19 июня 2015 г. 8:12 утра
Все,

Потратил пару часов, пытаясь заставить один из них работать с Maple Mini Clone вчера вечером без успеха. Дисплей похож на http: // www.Адафрут.com/продукты/253. В листе данных указывается напряжение питания в минуту 4.75V, поэтому я знал.

Устройство не кажется 3.3V совместимо. Он имеет на борту негативное генератор напряжения, чтобы разрешить настроить контраст, но это просто не может генерировать достаточное негативное напряжение, если вы предоставите его только 3.3V снабжение. Я не мог бы сказать, работал ли дисплей или нет, не имея возможности правильно отрегулировать контраст.

Затем я переключился на питание от 5 -В USB -питания. Затем я смог отрегулировать контраст, так что, например, в одну крайность регулировки контраста, все пиксели немного темные. Но дисплей остался пустым. Проверка листа данных, я не думаю, что его логические входы распознадут 3.3V логика с клена, когда он работает при подаче 5 В. В листах данных говорится, что высокий уровень должен быть выше 0.7 из напряжения питания, я.эн. более 3.5 В.

Поэтому мой вывод заключается в том, что мне понадобятся преобразователи уровня для запуска дисплея. Однако возможно, что я сделал какую -то другую ошибку в своем коде, и именно поэтому дисплей остался пустым. Я протестировал дисплей с ATMEGA328, работающим в 5 В, без проблем.

Кто -нибудь еще добился успеха с этим типом дисплея? Если так, как ты это добился?

Спасибо,

Пол

Мадиас
Пт 19 июня 2015 г., 17:49
Все, что я могу сказать, это то, что я перенес дисплей 128x64 с помощью чипсета ST7920. Доска тихо, похожая на KS0108, поэтому у меня нет проблем с напряжением (наверняка: VCC должен быть 5 В). У вас есть логический анализатор? Таким образом, вы можете сравнить выход из Uno-Library с Library STM32.

Paulrb
Пт 19 июня 2015 г., 22:53
Спасибо за ответ, мадиас. Ваш дисплей на основе ST7920, похоже, имеет аналогичные характеристики с KS0108. Высокий должен быть 0.7 из VDD в соответствии с обоими листами данных.

У меня нет логического анализатора. Я не использую библиотеку, просто DigitalWrite ().

Мадиас
SAT 20 июня 2015 г., 6:00 утра
Пожалуйста, опубликуйте свой код, чтобы я мог посмотреть на него! (в ближайшее время в понедельник)

РЕДАКТИРОВАТЬ: Как я помню, какой -то код AVR, который я использовал, был слишком быстр на руке для чипсета ST7920. Так что, возможно, вы можете протестировать свой код с небольшими задержками после каждой команды отображения?

Матиас

Paulrb
Солнце 21 июня 2015 г. 15:10
Я обнаружил, что AVR также был слишком быстрым для KS0108, поэтому я уже добавил задержки в своем коде, когда он работал на AVR. Я надеялся, что, учитывая, что эти задержки были сделаны с использованием задержки -микросекунд (), что дополнительная скорость руки не будет иметь значения. Я попробую более длинные задержки, спасибо за предложение.

Rogerclark
Пн, 6 июля 2015 г., 11:20 утра
Ребята,

Я знаю, что вы, вероятно, догадаетесь о количестве задержки, но имейте в виду... Из того, что я прочитал на старом форуме Maple, функции задержки не особенно точны. Они не используют Systick, они просто петли с NOPS в них.

Таким образом, задержка будет частично зависеть от всего, что будет мешать основной временной линии, я.E тяжелое использование ISR удлиняет время, учитывая мою задержку () и т. Д

Mrburnette
Пн, 6 июля 2015 г., 11:49
Я обычно пытаюсь использовать Nano или Pro Mini, чтобы проверить дисплеи, когда получаю что -то странное от Китая... Выбор кода AVR особенно обширный. Затем, как только я узнаю, что показ выступит! Просто мой анальный персонаж, я подозреваю : D


Луча

Jucordero
Пн 17 октября 2016 г. 12:03
Всем привет,

Мне удалось получить один из этих дисплеев KS0108, работая на клоне Maple Mini, используя OpenGLCD. Сначала компилятор жаловался на определение аналоговых контактов (A0 через A5), поэтому я просто изменил назначения PIN-кода в '/config/ks0108/pinconfig_ks0108-corecode.H 'к чему -то подобному:
/* Data pin definitions */ #define glcdPinData0 11 #define glcdPinData1 10 #define glcdPinData2 9 #define glcdPinData3 8 #define glcdPinData4 7 #define glcdPinData5 6 #define glcdPinData6 5 #define glcdPinData7 4 /* Arduino pins used for Control * default assignment uses the first five analog pins */ #define glcdPinCSEL1 14 #define glcdPinCSEL2 12 #if NBR_CHIP_SELECT_PINS > 2 #define glcdPinCSEL3 3 // third chip select if needed #endif #if NBR_CHIP_SELECT_PINS > 3 #define glcdPinCSEL4 2 // fourth chip select if needed #endif #define glcdPinRW 28 #define glcdPinDI 29 #define glcdPinEN 30 // Reset - uncomment the next line if glcd module reset is connected to an Arduino pin //#define glcdPinRES A5 // optional s/w Reset control //#define glcdPinBL XX // optional backlight control pin controls BL circuit #endif //GLCD_PIN_CONFIG_H

Rogerclark
Пн 17 октября 2016 г. 1:57
Странно, он бежит медленно, он должен быть почти таким же быстрым, как и гораздо быстрее, чем avr

Но, по крайней мере, сейчас это работает

Мадиас
Пн 17 октября 2016 г., 21:33
Я не знаю библиотеку OpenGLCD, а не KS0108, но я думаю, если она управляется SPI, разделитель SPI должен быть изменен где -нибудь в коде. Если это только «Software SPI» или 8-битная параллель, то я думаю, что должен быть какой-то специальный код, и, возможно, для подростка есть код манипулирования PIN-кодами низкого уровня, а STM32 использует универсальный «DigitalWrite»?
...Но даже с 8-битным "DigitalWrite" STM32 должен быть быстрее, чем может обрабатывать дисплей KS.

Jucordero
Ср 19 октября 2016 г. 14:03
Он использует 8-битную параллель.
Не было много времени, чтобы просмотреть конкретные библиотеки для Teensy и общего. На клене он показал 3-4 кадров в секунду.

Стивестронг
Ср 19 октября 2016 г. 15:11
Например, уже обсуждалась 8 -битная параллель здесь.

Соединения?