простая программа для 4 строчного дисплея
|
|
ODNOROG |
Дата: Пт, 23.12.2011, 02:18 | Сообщение # 1 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 06.11.2011
Статус:
Offline
|
Прошу помощи о Великие ГУРУ .
набросайте простую программку для 4 строчного дисплея http://www.kosmodrom.com.ua/pdf/WH2004L.pdf
с использованием pic 16f628 , pic basic Pro
так чтоб в каждой строчке была фраза
|
|
|
|
rvstar |
Дата: Пт, 23.12.2011, 20:33 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 09.10.2007
Статус:
Offline
|
DEFINE OSCCAL_1K 1 REM Если использовать внутренний RC-генератор CMCON = %11111111
DEFINE LCD_DREG PORTB DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 4 DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 5
PAUSE 500 LCDOUT $fe, 1 LCDOUT $fe, $80, "Line 1" LCDOUT $fe, $C0, "Line2" LCDOUT $fe, $94, "Line3" LCDOUT $fe, $D4, "Line4"
B0-B3 - к DB4-DB7 индикатора
B4 - к RS индикатора (4 нога) B5 - к E индикатора (6 нора) 5 ногу интикатора - в землю Вроде все
Сообщение отредактировал
rvstar - Пт, 23.12.2011, 20:36
|
|
|
|
ODNOROG |
Дата: Сб, 24.12.2011, 20:21 | Сообщение # 3 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 06.11.2011
Статус:
Offline
|
интересно а можно заставить смещаться этот текст
|
|
|
|
rvstar |
Дата: Пн, 26.12.2011, 14:43 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 09.10.2007
Статус:
Offline
|
FOR x = 1 to 10 LCDOUT $FE,1 LCDOUT $FE, $80+x, "Line1" NEXT x
|
|
|
|
ODNOROG |
Дата: Ср, 27.03.2013, 11:24 | Сообщение # 5 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 06.11.2011
Статус:
Offline
|
Спасибо классно получается Добавлено (26.03.2013, 01:18) --------------------------------------------- переписал программу под pic16f84a не работает дисплей то же.........хотя в пртеусе все ок!!!
вот программа пожалуйста HELP HELP
DEFINE OSC 4 define LCD_lines 4 DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 0 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 6 DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 7 DEFINE LCD_DATAUS 250 DEFINE LCD_COMMANDUS 2000
pause 500 start: LCDOUT $fe, 1 lcdout $fe, 2 LCDOUT "Hello"
pause 5000 goto start
end Добавлено (27.03.2013, 11:24) --------------------------------------------- Может поменять контроллер
|
|
|
|
anatol |
Дата: Ср, 27.03.2013, 12:43 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
ODNOROG, а теперь перепишите и выложите программу с вашими комментариями каждой строчки и команды. Расскажите КАК настроить начальные условия для контроллера. Потом может и помощь не потребуется
|
|
|
|
ODNOROG |
Дата: Ср, 27.03.2013, 21:22 | Сообщение # 7 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 06.11.2011
Статус:
Offline
|
DEFINE OSC 4 выбираю какой бутет кварц define LCD_lines 4 количество строк в дисплее DEFINE LCD_DREG PORTB данные порта показываю откуда будут начинатся DEFINE LCD_DBIT 0 порт б с 0-ой нооги DEFINE LCD_RSREG PORTB линия RS на порт б DEFINE LCD_RSBIT 6 6 порт DEFINE LCD_EREG PORTB линия E на порт б DEFINE LCD_EBIT 7 7 линия DEFINE LCD_DATAUS 250 задержка между данными DEFINE LCD_COMMANDUS 2000 задержка между командами
pause 500 ждем 0,5 сек start: метка старт LCDOUT $fe, 1 очистить дисплей lcdout $fe, 2 очистить диспелй 2 LCDOUT "Hello" выывести надпись
pause 5000 подождать 5 сек goto start на метку старт
end
|
|
|
|
anatol |
Дата: Чт, 28.03.2013, 00:11 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
1. Я не вижу что за процессор вы выбрали? Компилятор тоже. 2. Каждый ПИК имеет настройки. И указав частоту генератора вы не указываете что за генератор вы выбрали. Для протеуса достаточно частоты. Для железа - конкретика.
|
|
|
|
shaman |
Дата: Чт, 28.03.2013, 00:22 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Доброй ночи ,давно не работаю с Pic Basic ,попробуйте этот код скомпилировать.
DEFINE OSC 4 '----------------Установки LCD---------------------------------------- DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 0 DEFINE LCD_RSREG PORTA DEFINE LCD_RSBIT 2 DEFINE LCD_EREG PORTA DEFINE LCD_EBIT 0 DEFINE LCD_BITS 4 DEFINE LCD_LINES 2 DEFINE LCD_COMMANDUS 2000 DEFINE LCD_DATAUS 250
pause 500
start: LCDOUT $fe, 1 , "Hello" ' Очистить дисплей выывести в 1 строке надпись "Hello" pause 1000 ' Пауза 1 сек LCDOUT $fe, $С0, "World" ' Вывести во 2 строке надпись "World" pause 1000 ' Пауза 1 сек goto start end
|
|
|
|
ODNOROG |
Дата: Чт, 28.03.2013, 00:32 | Сообщение # 10 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 06.11.2011
Статус:
Offline
|
INCLUDE "16F84.INC"
как то так?Добавлено (28.03.2013, 00:32) --------------------------------------------- за код спс ща попробую
|
|
|
|
shaman |
Дата: Чт, 28.03.2013, 00:37 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Правильно подключите Жк ,потому что у меня
DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 0 DEFINE LCD_RSREG PORTA DEFINE LCD_RSBIT 2 DEFINE LCD_EREG PORTA DEFINE LCD_EBIT 0 DEFINE LCD_BITS 4 DEFINE LCD_LINES 2 DEFINE LCD_COMMANDUS 2000 DEFINE LCD_DATAUS 250
|
|
|
|
anatol |
Дата: Чт, 28.03.2013, 00:42 | Сообщение # 12 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
471
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
Вообще "костыли" в виде принятия параметров процессора по умолчанию - путь в никуда для начинающих. Если бы вы понимали КАК настроить процессор под задачу - 99 процентов было бы решено. Всего-то надо включить-выключить определенные блоки. Это цельные законченные устройства которые подключаются к пинам микросхемы или работают внутри. Просто вы их соединяете не проводочками, а кодовой командой. В частности глава 6.0 SPECIAL FEATURES OF THE CPU даташита CONFIGURATION WORD - PIC16F84A биты bit 1:0 FOSC1:FOSC0: Oscillator Selection bits надо выставить в 01 = XT - Crystal/Resonator. Если 00 то режим LP oscillator и вы не запустите кварц. Непонятно как настроены порты - на ввод или вывод. Все это есть во вспомогательных файлах компилятора и , наверняка, под именем pic16f84a. У меня не стоит PicBasicPro, пользуюсь Протоном, поэтому не могу посмотреть расширение файла и ЧТО там приведено. Но чудес не бывает. Параллельно программированию надо учить железо. Иначе тормоза.
|
|
|
|
shaman |
Дата: Чт, 28.03.2013, 00:48 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
DEFINE OSC 4 '----------------Установки LCD---------------------------------------- DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 0 DEFINE LCD_RSREG PORTA DEFINE LCD_RSBIT 2 DEFINE LCD_EREG PORTA DEFINE LCD_EBIT 0 DEFINE LCD_BITS 4 DEFINE LCD_LINES 2 DEFINE LCD_COMMANDUS 2000 DEFINE LCD_DATAUS 250
'----------------Установки портов--------------------------------------
TRISB =%00000000 ' TRISA =%00000000 ' PORTB =%00000000 ' PORTA =%00000000 '
'----------------Оснавная программа------------------------------------ start: LCDOUT $fe, 1 , "Hello" ' Очистить дисплей выывести в 1 строке надпись "Hello" pause 1000 ' Пауза 1 сек LCDOUT $fe, $С0, "World" ' Вывести во 2 строке надпись "World" pause 1000 ' Пауза 1 сек goto start end
|
|
|
|
ODNOROG |
Дата: Чт, 28.03.2013, 00:48 | Сообщение # 14 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
25
Замечания:
±
На сайте с 06.11.2011
Статус:
Offline
|
не работает
|
|
|
|
shaman |
Дата: Чт, 28.03.2013, 00:54 | Сообщение # 15 |
Группа:
Проверенные
Ранг:
Могу и подсказать
Сообщений:
178
Замечания:
±
На сайте с 07.11.2011
Статус:
Offline
|
Анатолий Вам правильно сказал ,Вы настройте камень нормально , напишите программу нормально, тактовая частота, установите нужные регистры ( цифровые порты ввода вывода и т.д) ,установки ЖК, потом установки портов,потом основная программа, за Вас это никто не будет делать ,Вам скинули программу и Вы тут же не проверив побежали тестить программу,а посмотреть что как.
Сообщение отредактировал
shaman - Чт, 28.03.2013, 00:55
|
|
|
|