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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
вывод информации на lcd 2Х16 в PicBasicPro
dtsatoll Дата: Чт, 27.11.2008, 19:50  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 4
Репутация: 0   ±
Замечания:   ±
На сайте с 23.11.2008

Статус: Offline

Приветствую всех программеров и прошу совета в инициализации Lcd 2x16. Около 6-ти месяцев назад приобрел неисправный (без прошивки) пульт управления С2000 для сигнализаций . В нем используется PIC18F252. Поискал в сети и нашел компилятор PicBasicPro и примеры к нему. За пару вечеров, используя примеры соорудил термометр с датчиком DS18B20. Все работало и работает до сих пор. Но пришла зима и захотелось снабдить этот прибор еще одним датчиком для измерений температуры за бортом, то есть уличной. Но после изготовления этого самого прибора с PicBasicPro больше не работал, к тому-же были утеряны исходники. Пришлось начинать все с нуля. Но все оказалось не так просто как первый раз. Ничего не получается, Lcd ничего не отображает, старая прошивка работает. Порбовал записывать код с простым "Hello" "World",д результат тот же.
Подскажите где собака зарыта? Спасибо!
Вот код:
' PicBasic program to demonstrate operation of an LCD in 8-bit mode
'
' LCD should be connected as follows:
' LCD PIC
' Define LCD registers and bits
DEFINE osc 4 ' We're using a 4MHz oscillator
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 0
DEFINE LCD_RSREG PORTC
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTC
DEFINE LCD_EBIT 5
DEFINE LCD_BITS 8
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

Pause 500
' Wait for LCD to startup

loop: Lcdout $fe, 1 ' Clear LCD screen
Pause 500
Lcdout "Hello" ' Display Hello
Pause 500 ' Wait .5 second

Lcdout $fe, $C0 ' Clear LCD screen
Lcdout "World"
Pause 500 ' Wait .5 second

Goto loop ' Do it forever


dtsatoll
ЯНДЕКС Дата: 27.11.2008
ADMIN Дата: Пт, 28.11.2008, 19:55  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

старая прошивка, это какая? которая с одним датчиком? Во-вторых, какой программатор? Можно ли на нем смотреть и устанавливать биты конфигурации? Запускается ли кварц? Нет ли ошибок или непротравов в разводке? Идут ли какие нибудь сигналы с процессора по шине данных или RS, E? В-третьих, программу можно и желетально написать так:

Code

loop:  
Lcdout $fe, 1,"Hello"   
Pause 500   
Lcdout $fe, $C0, "World"   
Pause 500   
Goto loop

Давай решать.

dtsatoll Дата: Вс, 30.11.2008, 06:01  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 4
Репутация: 0   ±
Замечания:   ±
На сайте с 23.11.2008

Статус: Offline

Спасибо что ответил!
Я уже нашел ошибку, если можешь помоги найти код для обслуживания 2-х датчиков DS18b20.
В примерах нашел, но эта программа не показывает отрицательную температуру, не знаю почему, я в PicBasic практически ноль.


dtsatoll
MasterPic Дата: Вс, 30.11.2008, 06:34  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 186
Репутация: 2   ±
Замечания:   ±
На сайте с 22.11.2008

Статус: Offline

Так, товарищи, подключаемся к обсуждению! Сдвумя датчиками на одной линии не встречал, но можно попробовать. Там смысл в том, что нужно считывать код с датчика, по которому он и идентифицируется. А если датчики на двух линиях, то это проще. Тут проект есть - здесь проект, правда на Proton PicBasic. Зато с отрицательной температурой.
dtsatoll Дата: Вс, 30.11.2008, 13:41  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Новенький
Сообщений: 4
Репутация: 0   ±
Замечания:   ±
На сайте с 23.11.2008

Статус: Offline

спасибо буду разбираться

dtsatoll
Холод1 Дата: Пн, 05.01.2009, 13:49  |                                                                                                                Сообщение # 6
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 19.10.2008

Статус: Offline

продолжая тему индекаторов
у меня русифицированный индекатор, но при попытке вывода русских букв появляются казябреки, англиский текст нормально.
может быть из затого что использую четыре линии данных а не восемь?
ADMIN Дата: Пн, 05.01.2009, 17:44  |                                                                                                                Сообщение # 7
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Могу отправить сюда
ADMIN Дата: Пн, 05.01.2009, 17:46  |                                                                                                                Сообщение # 8
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Quote
Спасибо что ответил!

Кстати, что за проблема была? Всем будет интересно.
dtsatoll Дата: Вт, 06.01.2009, 12:22  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Новенький
Сообщений: 4
Репутация: 0   ±
Замечания:   ±
На сайте с 23.11.2008

Статус: Offline

Quote (basicpic)
Кстати, что за проблема была? Всем будет интересно.

банальная невнимательность, при программировании кристалла вместо 18F252 был выбран 18C252


dtsatoll
  • Страница 1 из 1
  • 1
Поиск: