Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

Глава 3. Периферийные устройства и прерывания 51 АЦП может работать в двух режимах: одиночного и непрерывного преобразования. Второй режим целесообразен лишь при необходимости максимально возможной частоты выборок. В остальных случаях его следует избегать, т. к. обойти связанную с ним обработку цифровых сигналов, осуществляемую одновременно с АЦП-пре­ образованием, как правило, невозможно, а это означает еще большее снижение точности преобразования . ЗАМЕТКИ НА ПОЛЯХ В принципе функции АПЦ перенесены в Aгduiпo вполне аккуратно , и удобству пользо­ вания им уделено весьма значительное внимание. За кадром по сути остались лишь способы повышения точности , выбора между точностью и скоростью, не используются также прерывания АЦП (явно) и некоторые другие мелочи , - но на самом деле все это не очень-то и нужно в реальных задачах. Потому, если не считать того факта , что собственно измерения на ассемблере, в отличие от Aгduiпo, проводятся с максималь­ но возможной и предсказуемой скоростью, АЦП представляет собой тот случай , когда сторонники языка С могут с удовлетворением констатировать : вот область, где ас­ семблер явно проигрывает. Поэтому, если вам нужно просто измерить аналоговый сигнал , преобразовать его в физические величины и отобразить результат на индика­ торе - тут удобство Aгdu i пo вне конкуренции . Зато, если при этом еще и возникает задача поместить все это в минимальные габариты и запитать от батареек, - вот тут уже однозначно рулит ассемблер, т. к. относительная сложность инициализации АПЦ и преобразования кода в физические величины окажется при его использовании дале­ ко не самой существенной частью проекта . Применение традиционно входящего в состав всех АVR аналогового компаратора в Arduino не предполагается вовсе, и это неудивительно - аналоговый компаратор есть по сути однобитный АЦП и в силу этого способен заменить АЦП во многих случаях обработки аналоговых сигналов . Но контроллер тогда оказывается просто не нужен - простейший термостат вполне можно построить на одном компараторе и полудюжине рассыпных компонентов безо всякого контроллера. Однако встро­ енный компаратор, во-Первых, часто может заменить АЦП тогда, когда последний отсутствует (как в AТtiny23 1 3) , во-вторых, может служить в качестве входного фильтра при подсчете внешних событий - чтобы формировать надежные логиче­ ские уровни из аналоговой линии с непредсказуемыми формами сигналов, и еще во многих других практических случаях. Например, с контролем аккумуляторов с целью не допустить их глубокого разряда аналоговой компаратор при аккуратном подходе к составлению схемы справляется лучше АЦП и при этом работает совер­ шенно независимо от остальных компонентов контроллера. Ввиду простоты анало­ гового компаратора, мы его рассмотрим сразу в практических приложениях в гла­ ве 1 1 . А сейчас остановимся на другом важнейшем компоненте МК АVR - после­ довательных портах, которые служат основным каналом коммуникации МК с внешним миром. Последовательный порт Последовательными эти порты называют, потому что в них в каждый момент вре­ мени передается только один бит (в некоторых случаях возможна одновременная передача и прием, но суть дела от этого не меняется) . Самое главное преимущество

RkJQdWJsaXNoZXIy MTExODQxMg==