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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ivan_fd  
Pic Basic pro для начинающих
terrarus Дата: Ср, 16.06.2010, 14:30  |                                                                                                                Сообщение # 286
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Quote (mikhail09p)
РЕБЯТА,а почему в Протеусе рабочие программы не работают?

Вот второй день сижу и разбираюсь с тем, что вы наворотили, куча ошибок:
1. В схеме неправильно подано питание датчика температуры VCC это цепь +5V.
2. В схеме подключения питания ЖКИ тоже ошибки: VSS это - 5V, а VDD это + 5V.
3. Вывод VEE ЖКИ в реальной схеме нужно подтянуть к GND через резистор примерно 2,4 кОм, а в Протеусе можно просто подключить к GND.
4. Вывод RW ЖКИ нужно подключить к GND.
5. К портуВ - RB.0, RB.1, RB.2, RB.3 нужно подключить соответственно информационные вывода ЖКИ D4, D5, D6, D7, а не так как вы напортачили.
6. Вывод MCLR микроконтроллера нужно подтянуть к VDD через резистор 1 кОм.
7. В протеусе ни стабилизатор ни батарея на 12V нахрен не нужна, Все будет работать и без них отлично.Это просто баласт в протеусе.
8. Нельзя файлам написаному на Basice давать названия на русском языке. Вы назвали файл " Измерение температуры на 16F874A.pbp ", а нужно было бы так - izm_temp_874a.pbp
Обратите внимание на то, что:
a) имя файла не считая его расширение не должно быть более 15 символов;
b) в имени файла не долно быть пробелов, можно заменять их символами подчеркивания.
с) имя файла не должно содержать кирилицы,
d) в имени файла желательно не применять большие буквы
e) имя файла не должно начинаться с цифр
9. В программе есть ошибки. Но проверить не могу так как я не PicBasicPRO не пишу уже давно, нет поэтому и микростудии и т.д, а есть PROTON+IDE. В принципе можно в PROTON+IDE компилировать и файлы написанные на PicBasicPRO если они не содержат ошибок, а если содержать не всегда их быстро можно выявить. Поэтому стал переделывать Вашу программу на PROTON-e, а потом решил немного расширить программу. Измерение тока, напряжения и температуры уже работают, хочу добавить измерение давления и влажности, и часы реального времени. Естественно вывод данных на ЖКИ. Что еще нужно добавить? Если интересно кому потом выложу в разделе "каталог статей", напишите если это кому-нибудь нужно.

.


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Пт, 18.06.2010, 09:10
ivan_fd Дата: Ср, 16.06.2010, 14:48  |                                                                                                                Сообщение # 287
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Quote (contra)
ivan_fd! спасибо за отклик, только в прикреплении вместо файла pbp одна строчка: '***Proton IDE project file***

Не тот файл взял, уже исправил смотрите. (в том сообщении)
mikhail09p Дата: Ср, 16.06.2010, 17:55  |                                                                                                                Сообщение # 288
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Quote (terrarus)
Вот второй день сижу и разбираюсь с тем, что вы наворотили, куча ошибок:

Спосибо, буду исправлять.

contra Дата: Ср, 16.06.2010, 18:12  |                                                                                                                Сообщение # 289
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

ivan_fd! Спасибо, код работает нормально.Теперь буду разбираться, что к чему.
Семеркин Дата: Ср, 16.06.2010, 18:19  |                                                                                                                Сообщение # 290
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 31.05.2010

Статус: Offline

Quote (Dmitry)
так может там железячная проблема? Типа полярность сигнала не та, или скорость, или настройка
USART в пике. Надо сначала к ком-порту подкинуть (через драйвер rs232) и увидеть в гипертерминале этот AT

Железяки (программатор, сама сигналка, конвертор RS232) не один раз уже проеверена все работает.
сам телефон на команду с компьютера реагирует присылает "ОК", сигналка моргает по всякому светодиодами, а вот увидеть посылает PIC чтонибудь не видно. Интуитивно мне кажется что настройка USART не правильная.

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

Статус: Offline

Quote (Семеркин)
Интуитивно мне кажется что настройка USART не правильная.

Кстати да, вот эти две строчки выкиньте:

Define Hser_even 1
Define Hser_ODD 1

, а то вы первой включили семибитную передачу с контролем
по четности, второй тут же переключили на контроль по нечетности, а модему нужна простая восьмибитная
посылка. Кстати, сименс на 19200 нормально понимает? Или только на этой скорости и понимает?

ЯНДЕКС Дата: 16.06.2010
Семеркин Дата: Чт, 17.06.2010, 19:24  |                                                                                                                Сообщение # 292
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 31.05.2010

Статус: Offline

Quote (Dmitry)
Кстати, сименс на 19200 нормально понимает? Или только на этой скорости и понимает?

с PICом пока обмена не получается, а вот компьютер и siemens на 19200 отлично работает через преобразователь уровней

Dmitry Дата: Чт, 17.06.2010, 21:27  |                                                                                                                Сообщение # 293
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 157
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Quote (Семеркин)
с PICом пока обмена не получается, а вот компьютер и siemens на 19200 отлично работает

Подкинуть ПИК вместо сименса и послать АТ в гипертерминал. Получается?
Семеркин Дата: Вс, 20.06.2010, 00:18  |                                                                                                                Сообщение # 294
Группа: Проверенные
Ранг:  Новенький
Сообщений: 8
Репутация: 0   ±
Замечания:   ±
На сайте с 31.05.2010

Статус: Offline

Quote (Dmitry)
Подкинуть ПИК вместо сименса и послать АТ в гипертерминал. Получается?

интересная мысль! попробую.

mikhail09p Дата: Пт, 25.06.2010, 19:02  |                                                                                                                Сообщение # 295
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

happy Вот что получилось на Протоне. Это вольтметр, амперметр и термометр для блока питания.

Спасибо terrarus и Николай !
Вот хотелось бы ещё разобратся с прерываниями. Подскажите, как считать время?

Прикрепления: Amper_proton_te.bas (2.6 Kb)

Сообщение отредактировал mikhail09p - Пт, 25.06.2010, 19:06
contra Дата: Вс, 25.07.2010, 09:54  |                                                                                                                Сообщение # 296
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

всем привет!!! Подскажите пожалуйста, можно ли при помощи одной кнопки ввести в порт некое значение (от 0 до 255)?
и если можно, то как?
terrarus Дата: Вс, 25.07.2010, 13:47  |                                                                                                                Сообщение # 297
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Конечно можно. При нажатии кнопки входите в цикл и пока удерживаете кнопку цикл крутится, а переменная получает приращение по + 1 единице или минус по одной единице. Только нужно определить задержку в этом цикле, то есть через какое количество микросекунд или секунд цикл будет повторяться.

Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
chiper Дата: Вс, 25.07.2010, 18:48  |                                                                                                                Сообщение # 298
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 108
Репутация: 4   ±
Замечания:   ±
На сайте с 14.07.2010

Статус: Offline

Ладно отпишусь тут....

Проблема такая.... почему вывод d1 теряет высокий уровень? хотя я его не обновляю при переходе "в меню" ?

и почему при завершение компиляции выходит предупреждение о 306 ошибке?
Посмотрите пожалуйста.. может ещё где ошибку увидите.

pass к архиву : zaq12wsx

P.S. "схема" ещё корявая т.к. это beta версия... к схеме пожалуйста особо не придирайтесь....

Прикрепления: _ZIP-WinRAR.zip (190.1 Kb)


Как бы ты хорошо не паял, твой девайс на микроконтроллере без прошивки будет просто куском железа.
contra Дата: Вс, 25.07.2010, 22:03  |                                                                                                                Сообщение # 299
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

Quote (terrarus)
Конечно можно. При нажатии кнопки входите в цикл и пока удерживаете кнопку цикл крутится, а переменная получает приращение по + 1 единице или минус по одной единице. Только нужно определить задержку в этом цикле, то есть через какое количество микросекунд или секунд цикл будет повторяться.

main:
IF kn = 1 THEN goto Loop
.....
Loop:
x = x + 1
goto main
Я правильно понял?
terrarus Дата: Пн, 26.07.2010, 08:42  |                                                                                                                Сообщение # 300
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Quote (contra)
Я правильно понял?

Можно и так.
Только нужно лучше добавить оператор задающий паузу, например:

main:
IF kn = 1 THEN goto Loop
.....
Loop:
x = x + 1
DelayMs 250
goto main

или так:
main:
IF kn = 1 THEN DelayMs 250: x = x + 1
.....
......
goto main

или так:
main:
IF kn = 1 THEN DelayMs 250: x = x + 1: goto Label
.....
......
goto main

Вообще-то вариантов может быть много...


Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал terrarus - Пн, 26.07.2010, 08:43
Поиск: