Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » дисплей QC12864B
дисплей QC12864B
tesla88 Дата: Ср, 10.12.2014, 17:44  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Всем доброго времени суток, купил с китая на пробу пару дисплеев QC12864B, библиотеки в протоне не нашёл, может кто работал с данным дисплеем, поделитесь опытом.
Прикрепления: QC12864B_.pdf (352.9 Kb) · 1576040.jpg (149.7 Kb)

Сообщение отредактировал tesla88 - Ср, 10.12.2014, 17:50
ЯНДЕКС Дата: 10.12.2014
shaman Дата: Ср, 10.12.2014, 18:56  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Спасибо за ссылки, посмотрел, мануал хорошый, а пример для двухстрочного дисплея, так я пробовал, но мне надо полноценно работать с данным дисплеем, думал может в протоне есть для него примеры и библиотеки
shaman Дата: Ср, 10.12.2014, 20:27  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 07.11.2011

Статус: Offline

Переписать библиотеку согласно даташита под свои нужды , и потом делайте что угодно.
tesla88 Дата: Чт, 11.12.2014, 10:26  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Скажу честно, с библиотеками никогда дел не имел, даже не знаю с какой стороны к ним подходить, может есть возможность помочь в данном вопросе?
xvovanx Дата: Чт, 11.12.2014, 17:48  |                                                                                                                Сообщение # 6
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата tesla88 ()
даже не знаю с какой стороны к ним подходить, может есть возможность помочь в данном вопросе?

Вот примерчики с Шпротеусом и с прогой для обработки своих картинок. Сам пока не пробовал, хотя тоже у китайцев дисплейчик приобрел.

P.S. во втором примере в симуляторе поменять местами CS1 и CS2, чтоб олень "сложился правильно".
Прикрепления: Graphic_LCD1286.7z (407.2 Kb) · GLCD_3_TRKYE_RE.7z (101.8 Kb)

Сообщение отредактировал xvovanx - Чт, 11.12.2014, 17:54
ivan_fd Дата: Пт, 12.12.2014, 12:18  |                                                                                                                Сообщение # 7
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

xvovanx,   у tesla88 не тот дисплей,  там ST7920.

tesla88, посмотрите в сети полно примеров работы с ними. Ничего сложного.


tesla88 Дата: Ср, 28.01.2015, 21:09  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 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 

немогу понять что я делаю не так ? курсор то вроде должен был появиться и мигать как я понимаю?
Прикрепления: 8857909.jpg (137.4 Kb)

Сообщение отредактировал tesla88 - Ср, 28.01.2015, 22:43
Matrix252005 Дата: Чт, 29.01.2015, 08:51  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 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
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Я не знаю, правильно Вы подключили или нет, но еще раз сравните с этим рисунком:
http://habrastorage.org/getpro....22e.png
Вывод PSB должен быть подключен к массе.

"Теперь о функции приема передачи команды/данных по SPI.
В этом режиме участвуют 2 линии:
  • SID это контакт передачи данных, на дисплее он же RW
  • SCLK – это линия строб, на дисплее он же E
  • CS – это начала/окончания передачи данных, на дисплее он же RS

Что то я не могу понять... Там софтовый СПИ...


THE TRUTH IS OUT THERE.

С уважением, Николай.
ЯНДЕКС Дата: 29.01.2015
tesla88 Дата: Сб, 31.01.2015, 21:52  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Да Николай я пытаюсь всё это реализовать на совтовом SPI, дисплей подключен правильно, и PSB на земле сидит для последовательной передачи данных, в общем все как на вашей картинке, меня интересует правильность передачи команд в моем коде, пототму как отправляю все это в дисплей, а на экране пусто, и что самое интересное - до передачи команд на дисплее видно пиксельную сетку( специально контраста немного добавил) а после передачи экран совсем чистый,  ощущение что я его не включаю этими командами а наоборот  выключаю
xvovanx Дата: Вс, 01.02.2015, 21:06  |                                                                                                                Сообщение # 13
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 326
Репутация: 59   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

А резистор-перемычку если проверить?
Прикрепления: 1384794.jpg (137.4 Kb)
Matrix252005 Дата: Пн, 02.02.2015, 09:07  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Приятного времени суток!!

tesla88, что Вы имеете ввиду, под словом "софтовый СПИ"???
Если то, что Вы используете команду "SHOut ", то Вы ошибаетесь!!! Софтовый - это когда Вы (МК) "дергает" ножками с кода:
Часть кода с Хабра!!! Там на Асме, но смысл понятен:



THE TRUTH IS OUT THERE.

С уважением, Николай.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » дисплей QC12864B
  • Страница 1 из 1
  • 1
Поиск: