МИКРОКОНТРОЛЛЕР AVR - МИКРОКОНТРОЛЛЕР AVR

Часы реального времени и термометр

Как и создание первого приложения, описанного выше, реализация часов с термометром является для вас давно знакомой задачей. Здесь никаких сюрпризов. Единственное, что следует отметить — я не использовал внешний резистор для «подтягивания» к напряжению питания вывода, к которому подключена кнопка установки времени, хотя такой резистор подключен к линии последовательного интерфейса термодатчика DS1820 (рис 37.2). Это сделано для того, чтобы избежать каких-либо неприятностей с внутренними КМОП-схемами, «подтягивающими» выводы к напряжению питания.

Рис. 37.2. Цифровые часы/термометр на основе AVR

Особенностью реализации этого приложения на базе AVR по сравнению с аналогичными приложениями, написанными для других микроконтроллеров, является недостаток возможностей для размещения таблиц в памяти программ. Вместо этого, заголовки «Time:» и «Temp:» должны быть введены в исходный код программы следующим образом:

В данном приложении проявляются некоторые недостатки ассемблера/симулятора AVR. Первый — это отсутствие возможностей определять константы в виде ASCII-символов. Обычно при написании программ я стараюсь использовать наиболее подходящий тип для реализации данных. То обстоятельство, что в AVR нельзя вводить константы в виде символов, иногда вызывает значительные неудобства. Обычно я никогда не пользуюсь таблицей символов ASCII при написании программ. Симулятор AVR также несколько разочаровал меня, так как он не показывает содержимое регистров ввода-вывода, а только содержимое РОН и некоторых других регистров процессора. Честно говоря, данные недостатки не очень значительны, и я никогда не имел проблем с программным обеспечением, которое использовал. При этом я уверен, что в последующих версиях программ все недочеты будут устранены.

Go to Top