Лекция: Rjmp Init

Это команда относительного перехода (relative jump). Она указывает микроконтроллеру перейти на участок программы, который был помечен меткой Init. Причина, по которой переход называется относительным, связана с тем, каким образом ассемблер интерпретирует эту команду. Например, секция Init располагается через 40 команд от команды rjmp Init. В этом случае ассемблер интерпретирует эту команду, как «перепрыгнуть вперед через 40 команд», т.е. перейти относительно текущей команды. Гораздо проще считать, что микроконтроллер просто переходит к метке Init.

В первой части секции Init задается, какие из выводов будут работать как входы, а какие — как выходы. Это осуществляется при помощи регистров ввода/вывода DDRB и DDRD (регистры направления передачи данных).

Если мы сконфигурируем вывод как вход, мы сможем задать, будет ли к этому выводу подключен внутренний подтягивающий резистор (подтяжка) или нет. Это может избавить от необходимости использовать внешние резисторы. Чтобы включить подтяжку входа, необходимо установить в 1 соответствующий бит регистра Portx, но если этого не требуется, убедитесь, что вы ее отключили, сбросив соответствующий бит регистра Portx в . Выходы, при включении микроконтроллера должны находиться в определенном начальном состоянии (например, все выключены). Поэтому следует установить или сбросить соответствующие биты регистров Portx в зависимости от того, в какое состояние мы хотим установить выходы при старте.

еще рефераты
Еще работы по информатике