Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
Шаг 6. Осваиваем все возможности микроконтроллера ATtiny23 13 355 АЛУ — арифметико-логическое устройство Высокоэффективное АЛУ работает в прямой связи со всеми 32 регистрами общего назначения. За один цикл тактового генератора выполняется арифметическая операция между двумя РОН либо между РОН и непосредственно указанной константой. Все операции АЛУ раз делены на три главных категории: ♦ арифметические; ♦ логические; ♦ операции с разрядами. Особенностью архитектуры является то, что при выполнении ариф метических операций все операнды могут рассматриваться как числа без знака, так и числа со знаком. Регистр статуса Регистр статуса содержит информацию о результатах выполнения последней арифметической или логической команды. Эта информация может использоваться для того, чтобы изменить процесс выполнения про граммы в командах условного перехода и других условных операторах. Внимание. Изменение регистра статуса происходит не только при выполнении команд сравнения, но также в результате действия любых других команд, связанных с АЛУ. Влияние различных команд на содержимое регистра статуса вы можете видеть во всех таблицах этого шага (в графе «Примечание»). Воспользовавшись этой информацией, вы можете исключить лишние команды сравнения из своей программы и таким образом уменьшить ее длину. При вызове процедуры обработки прерывания регистр статуса авто матически не сохраняется. Программист должен обязательно предусмо треть в процедуре обработки прерываний команды, которые будут сохра нять содержимое этого регистра в начале и восстанавливать его в конце. Учтите, что регистр статуса не может быть непосредственно помещен в стековую память. Вам придется сначала сохранить в стеке один из реги стров общего назначения, затем поместить в освободившийся регистр содержимое регистра статуса, а затем уже из этого промежуточного реги стра переместить информацию в стек. Регистр статуса микроконтроллера SREG имеет следующий формат: Номер бита 765432 10 | I | t | h |S| v |N|Z|C| SREG 4TeHne(R)/3anncb(W) R/W R/W R/W R/W R/W R/W R/W R/W Начальное значение 00000000
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==