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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » Pic Basic pro для начинающих (помощь в осваивании языка Pic Basic pro)
Pic Basic pro для начинающих
terrarus Дата: Вс, 21.02.2010, 14:52  |                                                                                                                Сообщение # 136
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Quote (holyuser)
Если ответить по сути вопроса нечего, то лучьше не спамить.

Не ожидал такой злой реакции. Ну чтож, люди разные бывают...
А ответить всегда есть что.... и по делу этой ветки.
Например:
Quote (Python)
24 VDC, на плюс оптрона от фазы А через резистор 500 ом,

Получается, что через излучающий диод оптрона будет протекать ток 48 мА. Не многовато ли?! Чтоб быстрей сгорел?
Для оптрона втекающий ток лучше установить 5 мА R= 24V/0,005мА=4800 Ом, Выбираем либо 4.7 кОм
либо 5,1 kОм.
Quote (Python)
Где можно скачать Протон?

Я Вам его пытаюсь отправить, но почему-то почтовый сервер сообщает об ошибке, буду пробовать еще. А скачать можно на нашем форуме.

Посмотрев на вашу программу задался вопросом, неужели вы не можете обойтись простой командой
COUNT ... Pin,Period, Var
которая считает число импульсов, которые приходят на Вывод в
течение Периода, и сохраняет результат в переменной Var. Я не увидел в вашей программе большую загрузку так, что, невозможно применить этот простой оператор. Может быть программа делает еще очень много полезных действий. например большой объем вычислений и опрашивает множество датчиков? Тогда конечно... Но то, что Вы опубликовали вызвало у меня сомнение по поводу острой необходимости использовать на все 100 аппаратные прерывания.

Ну все, Протон отправился на ваш е-mail.


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Вс, 21.02.2010, 15:14
pic_anton Дата: Вс, 21.02.2010, 15:32  |                                                                                                                Сообщение # 137
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 58
Репутация: 0   ±
Замечания:   ±
На сайте с 18.02.2010

Статус: Offline

сделал все 4ка было написано выше подключил ЛСД так как написали

вот прога

@ device hs_osc,wdt_off, wrt_off, lvp_on, pwrt_on, protect_off

define OSC 20

Define LCD_DREG PORTB
Define LCD_DBIT 4
Define LCD_RSREG PORTB
Define LCD_RSBIT 2
Define LCD_EREG PORTB
Define LCD_EBIT 3
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

trisc=0

pause 1000

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

Lcdout $fe, 1 ' Clear LCD screen
Lcdout "World"
Pause 500 ' Wait .5 second
portc.7=1
pause 1000
portc.7=0
pause 1000



Goto MainProgram

включаю а он опять не работает

Прикрепления: 1921935.jpg (144.6 Kb)


Век живи, Век учись, и всего не постичь!!!
Python Дата: Вс, 21.02.2010, 15:39  |                                                                                                                Сообщение # 138
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 45
Репутация: 0   ±
Замечания:   ±
На сайте с 11.02.2010

Статус: Offline

Огромное спасибо за Протон, скоро поставлю, скоро это после переустановки системы, я тут такого наставил при переходе на Pic Basic...

В финале проекта:
на одном контроллере индикация, память, вход сигнала "АВАРИЯ", 4 кнопки, USART
на втором счетчик количества импульсов от энкодера, 6 частотников (инверторов), 4 датчика, USART, выход сигнала "АВАРИЯ"

я думаю требуются прерывания, но для общего развития
COUNT ... Pin,Period, Var
это интересно для более спокойных проектов, я например и не подозревал про существование такой комманды, спасибо.

Добавлено (21.02.2010, 15.39.57)
---------------------------------------------
pic_anton, ты точно к порту Б прикрутил ЖКИ?
Какая модель ЖКИ? Какой контроллер используешь?

Сообщение отредактировал Python - Вс, 21.02.2010, 15:42
pic_anton Дата: Вс, 21.02.2010, 15:51  |                                                                                                                Сообщение # 139
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 58
Репутация: 0   ±
Замечания:   ±
На сайте с 18.02.2010

Статус: Offline

Уверяю вас точно к порту Б так как проверил неоднократно камень у меня 16ф877А кварц 20 жки wm-c2002p

Добавлено (21.02.2010, 15.51.13)
---------------------------------------------
программа сама работает так как я внее включил светодиод и он мегает когда камень в работе


Век живи, Век учись, и всего не постичь!!!
Python Дата: Вс, 21.02.2010, 22:08  |                                                                                                                Сообщение # 140
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 45
Репутация: 0   ±
Замечания:   ±
На сайте с 11.02.2010

Статус: Offline

Странно...
И контроллер ЖКИ тот же HD44780
Вот я камень из панельки вытащил и включил питание...
причем использую эту схему подключения и на другом ЖКИ, без проблем
Случайно нет возможности подключить другой ЖКИ, чтоб наверняка констатировать смерть wm-c2002p.

Я использую WH1602A-YGH-CTK и WH1602L-YGH-CT
Покупал новые завелись с полтыка.

Посмотрите внимательно места пайки может перегрев, микротрещины и все такое...
хрупкое ведь все капризное, чувствительное к тепловым и механическим нагрузкам

Добавлено (21.02.2010, 22.08.19)
---------------------------------------------
Люди поправьте меня пожалста...

SERIN porta.0, N9600, 20, main, w1, w2

это команда приема байта на ножке 0 порта А, на скорости 9600, 20 миллисекунд, в переменную main, потом в w1 и w2
правильно я все понял?

Прикрепления: 7992846.jpg (37.4 Kb)

Сообщение отредактировал Python - Вс, 21.02.2010, 16:21
Dmitry Дата: Вс, 21.02.2010, 22:30  |                                                                                                                Сообщение # 141
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 157
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Quote (Python)
я думаю требуются прерывания,

Если нужно посчитать ВСЕ импульсы, то да, если достаточно знать кол-во импульсов за небольшой период
времени, то COUNT

SERIN porta.0, N9600, 20, main, w1, w2
это прием ИНВЕРТИРОВАННЫХ (т.е. можно прямо с ком-порта через резистор 22к) посылок, ждать 20 мс, если нужное кол-во бит за это время не пришло, то перейти на метку main, если пришло, то принятое записать в переменные w1 и w2, затем переход на следующую команду.

Сообщение отредактировал Dmitry - Вс, 21.02.2010, 22:35
ЯНДЕКС Дата: 21.02.2010
Python Дата: Вс, 21.02.2010, 22:37  |                                                                                                                Сообщение # 142
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 45
Репутация: 0   ±
Замечания:   ±
На сайте с 11.02.2010

Статус: Offline

Упс, понял, а организовать обмен между двумя камнями посредством этой команды реально? Как понять инвертированных?
нужен двусторонний обмен данными между камнями...
допустим байт $01 это "работа в цикле", байт $23 это "ошибка датчика полного оборота" и т.д.

передача с пульта на исполняющий камень и обратно

Сообщение отредактировал Python - Вс, 21.02.2010, 22:43
holyuser Дата: Вс, 21.02.2010, 22:40  |                                                                                                                Сообщение # 143
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 228
Репутация: 5   ±
Замечания:   ±
На сайте с 12.12.2007

Статус: Offline

Quote (terrarus)
Не ожидал такой злой реакции.

Ну что Вы, я обратился к Вам с уважением и по делу,
Откуда взяли, что реакция злая, не пойму?
То что люди разные - это правда, но кто злой, а кто добрый -
не нам судить...
pic_anton Дата: Вс, 21.02.2010, 23:03  |                                                                                                                Сообщение # 144
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 58
Репутация: 0   ±
Замечания:   ±
На сайте с 18.02.2010

Статус: Offline

ПРоверил все контакты на плате до самого камня что на ЛСД что на плате может всетаки с настройками камня что то не то я тут в протеуси встречал такого что если кварц на 20 то ЛСД работать не хочет может ктото подскажет что делать или напишет прогу для камня 877а сполными настройками

Век живи, Век учись, и всего не постичь!!!
Dmitry Дата: Вс, 21.02.2010, 23:24  |                                                                                                                Сообщение # 145
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 157
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Quote (Python)
организовать обмен между двумя камнями посредством этой команды реально?Как понять инвертированных?

Можно. Только если между камнями, то инвертировать не надо, это применяется при подключении к ком-порту
компьютера без согласующей микросхемы (MAX232)
А организовать просто - когда надо передать чего-то, пишем serout porta.0, T9600, [var1, var2, ...],
чтобы организовать прием, надо в основном цикле программы вставить
serin porta.1, T9600, 100, main, var1,var2, ...
тогда проц будет ждать нужных переменных 100 мс, если не дождется,уходит на main, если
дождался, то в следующей команде анализируешь принятые переменные.
Python Дата: Вс, 21.02.2010, 23:30  |                                                                                                                Сообщение # 146
Группа: Пользователи
Ранг:  Пытаюсь разобраться
Сообщений: 45
Репутация: 0   ±
Замечания:   ±
На сайте с 11.02.2010

Статус: Offline

Понял огромное спасибо Dmitry, завтра буду зашивать оба камня и пробовать передачу между ними...
о результатах сообщу

Понимает только serout porta.0, 9600, [B_OUT]
9600 без Т, иначе пишет ошибку

Сообщение отредактировал Python - Пн, 22.02.2010, 00:30
terrarus Дата: Пн, 22.02.2010, 09:20  |                                                                                                                Сообщение # 147
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Правильно пишет, потому чтобы понимал T9600 нужно добавить в начало программы строку
Include "modedefs.bas"
А чтобы работать с инвертированными сигналами нужно вместо T9600 написать N9600.
У меня сложилось впечатление, что вы не пользуетесь ни литературой ни мануалами по программированию на PicBascPro, ведь на все ваши вопросы очень легко найти ответы в любой из следующих книг:
Чак Хелибайк. ПРОГРАММИРОВАНИЕ PIC-МИКРОКОНТРОЛЛЕРОВ НА PicBasic,
В. Хилинский УЧИМСЯ ПРОГРАММИРОВАТЬ МИКРОКОНТРОЛЛЕРЫ PIC НА ЯЗЫКЕ PICBASICPRO,
C. Костиков Перевод мануала "PicBasic Pro компилятор"
Советую скачать их электронные копии с нашего форума.


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Alexandr280480 Дата: Пн, 22.02.2010, 11:59  |                                                                                                                Сообщение # 148
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 96
Репутация: 0   ±
Замечания:   ±
На сайте с 23.01.2010

Статус: Offline

holyuser, terrarus большое спасибо!
Если честно я лучше пока подожду русский мануал по ПРОТОНУ, а пока помудрю в РВР, тем более почти получилось...


Купить за деньги может ВСЁ,
А ты попробуй сделай САМ!!!
pic_anton Дата: Пн, 22.02.2010, 16:25  |                                                                                                                Сообщение # 149
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 58
Репутация: 0   ±
Замечания:   ±
На сайте с 18.02.2010

Статус: Offline

РЕбята помогите очень вас прошу уже нет сил бороться LCD так и не хочет работать поставил новый и не как тоже самое проверил схему неоднократно и не как. также квадраты межет кто боролся с такой проблемой подскажите или подсккажите голосом вот мой скайп ancterx

Век живи, Век учись, и всего не постичь!!!
ivan_fd Дата: Пн, 22.02.2010, 17:17  |                                                                                                                Сообщение # 150
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Quote (pic_anton)
РЕбята помогите очень вас прошу уже нет сил бороться LCD так и не хочет работать поставил новый и не как тоже самое проверил схему неоднократно и не как. также квадраты межет кто боролся с такой проблемой подскажите или подсккажите голосом вот мой скайп ancterx

Выложите здесь свою программу, на которой пробуете.

Форум Picbasic.ru » Программирование МК » PicBasicPro » Pic Basic pro для начинающих (помощь в осваивании языка Pic Basic pro)
Поиск: