WH0802A-YGH-CT - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 212»
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » WH0802A-YGH-CT (Как работать с этим LCD)
WH0802A-YGH-CT
xxxmonejall Дата: Пт, 27.11.2009, 23:52  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Как с помощью PIC16f84A вывести информацию на дисплей WH0802A-YGH-CT???? Меня интересует сам текст настройки дисплея, тип контроллера: S6B0066U.
ЯНДЕКС Дата: 27.11.2009
DIKTATOR Дата: Сб, 28.11.2009, 11:07  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 76
Репутация: 2   ±
Замечания:   ±
На сайте с 24.07.2008

Статус: Offline

Полным аналогом данного контроллера являются следующие контроллеры:
* HD44780
* KS0066

Попробуйте использовать пример из книги чака хелибейка.

DEFINE OSC 4 'Используется кварц 4 мегагерц
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 3
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

Start:
lcdout $fe, 1 ' Очистить экран
lcdout $fe, 2 ' Переместить курсор ЖКИ в начало первой строки

LCDOUT "Hello"
Pause 1000
Goto Start

Но лично мне не удалось отобразить чтолибо на экране с контроллёром KS0066, возможно таблица символов и каждого контроллёра или экрана своя.
Пдф S6B0066U прикрепил.

Прикрепления: S6B0066U.pdf(457Kb) · Proj07pro.bas.txt(3Kb) · HD44780.pdf(322Kb)


Используйте симулятор ПРОТУЕС !!! Реальная вещь!!
Я снова тут, но не всегда свободен.
xxxmonejall Дата: Сб, 28.11.2009, 11:22  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Большое спасибо. Просто хочу сделать стенд для настройки производительности газовых форсунок. Так вот не знаю что лучше взять??? 4 7-сигментных индикатор и 4 шт 74нс595. Мне нужно выводить длительность импульсов от 1й до 20 млс. И частоту этих импульсов от 50 до 99герц. Я слышал что для того чтоб вывести инфу на дисплей нужно определенное время. Тоисть в это время контролер работает только на вывод информации на дисплей. Остальная часть программы не будет продолжать роботу пока не выведет все на дисплей. Так может лучше использовать 7 сигментные индикаторы????
DIKTATOR Дата: Сб, 28.11.2009, 11:34  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 76
Репутация: 2   ±
Замечания:   ±
На сайте с 24.07.2008

Статус: Offline

DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

Эти строки какраз влияют на длительность команд, можно подобрать минимально возможную длительность команд для конкретного дисплея.
В этом примере длительность команд завышены для совместимости со всеми дисплеями.
После того как мк отправил данные на LCD можно выполнять следующую программу, тоесть постоянно мк не будет заниматься управлением LCD, а лишь в тот момент когда данные на экране должны изменится.
Можно и реализовать всё на 7 сегментных индикаторах, в противном случае придётся искать экран с контроллёром HD44780 или изучать PDF контроллёров аналогов.


Используйте симулятор ПРОТУЕС !!! Реальная вещь!!
Я снова тут, но не всегда свободен.
Dmitry Дата: Сб, 28.11.2009, 21:29  |                                                                                                                Сообщение # 5
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 161
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

0066 это самсунговский аналог 44780. У меня такой нормально работает из пикбейсика.

Если опыта мало, то лучше взять ЖКИ, т.к. организовывать динамическую индикацию
на семисегментниках будет сложновато. В жки отправил байты на экран и забыл
о них. Хотя, если использовать по одной 595-й на каждый сегмент, то тогда то же
самое - отдал 4 байта последовательным кодом и тоже забыл. А вот точно мерить
длительность импульсов без аппаратных прерываний наверное не получится.

xxxmonejall Дата: Сб, 28.11.2009, 23:06  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Мне их не нужно мерять. Мне их нужно подавать через ключи!
xxxmonejall Дата: Сб, 28.11.2009, 23:49  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Что я сделал не так????

@ device pic16F84, xt_osc, wdt_off, protect_off, pwrt_on
DEFINE OSC 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 3
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

main:

LCDOUT $FE,1,"hello world"
pause 1000
LCDOUT $FE,1,"hello Andriu"
pause 500
goto main

Прикрепления: lm.dsn(29Kb) · ACP.hex(1Kb)
Dmitry Дата: Вс, 29.11.2009, 01:32  |                                                                                                                Сообщение # 8
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 161
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Quote (xxxmonejall)
Что я сделал не так????
...
DEFINE LCD_RSBIT 3

а сам сигнал RS к порту RB1 подключил smile
надо поставить DEFINE LCD_RSBIT 1
и все пашет ок!

Сообщение отредактировал Dmitry - Вс, 29.11.2009, 01:34
xxxmonejall Дата: Вс, 29.11.2009, 11:23  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Бывают же такие втыки!!!!!!! Большое спасибо!
terrarus Дата: Вс, 29.11.2009, 12:06  |                                                                                                                Сообщение # 10
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 542
Репутация: 16   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Уважаемый xxxmonejall, кроме этой ошибки вы перепутали выводы дисплея VDD, VSS, VEE
вывод 1 (VSS) должен быть подключен к земле,
вывод 2 (VDD) должен быть подключен к + 5В
вывод 3 (VEE) должен быть подключен к среднему выводу потенциометра
В приложенном архиве рабочие программа на Ваsic Proton+IDE, HEX-файл и модель lm.DSN

Советую почаще заглядывать в папку С:\Program Files\Proton\Samples там полно очень полезных примеров.
Посетите также ресурс http://www.terrarus.ucoz.ru/proton_plus_ide/index.html там тоже много примеров.

Прикрепления: lm.rar(36Kb)


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Dmitry Дата: Вс, 29.11.2009, 20:22  |                                                                                                                Сообщение # 11
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 161
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Quote (xxxmonejall)
Бывают же такие втыки

Чаще всего такие и бывают. А думаешь вечно на что-нибудь заумное smile
Quote (terrarus)
вы перепутали выводы дисплея VDD, VSS

Кстати да. Модель в протеусе какая-то недоработанная. smile Надо, чтобы она при таком включении питания дымила и взрывалась со спецэффектами. smile А то смоделирует вот так человек схемку, потом в реале соберет и будет здесь кричать, а-а-а, у меня индикатор сгорел surprised , а в протеусе все работало!

Сообщение отредактировал Dmitry - Вс, 29.11.2009, 20:23
xxxmonejall Дата: Пн, 30.11.2009, 00:28  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Вот у нас есть команда LCDOUT $FE,1,"hello world" удаляем все с экрана и выводим в первую строку "hello world". А как мне вывести во вторую строку ну например там "12345678"
Да и еще: как вывести значение которое находится в переменой???

Сообщение отредактировал xxxmonejall - Пн, 30.11.2009, 00:39
Dmitry Дата: Пн, 30.11.2009, 01:46  |                                                                                                                Сообщение # 13
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 161
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

А мануал на LCDOUT почитать? Там даже автопереводчиком все будет понятно, если с английским напряг.

LCDOUT $FE, $80 - курсор в начало первой строки
LCDOUT $FE, $С0 - курсор в начало второй строки
LCDOUT DEC A - вывести десятичное значение переменной А

Все эти команды можно совмещать в одном LCDOUT через запятую.

xxxmonejall Дата: Пн, 30.11.2009, 10:55  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Извините за беспокойство. А можно ли отслеживать прерывание не по одному порту RB0/INT
А допустим сразу по двум или больше??? Если можно то как????
terrarus Дата: Пн, 30.11.2009, 13:05  |                                                                                                                Сообщение # 15
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 542
Репутация: 16   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Этот вопрос не по теме здесь, но отвечу. Конечно можно.
Подробней смотрите на http://terrarus.ucoz.ru/proton_plus_ide/index.html . В описании команды SLEEP приведены примеры.
И еще там же приведен даташит на русском языке в разделе DATASHEETs/PIC/RUS/Прерывания в PIC


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Пн, 30.11.2009, 13:06
Форум Picbasic.ru » Программирование МК » PicBasicPro » WH0802A-YGH-CT (Как работать с этим LCD)
Страница 1 из 212»
Поиск: