Программирование микроконтроллеров. Часть 12-1
Часы реального времени DS1307
Характеристики
- часы реального времени (RTC) отсчитывают секунды, минуты, часы, дату месяца, месяц, день недели и год с компенсацией високосного года, действительной до 2100 года;
- 56-байтовое энергонезависимое ОЗУ с питанием от батареи для хранения пользовательских данных;
- двухпроводной последовательный интерфейс;
- программируемый выходной сигнал с прямоугольными импульсами (для тактирования внешних устройств);
- автоматическое обнаружение падения напряжение и схема переключения на батарею;
- потребление менее 500 нА в режиме батарейной поддержки при работающем тактовом генераторе;
- промышленный диапазон температур: от – 40 °C до + 85 °C;
- микросхема производится в 8-выводных корпусах DIP и SOIC.
А выглядит она так:
![](https://img.golos.io/proxy/https://ecs7.tokopedia.net/img/product-1/2015/6/13/210101/210101_a082625c-20c9-4b0e-86a1-c4d5fdd3397c.jpg)
Назначение выводов
![](https://img.golos.io/proxy/http://www.geeetech.com/wiki/images/0/03/DS1307DIP.jpg)
Vcc, GND – на эти выводы подается питание.
Vcc – это вход +5 В. Когда питающее напряжение выше 1.25 * VBAT, устройство полностью доступно, и можно выполнять чтение и запись данных. Когда к устройству подключена батарея на 3 В, и Vcc ниже, чем 1.25 *
VBAT, чтение и запись запрещены, однако функция отсчёта времени продолжает работать. Как только Vcc падает ниже VBAT, ОЗУ и RTC переключаются на батарейное питание VBAT. VBAT – вход для любой стандартной трёхвольтовой литиевой батареи или другого источника энергии. Для нормальной работы DS1307 необходимо, чтобы напряжение батареи было в диапазоне 2.0 ... 3.5 В. Литиевая батарея с ёмкостью 48 мА/ч или более при отсутствии питания будет поддерживать DS1307 в течение более 10 лет при температуре 25°C.
SCL (Serial Clock Input - вход последовательных синхроимпульсов) – используется для синхронизации данных по последовательному интерфейсу.
SDA (Serial Data Input/Output - вход/выход последовательных данных) – вывод входа/выхода для двухпроводного последовательного интерфейса. Вывод SDA – с открытым стоком и требует внешнего подтягивающего резистора.
SQW/OUT (Square Wave/Output Driver - сигнал с прямоугольными импульсами) – когда включен, т.е. бит SQWE установлен в 1, вывод SQW/OUT выдаёт прямоугольные импульсы с одной из четырёх частот (1 Гц, 4 кГц, 8 кГц, 32 кГц). Вывод SQW/OUT – с открытым стоком и требует внешнего подтягивающего резистора. SQW/OUT будет работать как при питании от Vcc, так и при питании от VBAT.
X1, X2 – выводы для стандартного кварцевого резонатора с частотой 32.768 кГц. Схема внутреннего тактового генератора разработана для работы с кварцевым резонатором, имеющим входную ёмкость 12.5 пФ.
Типовая схема включения:
![](https://img.golos.io/proxy/http://www.ap-impulse.ru/wp-content/uploads/2015/03/b5a3808f0d7e.gif)
Регистры RTC:
Управляющий регистр:
OUT (Output control - управление выходом) – этот бит управляет логическим уровнем на выводе SQW/OUT, когда выход сигнала с прямоугольными импульсами отключен. Если SQWE = 0, то логический уровень на выводе SQW/OUT равен 1, если OUT = 1, и 0, если OUT = 0.
SQWE (Square Wave Enable - включение сигнала с прямоугольными импульсами) – когда этот бит установлен в 1, включается генерация прямоугольных импульсов. Их частота зависит от значения битов RS0 и RS1. (Если частота выходного сигнала установлена в 1Гц, регистры часов обновляются по заднему фронту этих импульсов).
RS (Rate Select - выбор частоты) – эти биты управляют частотой прямоугольных импульсов, когда бит SQWE=1.
В следующей части я покажу как можно подключить эту микросхему к микроконтроллеру ATMEGA8 и собрать часы.
Если есть вопросы и предложения по этому уроку, пишите комментарии буду рад ответить на ваши вопросы.
Часть 1
Часть 2-1 Часть 2-2
Часть 3-1 Часть 3-2
Часть 4-1 Часть 4-2
Часть 5
Часть 6-1 Часть 6-2
Часть 7
Часть 8-1 Часть 8-2
Часть 9
Часть 10
Часть 11-1 Часть 11-2