pic16f876 и lcd wh1602
|
|
Matrix252005 |
Дата: Чт, 25.11.2010, 13:31 | Сообщение # 16 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Что, "define lcd_dreg portb", что "DEFINE LCD_DREG PORTB" работает???
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
MiXaS |
Дата: Чт, 25.11.2010, 13:35 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Странно, но у меня нет. Вот картинки, "Не работает" - "define lcd_dreg portb", "Работает" - "DEFINE LCD_DREG PORTB"
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
MiXaS |
Дата: Чт, 25.11.2010, 13:48 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Странно! Давайте я выложу, что у меня получилось, а Вы найдете у меня косяк!
Сообщение отредактировал
MiXaS - Чт, 25.11.2010, 13:48
|
|
|
|
Matrix252005 |
Дата: Чт, 25.11.2010, 13:53 | Сообщение # 20 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Может у меня бока с MCS v3.0.0.5 и PBP v2.60. Попробую переустановить. Добавлено (25.11.2010, 13.53.59) --------------------------------------------- У меня косяк с компилятором. Ваша прога не работает после компиляции.... Вот такие пироги с котятами...
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
MiXaS |
Дата: Чт, 25.11.2010, 14:37 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Я точно не помню какой у меня компилятор или pbp 2.5 или pbp 2.6. А на что ругается??? (компилятор)
|
|
|
|
Matrix252005 |
Дата: Чт, 25.11.2010, 14:46 | Сообщение # 22 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
В том то и проблема, что не на что... Прописываешь все большими, все ОК!!! Когда маленькими, бока... По ходу ругается сам ASM... Я перепробовал кучу, но эффект тот же... MCS я держу просто так, на память о нем... Я перешел на Протон, он мне больше нравится.
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
MiXaS |
Дата: Чт, 25.11.2010, 14:52 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Я осваивал PBP, но когда дело дошло до более сложных конструкций всё зашло в тупик. Приходится теперь осваивать Swordfish
|
|
|
|
tvset |
Дата: Сб, 11.12.2010, 11:53 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
4
Замечания:
±
На сайте с 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 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 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 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Соглашусь с ADMINom! Нужно проветить сам lcd и его подключение. tvset, я пробовал Ваш проект - он РАБОТАЕТ!! Так что дело в железе!
|
|
|
|
DAlexV |
Дата: Пн, 13.12.2010, 16:22 | Сообщение # 27 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 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 МГЦ стоит, но разницы ни какой. Успехов
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
MiXaS |
Дата: Вт, 14.12.2010, 10:34 | Сообщение # 28 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (MiXaS) НО! этот HEX заливал я в 16f877 с кварцем 4 МГц. Все работало. Бывает что и работает. Но не всегда.С 84А в свое время мучился часа 4 из за того что не правильно тип кварца указал. В MPLAB работает, а пациент не хотел есть :D. Поэтому лучше взять за правило.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
MiXaS |
Дата: Чт, 01.09.2011, 10:01 | Сообщение # 30 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Quote (DAlexV) Поэтому лучше взять за правило. Полностью согласен! Причину неисправности нужно начинать искать с самого элементарного.Например, Не работает схема, проверь есть ли питание... Ну и так ... далее... Добавлено (01.09.2011, 10.01.37) --------------------------------------------- Здравствуйте! Чтобы не загромождать форум новыми темами напишу здесь. Подскажите пожалуйста можно ли в picbasic pro выводить на lcd свои символы? Например значёк батарейки, антены, ну и так далее. В протоне вроде можно, там для этого какая-то команда используется. Print вроде как вывести значение на экран, а другая (не помню какая) команда может выводить каждый сигмент отдельно, так? Спасибо!
|
|
|
|