дисплей QC12864B
|
|
tesla88 |
Дата: Ср, 10.12.2014, 17:44 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
Всем доброго времени суток, купил с китая на пробу пару дисплеев QC12864B, библиотеки в протоне не нашёл, может кто работал с данным дисплеем, поделитесь опытом.
Сообщение отредактировал
tesla88 - Ср, 10.12.2014, 17:50
|
|
|
|
shaman |
Дата: Ср, 10.12.2014, 18:56 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Вечер добрый. http://www.digole.com/images/file/Digole_12864_LCD.pdf и http://www.protonbasic.co.uk/showthr....=ST7920
Сообщение отредактировал
shaman - Ср, 10.12.2014, 19:27
|
|
|
|
tesla88 |
Дата: Ср, 10.12.2014, 20:06 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
Спасибо за ссылки, посмотрел, мануал хорошый, а пример для двухстрочного дисплея, так я пробовал, но мне надо полноценно работать с данным дисплеем, думал может в протоне есть для него примеры и библиотеки
|
|
|
|
shaman |
Дата: Ср, 10.12.2014, 20:27 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Переписать библиотеку согласно даташита под свои нужды , и потом делайте что угодно.
|
|
|
|
tesla88 |
Дата: Чт, 11.12.2014, 10:26 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
Скажу честно, с библиотеками никогда дел не имел, даже не знаю с какой стороны к ним подходить, может есть возможность помочь в данном вопросе?
|
|
|
|
xvovanx |
Дата: Чт, 11.12.2014, 17:48 | Сообщение # 6 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
328
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
Цитата tesla88 ( ) даже не знаю с какой стороны к ним подходить, может есть возможность помочь в данном вопросе? Вот примерчики с Шпротеусом и с прогой для обработки своих картинок. Сам пока не пробовал, хотя тоже у китайцев дисплейчик приобрел.
P.S. во втором примере в симуляторе поменять местами CS1 и CS2, чтоб олень "сложился правильно".
Сообщение отредактировал
xvovanx - Чт, 11.12.2014, 17:54
|
|
|
|
ivan_fd |
Дата: Пт, 12.12.2014, 12:18 | Сообщение # 7 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
xvovanx, у tesla88 не тот дисплей, там ST7920.
tesla88, посмотрите в сети полно примеров работы с ними. Ничего сложного.
|
|
|
|
tesla88 |
Дата: Ср, 28.01.2015, 21:09 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
Всем привет! добрался всё таки до своих дисплеев, сделал плату и подключил дисплей по spi , так как проц у меня ST7920, правда прешлось с резисторами(перемычками поколдовать немного. Подключить то подключил да вот вывести на него пока нечего не могу, читал мануал лазил по форумам, везде либо примеры на asm либо arduini на си, но мне как человеку далёкому и от одного и от другого многое непонятно, -
Режим SPI Теперь о функции приема передачи команды/данных по SPI. В этом режиме участвуют 2 линии: - SID это контакт передачи данных, на дисплее он же RW
- SCLK – это линия строб, на дисплее он же E
- CS – это начала/окончания передачи данных, на дисплее он же RS
В SPI режиме передача одной команды или 1 байта данных происходит при передачи 24 бит Протокол передачи данных таков: - Устанавливаем высокий уровень CS
- Передаем 4 единицы подряд ( как оказалось надо 5)))
- Передаем 1 бит RW – чтения или запись
- Передаем 1 бит RS – Команда или данные
- Передаем 0
- Передаем 4 бита старшей половины байта данных
- Передаем 4 нуля
- Передаем 4 бита младшей половины байта данных
- Передаем 4 нуля подряд
- Устанавливаем низкий уровень CS
На этом передача одного байта завершена.
так пишут на форумах и в даташите, попробовал - на дисплее тишина
Device = 16F876A ' Использовать микроконтроллер 16F873A Declare Xtal = 4 ' Выберан кристалл частотой 4 МГц
All_Digital = On ' Все порты цифровые ( Аналоговые ) PORTC = %00000000 ' Сброс пота при включение ( выставление рабочего положения ) PORTB = %00000000 ' Сброс пота при включение ( выставление рабочего положения ) PORTA = %00000000 ' Сброс поРта при включение ( выставление рабочего положения ) TRISA = %00000001 ' настройка порта ( 1 вход или 0 выхзод - 1 или 0 ) TRISB = %00000000 ' настройка порта ( 1 вход или 0 выхзод - 1 или 0 ) TRISC = %00000000 ' настройка порта ( 1 вход или 0 выхзод - 1 или 0 ) Symbol LCD_SCL = PORTB.4 Symbol LCD_CS = PORTB.3 Symbol LCD_SI = PORTB.1 '-- Инициализация LCD -- DelayMS 40 High LCD_SCL ' Начальное значение сигнала Low LCD_CS ' Начало последовательности команд SHOut LCD_SI, LCD_SCL, MsbFirst, [%11111000, %00000000, %10110000 ] ' включить дисплей, включить курсор, включить мигание курсора High LCD_CS DelayUS 100 Low LCD_CS ' Начало последовательности команд SHOut LCD_SI, LCD_SCL, MsbFirst, [%11111000, %00000000, %11000000 ] ' очистить дисплей High LCD_CS DelayUS 100 Low LCD_CS ' Начало последовательности команд SHOut LCD_SI, LCD_SCL, MsbFirst, [%11111000, %00010000, %11000000 ] ' сдвинуть курсор High LCD_CS DelayUS 100 '-- Конец инициализации LCD - main:
DelayMS 500 GoTo main
немогу понять что я делаю не так ? курсор то вроде должен был появиться и мигать как я понимаю?
Сообщение отредактировал
tesla88 - Ср, 28.01.2015, 22:43
|
|
|
|
Matrix252005 |
Дата: Чт, 29.01.2015, 08:51 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!!
tesla88, гляньте тут, может что поможет: http://habrahabr.ru/post/213459/ http://bascomavr.3bb.ru/viewtopic.php?id=381#p14707 http://bascomavr.3bb.ru/viewtopic.php?id=736 http://radiokot.ru/forum/viewtopic.php?f=61&t=99043
Бегло глянул, проблем нет...
З.Ы. переделать прогу с СИ на Бэйсик, больших проблем нет... Операторы похожи...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
tesla88 |
Дата: Чт, 29.01.2015, 10:13 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
и всё же что то я сделал не так, с данным кодом дисплей отключен, контрасность не меняется после прошивки и отправки этих команд, я немогу понять правильно ли я шлю на него команды? DelayMS 40 High LCD_SCL ' Начальное значение сигнала Low LCD_CS ' Начало последовательности команд SHOut LCD_SI, LCD_SCL, MsbFirst, [%11111000, %00000000, %10110000 ] ' включить дисплей, включить курсор, включить мигание курсора High LCD_CS DelayUS 100 Low LCD_CS ' Начало последовательности команд SHOut LCD_SI, LCD_SCL, MsbFirst, [%11111000, %00000000, %11000000 ] ' очистить дисплей High LCD_CS DelayUS 100 Low LCD_CS ' Начало последовательности команд SHOut LCD_SI, LCD_SCL, MsbFirst, [%11111000, %00010000, %11000000 ] ' сдвинуть курсор High LCD_CS DelayUS 100
|
|
|
|
Matrix252005 |
Дата: Чт, 29.01.2015, 10:54 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Я не знаю, правильно Вы подключили или нет, но еще раз сравните с этим рисунком: http://habrastorage.org/getpro....22e.png Вывод PSB должен быть подключен к массе.
"Теперь о функции приема передачи команды/данных по SPI. В этом режиме участвуют 2 линии: - SID это контакт передачи данных, на дисплее он же RW
- SCLK – это линия строб, на дисплее он же E
- CS – это начала/окончания передачи данных, на дисплее он же RS
Что то я не могу понять... Там софтовый СПИ...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
tesla88 |
Дата: Сб, 31.01.2015, 21:52 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
114
Замечания:
±
На сайте с 20.11.2010
Статус:
Offline
|
Да Николай я пытаюсь всё это реализовать на совтовом SPI, дисплей подключен правильно, и PSB на земле сидит для последовательной передачи данных, в общем все как на вашей картинке, меня интересует правильность передачи команд в моем коде, пототму как отправляю все это в дисплей, а на экране пусто, и что самое интересное - до передачи команд на дисплее видно пиксельную сетку( специально контраста немного добавил) а после передачи экран совсем чистый, ощущение что я его не включаю этими командами а наоборот выключаю
|
|
|
|
xvovanx |
Дата: Вс, 01.02.2015, 21:06 | Сообщение # 13 |
Группа:
Модераторы
Ранг:
Помогаю всем
Сообщений:
328
Замечания:
±
На сайте с 02.05.2013
Статус:
Offline
|
А резистор-перемычку если проверить?
|
|
|
|
Matrix252005 |
Дата: Пн, 02.02.2015, 09:07 | Сообщение # 14 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток!!
tesla88, что Вы имеете ввиду, под словом "софтовый СПИ"??? Если то, что Вы используете команду "SHOut ", то Вы ошибаетесь!!! Софтовый - это когда Вы (МК) "дергает" ножками с кода: Часть кода с Хабра!!! Там на Асме, но смысл понятен:
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|