Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Разное » Программная подтяжка портов


Программная подтяжка портов

Сообщений 1 страница 14 из 14

1

Возможна ли в баскоме программная подтяжка портов к + питания? Чтоб избавиться от лишних резисторов.

0

2

Да.

Код:
Config Pind.7 = Input   
Set Portd.7

+1

3

Спасибо огромное!!!

0

4

А подскажите код на дребезг контактов.

0

5

самое простое

Код:
 Debounce Pind.2 , 0 , Button , Sub  ' опрос кнопки

Почитайте в Help http://avrhelp.mcselec.com/index.html?debounce.htm

Отредактировано amv2000 (2013-10-26 11:15:05)

0

6

Сорри за чайниковский вопрос... ;)

С подтяжкой "вниз" порта, сконфигурированного на вход понятно:
Config PORTD = Input
Reset PORTD

Выполнить подобное для порта "на выход" тоже:
Config PORTD = Output
Reset PORTD

Только вот если начать "играться" с пинами
PORTD.3 = 1
... что-то делаем ...
PORTD.3 = 0
Не выключится при этом подтяжка ?
Не придется ее включать каждый раз по-новой ?

Просьба в даташиты не отсылать... ;)

0

7

Направление порта Input/Output и значение порта - это разные регистры, если сам их не изменишь, то и менять ничего не придется.
Подтяжки на 0 порта, сконфигурированного на вход, насколько я знаю, нет. Можно подтягивающий внешний резистор поставить.

0

8

Подтяжка к "земле" есть только у серии XMega.
Подтяжка выхода - улыбнуло.)

0

9

MACTEPok написал(а):

Направление порта Input/Output и значение порта - это разные регистры, если сам их не изменишь, то и менять ничего не придется.

Биг сенкс !
Где-то в глубине остатков сознания подобное и подозревал... ;)

MACTEPok написал(а):

Подтяжки на 0 порта, сконфигурированного на вход, насколько я знаю, нет. Можно подтягивающий внешний резистор поставить.

Как раз хотелось бы от внешних отказаться...
Просто порт читает выхода трех источников с Z-состоянием по ходу работы, если не ставить подтяжку - путаница получатся. Иногда Z читает за "1"... ;)

0

10

RDW написал(а):

Подтяжка к "земле" есть только у серии XMega.

Биг сенкс, будем знать... ;)

RDW написал(а):

Подтяжка выхода - улыбнуло.)

Отчего ? ;)  Про "выход" - это я просто "до кучи" упомянул, для примера изменения состояния... ;)
С одной стороны - да, излишество, а с другой - гарантированный логический уровень... ;)

Отредактировано Nord (2016-04-19 13:16:42)

0

11

что бы темы не плодить: как будет грамотнее реализовать включение\выключение устройства одной кнопкой?
ну т.е. питание на МК всегда подано, изначально он в ждущем режиме. по первому нажатию кнопки программа стартует, по второму останавливается. со стартом все бол\мен понятно, а с остановкой как? выкидывать из главного цикла сразу к End. и принудительно обнулять порты вывода (у меня там светодиодов куча)?  кнопку наверное на прерывание лучше повесить?

упд: ага, открыл для себя PowerDown. ну, буду пробовать

Отредактировано IDok (2017-05-04 13:47:53)

0

12

IDok написал(а):

обнулять порты вывода

Надо только учитывать, если это как-то критично, что схема в этот момент/точке отвязана от МК и следовательно подтяжку по умолчанию может понадобится делать внешним резистором.

IDok написал(а):

PowerDown

Только один нюанс, оно всё работает только через INT.

Ну и алгоритм должен учитывать тот факт, что есть: дребезг контактов и время на запуск схемы МК и внешки...

0

13

RDW написал(а):

оно всё работает только через INT.

ну, да. через INT1 и хочу (Тини2313). Таймер0 работает на программный ШИМ. про дребезг в курсе, видел разные решения (и через Debounce и через Waitms)... какое будет проще\надежней\предпочтительней?

0

14

IDok написал(а):

видел разные решения (и через Debounce и через Waitms)... какое будет проще\надежней\предпочтительней

Я не использовал не один, т.к. они полностью останавливают процесс выполнения кода, хотя в теории должен помочь "Debounce", если многопоточность процессов не нужна.

0


Вы здесь » Программирование ATMEL в BASCOM. » Разное » Программная подтяжка портов