Работа с ЖКИ на контроллере HD44780 и его аналогах

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
ellioh
Встал на лапы
Сообщения: 100
Зарегистрирован: Сб янв 22, 2011 16:57:45

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение ellioh »

Gudd-Head писал(а):
ellioh писал(а):Может кто-то что посоветовать?

Пробовать :)
Обычно выставляю данные, затем дёргаю Е. Данные не меняю до тех пор, пока не надо что-то ещё вывести.


Просто я либу пишу, везде не попробовать. А сам делаю так же.
Клоподавер упрыгхт
Аватара пользователя
Av4arik
Поставщик валерьянки для Кота
Сообщения: 1954
Зарегистрирован: Чт янв 20, 2011 16:47:18
Откуда: Старый Оскол
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Av4arik »

Stalker46 писал(а):Ну, врядли кто тут вам может помочЬ, не заглядываю в даташит.
А неужели ни у кого из знакомых нет компьютера с выходом в Интернет? Быть того не может...
А в даташите вся информация по вашим вопросам - есть и на первых страницах...:)

можно было даже текст привести, например, в виде цитаты с этого самого даташита....
если же сами не разбираетесь (или лень, или религия не позволяет, или просто хочется поиздеваться (нужное подчеркнуть)), не надо предлагать пойти к другу почитать ДШ когда я в предыдущем посте очень доходчиво предложил не отправлять на чтение ДШ..
Зачем давать бестолковый ответ, если есть возможность ответить нормально?
Дискуссию продолжать не стану - нет смысла..
Собственно, вопрос снят - на десятой странице темы форума написано что подсветка подключается отдельно от всего, и по всей видимости ноги 15, 16 висят в воздухе - если нет подсветки у дисплея (мультиметром не звонятся)...
Быстро, Качественно, Недорого.
Выбрать можно только 2 варианта.
Amator
Открыл глаза
Сообщения: 65
Зарегистрирован: Вс дек 06, 2009 19:18:11
Откуда: Ukrain, Sumy
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Amator »

Av4arik писал(а):Собственно, вопрос снят - на десятой странице темы форума написано что подсветка подключается отдельно от всего, и по всей видимости ноги 15, 16 висят в воздухе - если нет подсветки у дисплея (мультиметром не звонятся)...


То что мультиметром не звонятся еще не факт отсутствия подсветки. Посмотри по печатке самого дисплея. Куда тебя выведут эти (15, 16) ноги.

16 нога - катод (-) светодиода подсветки.
15 нога - анод (+) светодиода подсветки.

Для проверки работоспособности подсветки 16 ногу посадить на корпус а на 15 через резистор 50 Ом +5в (например от компьютерного блока питания). Остальные ноги не трогать. Если все нормально, то увидишь подсветку (естественно не при ярком освещении).
Если на клетке со слоном увидишь надпись "Буйвол" - не верь глазам своим.
Аватара пользователя
Av4arik
Поставщик валерьянки для Кота
Сообщения: 1954
Зарегистрирован: Чт янв 20, 2011 16:47:18
Откуда: Старый Оскол
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Av4arik »

Ну заведомо дисплей был без подсветки, вопрос стоял в том, что делать с этими выводами если нет подсветки... Теперь знаю, что к ним ничего не нужно подключать
Быстро, Качественно, Недорого.
Выбрать можно только 2 варианта.
Аватара пользователя
VirZh
Встал на лапы
Сообщения: 86
Зарегистрирован: Вс фев 27, 2011 01:01:11
Откуда: Республика Крым

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение VirZh »

Amator писал(а):То что мультиметром не звонятся еще не факт отсутствия подсветки. Посмотри по печатке самого дисплея. Куда тебя выведут эти (15, 16) ноги.

16 нога - катод (-) светодиода подсветки.
15 нога - анод (+) светодиода подсветки.

Для проверки работоспособности подсветки 16 ногу посадить на корпус а на 15 через резистор 50 Ом +5в (например от компьютерного блока питания). Остальные ноги не трогать. Если все нормально, то увидишь подсветку (естественно не при ярком освещении).


На самом деле резистор не нужен. На дисплее предусмотрено, что на подсветку будет напрямую подаваться 5 Вольт. (Ограничение тока уже имеется). Я обычно включаю подсветку открывая транзисторный ключ с ноги контроллера при нажатии на любую клавишу устройства. Отключаю автоматически через 0,5-2 мин. если не нажимается ни одна кнопка.
Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Аватара пользователя
Roman Venom
Сверлит текстолит когтями
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Roman Venom »

такой прикол на KS0066. По нажатию кнопки на ЖКИ последовательно выводятся числа от 0000 до 7200 с шагом 100. Потом сброс. Короче обычный инкрементальный счетчик. Проблема в том, что пока один раз после включения не проклацаешь до сброса, вместо изменяющегося разряда черный квадратик. На втором и т.д. кругах всё становится нормально :shock: . Уже всё перепробовал...не помагает.
Успех - императив!
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Jack_A »

Roman Venom писал(а): По нажатию кнопки на ЖКИ последовательно выводятся числа от 0000 до 7200 с шагом 100. Потом сброс. Короче обычный инкрементальный счетчик. Проблема в том, что пока один раз после включения не проклацаешь до сброса, вместо изменяющегося разряда черный квадратик. На втором и т.д. кругах всё становится нормально :shock: . Уже всё перепробовал...не помагает.

ЖКИ тут совершенно не при чем. Есть, видимо, регистровая пара, в которой содержится индицируемое число, и есть кусок программы, который это число переводит в коды индикатора и скармливает этому ЖКИ. Так вот при включении в этой регистровой паре черт-те-что, и программа пытается перевести это черт-те-что в коды символов, а там получаются нули или FF. Мне непонятен смысл такого устройства с еще более непонятными манипуляциями, но нужно прежде всего обеспечить в регистровой паре ( или в одном регистре, если у вас младшие разряды всегда нули ) при включении нужное число ( какое - вам виднее ), и проблема исчезнет как с белых трубав дым.
Перечитал и думаю - наверное, у вас и микроконтроллера там нет, все на рассыпухе ?
Тогда надо обеспечить исходный сброс путем подачи нужного уровня ( 0 или 1 - это зависит от... ) при включении на RESET, пока питание установится.
Аватара пользователя
Roman Venom
Сверлит текстолит когтями
Сообщения: 1135
Зарегистрирован: Сб июл 11, 2009 18:42:21
Откуда: Украина, г.Николаев

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Roman Venom »

Jack_A
ЖКИ тут совершенно не при чем. Есть, видимо, регистровая пара, в которой содержится индицируемое число, и есть кусок программы, который это число переводит в коды индикатора и скармливает этому ЖКИ. Так вот при включении в этой регистровой паре черт-те-что, и программа пытается перевести это черт-те-что в коды символов, а там получаются нули или FF.

Я знал про это, но совершенно забыл! Сделал очистку регистров и всё излечилось. Спасибо! :idea:

Мне непонятен смысл такого устройства с еще более непонятными манипуляциями

Это небольшая часть устройства на МК.
Успех - императив!
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Jack_A »

Roman Venom писал(а): Я знал про это, но совершенно забыл!


"Плохо, когда не знаешь, да еще и забудешь" - любимое выражение моего незабвенного бывшего шефа :))
wolfs_SG
Первый раз сказал Мяу!
Сообщения: 39
Зарегистрирован: Вт окт 27, 2009 06:07:52
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение wolfs_SG »

Всем привет. Ребята помогите, пожалуйста... уже который день бьюсь не могу ни как организовать SPI на PIC16F628 для дисплея от нокия 3310... у меня такое ощющени, что инициализация стекла не проходит... посмотрите пожалуйста... может пнете в сторону ошибки...код на пикбэсике... хочу сначала хотябы инвертности добиться... а не получается...

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

    ; Íàñòðàèâàåì "êàìåíü"
    Option_REG.7 = 0
    TRISA = %11111111
    PORTA = %00000000
    TRISB = %00000000
    PORTB = %00000000
    ; Çàêîí÷èëè íàñòðîéêó "êàìíÿ"
 
 PORTB.4 = 1
 
     ; Ïðèñâîåíèå èìåíè ëèíèÿì ïîðòîâ
    symbol SCLK    =     PORTB.7
    symbol SDTA    =     PORTB.6
    symbol DC      =     PORTB.5
    symbol RES     =     PORTB.4
    ; Çàêîí÷èëè ïðèñâîåíèå èìåíè
     ; Íà÷àëè îïèñàíèå ïåðåìåííûõ
    dann    var     byte    ; Ïåðåìåííàÿ äëÿ äàííûõ
    reg0    var     byte   
    gox     var     byte
    goy     var     byte
    temp    var     bit
    ch      var     byte
    cl      var     byte
    cm      var     byte
    ; Çàêîí÷èëè îïèñàíèå ïåðåìåííûõ
   
MAIN:
     
     ; Èíèöèàëèçàöèÿ äèñïëåÿ
     DC = 1
     pause 10
     res = 0
     pause 90
     res = 1
         

DC = 0
dann = %00100001 ;(PD=0 - âêëþ÷èòü äðàéâåð, V=0 - âûáðàòü ðåæèì ãîðèçîíòàëüíîé àäðåñàöèè (êîëîíêè ïèêñåëåé èäóò âñòðîêó), H=1 - ïåðåêëþ÷àåìñÿ íà äîïîëíèòåëüíûé íàáîð êîìàíä);
gosub BAIT_LCD
dann = %11000101 ;(óñòàíîâêà Vop=69);
gosub BAIT_LCD
dann = %00010011 ;(óñòàíîâêà Bias n=4);
gosub BAIT_LCD
dann = %00100000 ;(PD=0 è V=0 - îñòàâëÿåì áåç èçìåíåíèé, H=0 - ïðîñòî ïåðåêëþ÷àåìñÿ îáðàòíî íà áàçîâûé íàáîð êîìàíä);
gosub BAIT_LCD
dann = %00001100 ;(âûáèðàåì íîðìàëüíûé ðåæèì (D=1, E=0)).
gosub BAIT_LCD

         
     pause 500
     gosub RES_DDR
   
     
     goY = %01000000    ;
     goX = %10000000
     Gosub  GOTOXY
     

       ; test
   point:
   
        dann = %00001100
        gosub BAIT_LCD
        pause 20
        dann = %00001101
        gosub BAIT_LCD
        Pause 20
   goto point
               
     
;*******************************************************************************     
     ; ÏÎÄÏÐÎÃÐÀÌÛ
         ; Ïåðåäà÷à áàéòà â LCD
             BAIT_LCD:
                   dann = reg0
                   for temp = 7 to 0 step -1
                  SCLK=0
                   if reg0.7 = 0 then
                   SDTA = 0 
                   else
                   SDTA = 1
                   endif
                   SCLK = 1
                   reg0 = reg0 << 1
                  next temp
                  return
           
        ; Î÷èñòêà ýêðàíà îò ìóñîðà
             RES_DDR:
                   SDTA = 0
                   dc = 1
                 for ch = 6 to 0 step -1
                 for cm = 84 to 0 step -1
                 for cl = 8 to 0 step -1
                    SCLK = 0
                    SCLK = 1
                    next cl
                    next cm
                    next ch
                  return   
               
          ; Ïåðåõîä íà  X è Y       
             GOTOXY:
                    DC=0
                    dann = %00100000
                    gosub BAIT_LCD
                    dann = GOY
                    gosub BAIT_LCD
                    dann = GOX
                    gosub BAIT_LCD
             return
             
Аватара пользователя
Av4arik
Поставщик валерьянки для Кота
Сообщения: 1954
Зарегистрирован: Чт янв 20, 2011 16:47:18
Откуда: Старый Оскол
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Av4arik »

А разве дисплей от 3310 на 44780 реализован?
Быстро, Качественно, Недорого.
Выбрать можно только 2 варианта.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

Комунибудь нужны исходники либы для арма СТМ32 ?
реализовано подключение к любым пинам(чтоб удобней разводить), кириллица(если сам ЖКИ имеет русские символы), простенькая графическая либа чтоб произвольно рисовать в 8-ми юзер-дефинед символах...
или мож весь пример сбросить
проц STM32F100RB
Среда KEIL uVision 4
периферия на StdPeriphDriver + CMSIS
у мя в примере синусоида выводится...

паралельно вопрос - неужто низя переназначать больше чем восемь своих символов? хочется побольше окошка...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение uk8amk »

clawham писал(а):Комунибудь нужны исходники либы для арма

Конечно нужны! Ждем с нетерпением.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение clawham »

Пока есть исходники на Кеил уВижн 4
сейчас хочу пересесть на иар....кейл чтото не понравился...
http://clawham.hopto.org/DriveD/PubD/66/1_hello.rar
вот пожалста ... сильно не пинать...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Ystinov83
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Пн фев 14, 2011 23:27:08
Откуда: Рязань
Контактная информация:

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Ystinov83 »

Помогите разобраться хочю подключить денозавра наврное ( но не знаю возможно ли) viewtopic.php?f=29&t=51111&p=890680#p890680
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение uk8amk »

хочю подключить денозавра наврное ( но не знаю возможно ли)

Возможно. Ищите даташит HITACHI HD44780U Dot Matrix Liquid Crystal Controller/Driver. Там есть распиновки этих контроллеров в разных корпусах. Смотрим на нужный корпус, конкретно на линии DB0-DB7, RW, RS, VCC, GND и мультиметром звоним на какие контакты разъема они выводятся. Все, схема подключения готова. Так я оживлял кусок платы дисплея с контроллером, аккуратно отпилинной ножовкой от платы управления какого-то ксерокса. С другой стороны, коннектор дисплея должен иметь стандартную распиновку: 1 и 2 - питание, 3 - контраст, далее сигналы управления.
А даташит на DMC32132 найти не пробовали?
kp128
Родился
Сообщения: 3
Зарегистрирован: Вт июл 12, 2011 19:34:56

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение kp128 »

Как можно определить модель LCD дисплея (и где на плате может написана модель, и как её разлечить если нет наклейки модели) ? Помогите!!!!!!!!
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

kp128 писал(а):Как можно определить модель LCD дисплея

Если есть фотка, то в студию её!
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ant1Player
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Чт июл 14, 2011 22:19:21

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Ant1Player »

Делаю тут чтоб не съезжали символы и красиво отображалось т.е. можно сказать выравниваю по правому краю на индикаторе 16х2 сделал на if так как по тругому не умею, после создание увидел что слишком масивно получилось, нельзя ли заместо if применить что нибудь другое? вот кусок кода: :)

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

   //Индикация Правый пропеллер 
    sprintf( lb2,"%u",b); // суем переменную б в лсд буфер 2 Правый пропеллер
        if (b<1)
       {
            lcd_gotoxy(12,1);
            lcd_puts(" OFF");
       }
       if (b<=9 && b>=1)
       {
            lcd_gotoxy( 12,1 );   // перейти на 13 символ , 2 строку
            lcd_puts("  ");       // пробелы чтоб затереть старые символы
            lcd_puts(lb2);       //Вывести процент левого кулера
            lcd_puts("%");     //После етого вывести знак процента
       }
       if (b>=10 && b<=99)
       {
            lcd_gotoxy( 12,1 );   // перейти на 13 символ , 2 строку
            lcd_puts(" ");       // пробелы чтоб затереть старые символы
            lcd_puts(lb2);       //Вывести процент левого кулера
            lcd_puts("%");     //После етого вывести знак процента 
       }
       if (b>=100)
       {
            lcd_gotoxy( 12,1 );   // перейти на 13 символ , 2 строку
            lcd_puts(lb2);       //Вывести процент левого кулера
            lcd_puts("%");     //После етого вывести знак процента
       }

просто индикации будет много и я боюсь представить что потом получится ) если все так выравнивать по правому краю...
Заранее спс
P.S. CodeVisionAVR

P.P.S
И еще как обьединить в 1 строку

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

lcd_puts(" ");       // пробелы чтоб затереть старые символы
            lcd_puts(lb2);       //Вывести процент левого кулера
            lcd_puts("%");     //После етого вывести знак процента 

а то

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

lcd_puts(" ", lb2, "%")

не канает
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Работа с ЖКИ на контроллере HD44780 и его аналогах

Сообщение Gudd-Head »

При инициализации дисплея есть т.н. Function Set: [DB7...DB0] = [0 0 1 DL N F - -], где N — количество линий дисплея 1/2. А если дисплей четырёхстрочный, что ставить? :shock: И на что это влияет?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ответить

Вернуться в «Периферия»