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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » туплю с pic12f629
туплю с pic12f629
tesla88 Дата: Пт, 21.12.2012, 19:34  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Доброго всем времени суток, перешёл я тут по необходимости с 16й серии на 12ю , и вроде делаю всё как обычно , но немогу сконфигурировать адекватно порты, светодиод начинает сразу маргать, хотя должен после нажатия кнопки, заранее прошу прощения за глупый вопрос, вот код
Device 12F629
Declare Xtal = 4
DEFINE OSC 4
TRISIO = %111101
GPIO = %000000
Symbol x = GPIO.0

main:
If x = 0 Then main1
GoTo main

main1:
GPIO.1 = 1
DelayMS 500
GPIO.1 = 0
DelayMS 500
GoTo main
ЯНДЕКС Дата: 21.12.2012
ivan_fd Дата: Пт, 21.12.2012, 19:43  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

В чем проверяете? Конфигурация контроллера где?
tesla88 Дата: Пт, 21.12.2012, 19:51  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

проверяю на железе, в 16й серии я обходился без прописи конфигураций и всё работало, мерию напруги на ногах, всё правельно, на входах по 5 вольт через внешние сопроты подведино, я просто непойму какие ещё конфигурации нужны для опроса логического уровня на входе
ivan_fd Дата: Пт, 21.12.2012, 22:24  |                                                                                                                Сообщение # 4
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

biggrin

Конфигурацию нужно прописывать независимо от серии - это первое, и второе, сделайте порты цифровыми.

Вы даташит смотрели???? Есть на русском.
shaman Дата: Пт, 21.12.2012, 22:36  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 07.11.2011

Статус: Offline

Device 12F629
Reminders = OFF
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, MCLRE_OFF ;No crystal, no reset
Reminders = On
Xtal 4
All_Digital = On
;----------------- Установки Портов ----------------------;
TRISIO = %000001
;---------------- Переименнуем Порт ----------------------;
Symbol But = GPIO.0 ' Кнопка 1
Symbol Led = GPIO.4 ' Св.диод
;---------------- Основная программа --------------------;
main:
If But = 0 Then
Led = 1
DelayMS 500
Led = 0
EndIf

Добавлено (21.12.2012, 22:36)
---------------------------------------------
GoTo main
End
Забыл добавить

tesla88 Дата: Сб, 22.12.2012, 07:48  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Большое спасибо, разобрался, всё заработало, но есть один нюанс, вообще прибора в том что при нажатии тревожной кнопки данный девайс должен в течении получаса выдавать на передатчик сигнал о сработке тревоги, и при отключении электроэнергии должен запоминать поступившую тревогу, а при подаче продолжать штатную работу, тоесть мне необходимо задействовать таймер и память контроллера, а с этим как раз у меня проблемы, может кто сможет реализовать данную задумку? ещё раз спасибо за помощь.
shaman Дата: Сб, 22.12.2012, 18:33  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Могу и подсказать
Сообщений: 178
Репутация: 5   ±
Замечания:   ±
На сайте с 07.11.2011

Статус: Offline

Добрый вечер,попробуйте написать сами программу , если что то не получится на форуме Вам помогут.
http://terrarus.ucoz.ru/proton_....te.html

Добавлено (22.12.2012, 18:33)
---------------------------------------------
http://www.picbasic.ru/publ....1-0-111
http://www.picbasic.ru/publ....1-0-112

retas Дата: Сб, 22.12.2012, 20:02  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 447
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

tesla88!
Вы что, не намерены предусмотреть автономное питание???
О пропаже напруги (если нет затруднений постореннему её отключить) следует также оповещать.
tesla88 Дата: Вс, 23.12.2012, 08:09  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

Я так подумал, система резервного питания на обьектах ставится всегда, поэтому с записью можно не заморачиваться, а вот таймер должен пол часа после тревоги работать, суть в том что на охраняемом обьекте устанавливается тревожная кнопка, и дурные охранники любят эти самые кнопки просто так нажимать, а потом когда приезжает оперативная группа говорят что мол нечего не нажимали, вот для этого и нужен данный девайс, он должен после нажатия кнопки продублировать на передатчик сработку и в течении полу часа выдавать индикацию , а после истечегния времени или по сигналу оперативной группы перейти в обычный режим. в общем надо мне грызть мануалы по архетиктуре 12й серии , а то что то в голове всё перемешалось, не одна команда по записи данных не работае , не EWrite не cfwrite, протон почему то ругается
tesla88 Дата: Вс, 23.12.2012, 17:00  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 114
Репутация: 0   ±
Замечания:   ±
На сайте с 20.11.2010

Статус: Offline

решил я свою проблему более простым способом, всем большое спасибо за помощь!!!
Прикрепления: control_board.bas (0.9 Kb)
k_valera59 Дата: Чт, 10.01.2013, 17:02  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Новенький
Сообщений: 4
Репутация: 0   ±
Замечания:   ±
На сайте с 27.03.2012

Статус: Offline

При работе с МК 12F629-675 надо учитывать, что по умолчанию,он если Вы конфигурируете вывод порта как вход он будет аналоговым!
Используйте опцию копмилятора (Declare All_Digital = On), если хотите сделать выводы порта цифровыми или правильно настройте регистры ANSEL, ADCON1,
ADCON2(см. PDF)
Замечание: код написан для идеальной кнопки. которых в природе не существует. Все кнопки имеют дребезг и его надо учитывать! Конечно для вашего применения это будет работать, но когды Вы захочите получить адекватную реакцию на нажатие кнопки (например, при подсчёте количества нажатий ) без учёта дребезга кнопки ничего не выйдет. Поэтому желательно при работе с кнопками использовать функцию Button или самому программно вводить антидребезговые задержки(не менее 50 мс) как на включение так и на выключение. В тех случаях, когда программа выполняет ещё что-то момимо анализа
состояния кнопки, желательно использовать функцию прерывания по изменению уровня сигнала на входе порта, к которому подключена кнопка для
получения максимально быстрой реакции на её нажатие.
В общем, дерзайте в этом полезном и увлекательном деле.
С Уважением, Валерий


Valera1808
ЯНДЕКС Дата: 10.01.2013
Форум Picbasic.ru » Программирование МК » Proton PicBasic » туплю с pic12f629
  • Страница 1 из 1
  • 1
Поиск: