Pic Basic pro для начинающих
|
|
terrarus |
Дата: Ср, 16.06.2010, 14:30 | Сообщение # 286 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Quote (contra) ivan_fd! спасибо за отклик, только в прикреплении вместо файла pbp одна строчка: '***Proton IDE project file*** Не тот файл взял, уже исправил смотрите. (в том сообщении)
|
|
|
|
mikhail09p |
Дата: Ср, 16.06.2010, 17:55 | Сообщение # 288 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Quote (terrarus) Вот второй день сижу и разбираюсь с тем, что вы наворотили, куча ошибок: Спосибо, буду исправлять.
|
|
|
|
contra |
Дата: Ср, 16.06.2010, 18:12 | Сообщение # 289 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.06.2009
Статус:
Offline
|
ivan_fd! Спасибо, код работает нормально.Теперь буду разбираться, что к чему.
|
|
|
|
Семеркин |
Дата: Ср, 16.06.2010, 18:19 | Сообщение # 290 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
8
Замечания:
±
На сайте с 31.05.2010
Статус:
Offline
|
Quote (Dmitry) так может там железячная проблема? Типа полярность сигнала не та, или скорость, или настройка USART в пике. Надо сначала к ком-порту подкинуть (через драйвер rs232) и увидеть в гипертерминале этот AT Железяки (программатор, сама сигналка, конвертор RS232) не один раз уже проеверена все работает. сам телефон на команду с компьютера реагирует присылает "ОК", сигналка моргает по всякому светодиодами, а вот увидеть посылает PIC чтонибудь не видно. Интуитивно мне кажется что настройка USART не правильная.
|
|
|
|
Dmitry |
Дата: Ср, 16.06.2010, 23:41 | Сообщение # 291 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
157
Замечания:
±
На сайте с 12.05.2009
Статус:
Offline
|
Quote (Семеркин) Интуитивно мне кажется что настройка USART не правильная. Кстати да, вот эти две строчки выкиньте: Define Hser_even 1 Define Hser_ODD 1 , а то вы первой включили семибитную передачу с контролем по четности, второй тут же переключили на контроль по нечетности, а модему нужна простая восьмибитная посылка. Кстати, сименс на 19200 нормально понимает? Или только на этой скорости и понимает?
|
|
|
|
Семеркин |
Дата: Чт, 17.06.2010, 19:24 | Сообщение # 292 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
8
Замечания:
±
На сайте с 31.05.2010
Статус:
Offline
|
Quote (Dmitry) Кстати, сименс на 19200 нормально понимает? Или только на этой скорости и понимает? с PICом пока обмена не получается, а вот компьютер и siemens на 19200 отлично работает через преобразователь уровней
|
|
|
|
Dmitry |
Дата: Чт, 17.06.2010, 21:27 | Сообщение # 293 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
157
Замечания:
±
На сайте с 12.05.2009
Статус:
Offline
|
Quote (Семеркин) с PICом пока обмена не получается, а вот компьютер и siemens на 19200 отлично работает Подкинуть ПИК вместо сименса и послать АТ в гипертерминал. Получается?
|
|
|
|
Семеркин |
Дата: Вс, 20.06.2010, 00:18 | Сообщение # 294 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
8
Замечания:
±
На сайте с 31.05.2010
Статус:
Offline
|
Quote (Dmitry) Подкинуть ПИК вместо сименса и послать АТ в гипертерминал. Получается? интересная мысль! попробую.
|
|
|
|
mikhail09p |
Дата: Пт, 25.06.2010, 19:02 | Сообщение # 295 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
481
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Вот что получилось на Протоне. Это вольтметр, амперметр и термометр для блока питания. Спасибо terrarus и Николай ! Вот хотелось бы ещё разобратся с прерываниями. Подскажите, как считать время?
Сообщение отредактировал
mikhail09p - Пт, 25.06.2010, 19:06
|
|
|
|
contra |
Дата: Вс, 25.07.2010, 09:54 | Сообщение # 296 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 27.06.2009
Статус:
Offline
|
всем привет!!! Подскажите пожалуйста, можно ли при помощи одной кнопки ввести в порт некое значение (от 0 до 255)? и если можно, то как?
|
|
|
|
terrarus |
Дата: Вс, 25.07.2010, 13:47 | Сообщение # 297 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Конечно можно. При нажатии кнопки входите в цикл и пока удерживаете кнопку цикл крутится, а переменная получает приращение по + 1 единице или минус по одной единице. Только нужно определить задержку в этом цикле, то есть через какое количество микросекунд или секунд цикл будет повторяться.
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
|
|
|
|
chiper |
Дата: Вс, 25.07.2010, 18:48 | Сообщение # 298 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
108
Замечания:
±
На сайте с 14.07.2010
Статус:
Offline
|
Ладно отпишусь тут.... Проблема такая.... почему вывод d1 теряет высокий уровень? хотя я его не обновляю при переходе "в меню" ? и почему при завершение компиляции выходит предупреждение о 306 ошибке? Посмотрите пожалуйста.. может ещё где ошибку увидите. pass к архиву : zaq12wsx P.S. "схема" ещё корявая т.к. это beta версия... к схеме пожалуйста особо не придирайтесь....
Как бы ты хорошо не паял, твой девайс на микроконтроллере без прошивки будет просто куском железа.
|
|
|
|
contra |
Дата: Вс, 25.07.2010, 22:03 | Сообщение # 299 |
Группа:
Проверенные
Ранг:
Продвинутый
Сообщений:
112
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 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
|
|
|
|