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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » pic16f876 и lcd wh1602
pic16f876 и lcd wh1602
Matrix252005 Дата: Чт, 25.11.2010, 13:31  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Что, "define lcd_dreg portb", что "DEFINE LCD_DREG PORTB" работает???

THE TRUTH IS OUT THERE.

С уважением, Николай.
MiXaS Дата: Чт, 25.11.2010, 13:35  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Quote (Matrix252005)
Мог ошибиться с распиновкой экрана... Либо сам экран не рабочий... У людей были такие проблемы... Грешили на все кроме экрана.

Думаю Matrix252005 прав! Надо смотреть распиновки или проверить работоспособность LCD. Автор темы спросит: "а как я его проверю???"

Наверно нужно найти даташит на данный lcd

Добавлено (25.11.2010, 13.34.23)
---------------------------------------------
Не поверите, но ДА! Могу прислать результат!

Добавлено (25.11.2010, 13.35.21)
---------------------------------------------
Вообще рекомендую DEFINE LCD_DREG PORTB писать прописными буквами!

Matrix252005 Дата: Чт, 25.11.2010, 13:44  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Странно, но у меня нет. Вот картинки, "Не работает" - "define lcd_dreg portb", "Работает" - "DEFINE LCD_DREG PORTB"
Прикрепления: 6063592.jpg (346.1 Kb) · 0206836.jpg (347.9 Kb)


THE TRUTH IS OUT THERE.

С уважением, Николай.
MiXaS Дата: Чт, 25.11.2010, 13:48  |                                                                                                                Сообщение # 19
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Странно! Давайте я выложу, что у меня получилось, а Вы найдете у меня косяк!
Прикрепления: tvset.rar (17.1 Kb)

Сообщение отредактировал MiXaS - Чт, 25.11.2010, 13:48
Matrix252005 Дата: Чт, 25.11.2010, 13:53  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

Может у меня бока с MCS v3.0.0.5 и PBP v2.60. Попробую переустановить.

Добавлено (25.11.2010, 13.53.59)
---------------------------------------------
У меня косяк с компилятором. Ваша прога не работает после компиляции.... Вот такие пироги с котятами... sad


THE TRUTH IS OUT THERE.

С уважением, Николай.
MiXaS Дата: Чт, 25.11.2010, 14:37  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Я точно не помню какой у меня компилятор или pbp 2.5 или pbp 2.6. А на что ругается??? (компилятор)
ЯНДЕКС Дата: 25.11.2010
Matrix252005 Дата: Чт, 25.11.2010, 14:46  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 636
Репутация: 43   ±
Замечания:   ±
На сайте с 12.10.2007

Статус: Offline

В том то и проблема, что не на что... Прописываешь все большими, все ОК!!! Когда маленькими, бока... По ходу ругается сам ASM... Я перепробовал кучу, но эффект тот же... MCS я держу просто так, на память о нем... Я перешел на Протон, он мне больше нравится.

THE TRUTH IS OUT THERE.

С уважением, Николай.
MiXaS Дата: Чт, 25.11.2010, 14:52  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Я осваивал PBP, но когда дело дошло до более сложных конструкций всё зашло в тупик. Приходится теперь осваивать Swordfish
tvset Дата: Сб, 11.12.2010, 11:53  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Новенький
Сообщений: 4
Репутация: 0   ±
Замечания:   ±
На сайте с 25.11.2010

Статус: Offline

Matrix252005, уважаемый почему вы считаете что MCS не принимает прописные буквы,компиляция проходит успешно-значит ошибок нет! Я не прав?
Нувообщем я переписал как вы советовали-результат-0. Еще будут предложения???

Добавлено (11.12.2010, 11.53.24)
---------------------------------------------
Matrix252005, Уважаемый в моей проге стоит в конце END,но почему то как вы пишете после нее pic переходит в sleep? у меня прога работает(диод мигает) а на lcd -фиг! есть предложения ещё???
Вот прога:'my 1 programm
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
trisc = 0 pause 1000
symbol led = portc.4
main:
lcdout $FE, 1, "hello"
pause 2000
led = 1
pause 200
led = 0
pause 200
goto main
end

ADMIN Дата: Вс, 12.12.2010, 15:19  |                                                                                                                Сообщение # 25
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1087
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

tvset, не имеет значения, какими буквами написано.

Этот кусок я бы переписал так:

Code

trisc = 0 pause 1000  
symbol led = portc.4

Code

symbol led = portc.4
trisc = 0
pause 1000  


Так будет правильней. Определения нужно указывать до начала программы, а не в теле.
И вообще, я уверен, дело в дисплее.
MiXaS Дата: Пн, 13.12.2010, 13:45  |                                                                                                                Сообщение # 26
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Соглашусь с ADMINom! Нужно проветить сам lcd и его подключение. tvset, я пробовал Ваш проект - он РАБОТАЕТ!! Так что дело в железе!
DAlexV Дата: Пн, 13.12.2010, 16:22  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Да нет господа. Все банальнее и проще. Скачал вариант предложенный MiXaS. Он будет работать только в Шпротеусе, так как ему глубоко до лампочки какой ему HEX подсовывают, главное что бы по размеру и конфигурации подходил. А то что он написан под 877 а по схеме 876 не наводит на размышления ????? Плюс где указана частота и тип кварцевого генератора ???? Ведь строчки define lCD_COMMANDUS 2000 и define lCD_DATAUS 50 обрабатываются в зависимости от частоты кварца. Отсюда не иницализируется дисплей, так как не всегда дефолтные значения правильно компилируются. В помощь несколько вариантов типа Hello World
http://www.picbasic.ru/forum/8-451-1
http://www.picbasic.ru/forum/9-141-2 (27 пост. пример + доказательство работы в виде фотки)

Единственное кварц 20 МГЦ стоит, но разницы ни какой. Успехов wink


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
MiXaS Дата: Вт, 14.12.2010, 10:34  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Quote (DAlexV)
А то что он написан под 877 а по схеме 876 не наводит на размышления ?????

А вот это косяк! Ну тут спор шел по поводу больших и маленьких букв. Меня этот вопрос заинтересовал. Решил попробовать, но так как сидел на конференции, допустил грубейшую ошибку спутал в спешке 876 и 877. НО! этот HEX заливал я в 16f877 с кварцем 4 МГц. Все работало.

Quote (DAlexV)
Плюс где указана частота и тип кварцевого генератора ???

Как пишет Уважаемый автор книги Хилинский, что для кварца в 4 МГц define osc 4 необязательно ставить. По крайней мне у меня все проекты работающие на частоте 4 МГц обходятся без этой строки. Конечно когда ставлю кварц 20 МГц приходится прописывать:
define osc 20
@ DEVICE pic16F877, HS_OSC ;
@ DEVICE pic16F877, WDT_ON
@ DEVICE pic16F877, PWRT_ON

Сообщение отредактировал MiXaS - Вт, 14.12.2010, 10:35
DAlexV Дата: Вт, 14.12.2010, 10:46  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 657
Репутация: 27   ±
Замечания:   ±
На сайте с 13.05.2008

Статус: Offline

Quote (MiXaS)
НО! этот HEX заливал я в 16f877 с кварцем 4 МГц. Все работало.
Бывает что и работает. Но не всегда.С 84А в свое время мучился часа 4 из за того что не правильно тип кварца указал. В MPLAB работает, а пациент не хотел есть :D. Поэтому лучше взять за правило.


Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
MiXaS Дата: Чт, 01.09.2011, 10:01  |                                                                                                                Сообщение # 30
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 27   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Quote (DAlexV)
Поэтому лучше взять за правило.

Полностью согласен!

Причину неисправности нужно начинать искать с самого элементарного.Например, Не работает схема, проверь есть ли питание... Ну и так ... далее...

Добавлено (01.09.2011, 10.01.37)
---------------------------------------------
Здравствуйте! Чтобы не загромождать форум новыми темами напишу здесь.
Подскажите пожалуйста можно ли в picbasic pro выводить на lcd свои символы? Например значёк батарейки, антены, ну и так далее. В протоне вроде можно, там для этого какая-то команда используется. Print вроде как вывести значение на экран, а другая (не помню какая) команда может выводить каждый сигмент отдельно, так?
Спасибо!

Форум Picbasic.ru » Программирование МК » PicBasicPro » pic16f876 и lcd wh1602
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: