Программа иницилизации LCD - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » Программа иницилизации LCD
Программа иницилизации LCD
Broka Дата: Чт, 13.01.2011, 22:46  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 244
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

Здравствуйте, помогите разобраться ,немного мне непонятно как происходит инициализация LCD в программе, если я прописываю нужные мне порты для работы с LCD и больше ничего, а как тогда проходит инициализация самого LCD? может конечно и глупый вопрос, просто в даташите написано прежде чем он заработает в него надо влить команды: Вот пример:
DEFINE OSC 4 ; Частота осциллятора 4 МГц

;-----------Настройки подключения ЖКИ--------------------------

DEFINE LCD_TYPE ALPHA ;Тип ЖКИ - буквенно -цифровой
DEFINE LCD_DPORT PORTA ;Порт данных ЖКИ
DEFINE LCD_DBIT 0 ; Бит данных ЖКИ
DEFINE LCD_EPORT PORTB ; Управление линией E
DEFINE LCD_EBIT 3 ; Управление линией E
DEFINE LCD_RSPORT PORTA ; Управление линией RS
DEFINE LCD_RSBIT 4 ; Управление линией RS
DEFINE LCD_BITS 4 ;Разрядность шины данных
DEFINE LCD_COMMANDUS 2000 ; Задержка перед посылкой команды
DEFINE LCD_DATAUS 50 ; Задержка перед посылкой данных
DEFINE LCD_LINES 2 ; Количество строк ЖКИ
trisb = %11110111
trisa = %11100000
main:
PAUSE 500
LCDOUT $FE, 1 ,$20,$20,$20,$20,$50,$52,$49,$56,$45,$54
LCDOUT $FE, $C0 ,$20,$20,$20,$56,$4F,$4C,$47,$4F,$47,$52,$41,$44
PAUSE 500
goto main

Что то не понятно как он может инициализироваться,если они друг друга не понимают cool
Прошу Профессионалов не смеяться над вопросом, недогоню что то ни как!

Прикрепления: 0215_0001.djvu(25Kb) · 0216_0001.djvu(22Kb)


Наладчик КИП и А
Сообщение отредактировал Broka - Чт, 13.01.2011, 23:07
ЯНДЕКС Дата: 13.01.2011
terrarus Дата: Пт, 14.01.2011, 09:28  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 542
Репутация: 16   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Гто-то у Вас с DEFINE не все в порядке. Я уже давно с PBPro не работаю и не хочется возвращаться к нему, поэтому не смогу найти ошибку.
А так работает!

Device = 16F873A

Declare All_Digital = On ' Сделать все порты цифровыми
Declare LCD_Type ALPHA ' Тип ЖКИ - буквенно -цифровой
Declare LCD_DTPin PORTA.0 ' Порт данных ЖКИ
Declare LCD_ENPin PORTA.4 ' Цепь управления E
Declare LCD_RSPin PORTB.3 ' Цепь управления RS
Declare LCD_Interface 4 ' Разрядность шины данных
Declare LCD_CommandUs 2000 ' Задержка перед посылкой команды
Declare LCD_DataUs 50 ' Задержка перед посылкой данных
Declare LCD_Lines 2 ' Количество строк ЖКИ

TRISB = %11110111
TRISA = %11100000

main:

PAUSE 500
LCDOUT $FE, 1, $20,$20,$20,$20,$50,$52,$49,$56,$45,$54
LCDOUT $FE, $C0, $20,$20,$20,$56,$4F,$4C,$47,$4F,$47,$52,$41,$44
PAUSE 500
GoTo main

Переходите на Протон, чтоб не заморачиваться.

PS
Нет, у Вас с DEFINE все в порядке, скорее всего причина в настройках регистров ADCON0 и ADCON1

Прикрепления: 0_lcd_broka.rar(40Kb)


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Пт, 14.01.2011, 09:40
Broka Дата: Пт, 14.01.2011, 11:35  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 244
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

Quote (terrarus)
Переходите на Протон, чтоб не заморачиваться.

Уважаемый terrarus,
Подскажите с чего мне начать изучение Протона? На PicBasic есть что то почитать,а на Протоне половина ещё на английском,полностью то перевода нет,что делать?


Наладчик КИП и А
terrarus Дата: Пт, 14.01.2011, 13:20  |                                                                                                                Сообщение # 4
Группа: Модераторы
Ранг:  Разобрался
Сообщений: 542
Репутация: 16   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

То, что половина на английском, то по-моему, ничего страшного. Эту проблему легко решает онлайн-переводчик http://translate.google.ru
Для изучения Протона советую промоделировать самому в Протеусе все по порядку модели приведенные в описании операторов Протона опубликованные на сайте
http://terrarus.ucoz.ru/proton_plus_ide/index.html
Думаю это будет самый быстрый и эффективный способ изучить Протон. Сам прошел через это!


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Broka Дата: Пт, 14.01.2011, 20:36  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 244
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

Да.........! Впечатляет конечно, это далеко не МикроСтудио, практически можно сделать всё !
Скачал ProtonIDE2007_Compiler3506_Ful с сайта, поставил MPLAB как там написано, перенёс программу в компилятор,хотел попробовать откомпилировать, а он мне пишет ERROR:USB Key not Found! я так понял какого то
ключа нет?


Наладчик КИП и А
MiXaS Дата: Пн, 17.01.2011, 12:48  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Broka, а чем ВАС не устраивают такие настройки??
define OSC 20
DEFINE LCD_DREG PORTB ' если заменить portb, допустим на portd, то подключение к порту д
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB ' если заменить portb, допустим на portd, то подключение к порту д
DEFINE LCD_RSBIT 3 ' пин порта
DEFINE LCD_EREG PORTB 'если заменить portb, допустим на portd, то подключение к порту д
DEFINE LCD_EBIT 0 ' пин порта
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

По поводу (DEFINE LCD_DREG PORTB ' если заменить portb, допустим на portd, то подключение к порту д) утверждать не могу, т.к не помню делал ли такой эксперимент, а вот
DEFINE LCD_RSREG PORTBDEFINE LCD_RSBIT 3
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 0
делал, точно работает. Подключал к порту а, порту д и порту е pic16f877

Broka Дата: Пн, 17.01.2011, 18:39  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 244
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

MiXaS, да нет всё устраивает, просто хочется понять как идёт инициализация LCD, в даташите на LCD MT - 16S2H указано прежде чем он заработает надо сделать вот это (смотреть внизу)
У меня PIC16F628A, для моих целей как раз туда подходит, только вот что то не получается!
Прикрепления: 7599599.gif(53Kb)


Наладчик КИП и А
Сообщение отредактировал Broka - Пн, 17.01.2011, 18:43
Форум Picbasic.ru » Программирование МК » PicBasicPro » Программа иницилизации LCD
Страница 1 из 11
Поиск: