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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: ivan_fd  
простая программа для 4 строчного дисплея
ODNOROG Дата: Пт, 23.12.2011, 02:18  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 06.11.2011

Статус: Offline

Прошу помощи о Великие ГУРУ .

набросайте простую программку для 4 строчного дисплея http://www.kosmodrom.com.ua/pdf/WH2004L.pdf

с использованием pic 16f628 , pic basic Pro

так чтоб в каждой строчке была фраза
ЯНДЕКС Дата: 23.12.2011
rvstar Дата: Пт, 23.12.2011, 20:33  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 69
Репутация: 7   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 06.11.2011

Статус: Offline

интересно а можно заставить смещаться этот текст
rvstar Дата: Пн, 26.12.2011, 14:43  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 69
Репутация: 7   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 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
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

ODNOROG, а теперь перепишите и выложите программу с вашими комментариями каждой строчки и команды.
Расскажите КАК настроить начальные условия для контроллера.
Потом может и помощь не потребуется
ODNOROG Дата: Ср, 27.03.2013, 21:22  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 25
Репутация: 0   ±
Замечания:   ±
На сайте с 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
Репутация: 32   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

1. Я не вижу что за процессор вы выбрали? Компилятор тоже.
2. Каждый ПИК имеет настройки. И указав частоту генератора вы не указываете что за генератор вы выбрали. Для протеуса достаточно частоты. Для железа - конкретика.
shaman Дата: Чт, 28.03.2013, 00:22  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 06.11.2011

Статус: Offline

INCLUDE "16F84.INC"

как то так?

Добавлено (28.03.2013, 00:32)
---------------------------------------------
за код спс      ща попробую

shaman Дата: Чт, 28.03.2013, 00:37  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 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
ЯНДЕКС Дата: 28.03.2013
anatol Дата: Чт, 28.03.2013, 00:42  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 471
Репутация: 32   ±
Замечания:   ±
На сайте с 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
Репутация: 5   ±
Замечания:   ±
На сайте с 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
Репутация: 0   ±
Замечания:   ±
На сайте с 06.11.2011

Статус: Offline

не работает
sad
shaman Дата: Чт, 28.03.2013, 00:54  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 07.11.2011

Статус: Offline

Анатолий Вам правильно сказал ,Вы настройте камень нормально , напишите программу нормально, тактовая частота, установите нужные регистры ( цифровые порты ввода вывода и т.д) ,установки ЖК, потом установки портов,потом основная программа, за Вас это никто не будет делать ,Вам скинули программу и Вы тут же не проверив побежали тестить программу,а посмотреть что как.
Сообщение отредактировал shaman - Чт, 28.03.2013, 00:55
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: