Самоучитель для микроконтроллеров AVR - Самоучитель для микроконтроллеров AVR

Бит_1 в регистре  DDRB  управляет переключателем - на рисунке переключатель показан в положении бит_1 равен "0". Диод на схеме идеальный - значит если бит_1 в PORTB будет тоже равен "0" то вывод PB1 будет высокоомным входом.

А если  бит_1 в PORTB сделать "1" то вывод PB1 через диод и резистор 40 КОм подключится к питанию МК - т.е. станет входом с подтяжкой.

Если бит_1 в регистре  DDRB  сделать "1" переключатель изменит состояние и значение бит_1 в PORTB будет выводится прямо на PB1 - теперь это будет просто выход.

"Подтяжку" (pull-up) можно использовать для создания четкой лог. "1" на ножке-входе МК без внешних компонентов.

К такому входу вы можете подключить кнопку замыкающую его на  "общий" провод устройства - GND - при нажатии. При отпущенной кнопке на входе будет "1" и соответствующий бит в регистре PINx тоже будет "1".  При нажатии кнопки ее контакты замкнут вход на GND и на нем станет "0" - соответственно и в PINx  появится "0" и ваша программа сможет прочитав PINx определить что кнопка нажата.

Внимание!  Подтяжку на всех портах одновременно можно отключить! 
Для этого нужно установить бит PUD в регистре SFIOR

Go to Top