Материал: Программа для автомата подачи звонков в учебном учреждении

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Преимущество RTC в том, что контроллер нужен только для отправки данных на индикатор, весь счет времени идет внутри RTC, а нам остается только считывать время из ячеек, эти микросхемы также имеют таймер, будильник и вырабатывают прерывание для внешних устройств.

Существует множество микросхем RTC. Это такие как DS1994 и DS1904 выпускаемые фирмой Dallas Semiconductor. Их отличительной особенностью является способ представления времени. Сами часы выполнены как двоичный счётчик с разрешением 1/256 с. Минуты, часы, дни, годы вычисляются из числа секунд, прошедших от условно выбранной даты.

Также есть RTC компании ST, содержащие минимум необходимого для непрерывной выдачи в систему реального времени. К таким устройствам относятся микросхемы M41T0 и M41T80. Они содержат полный набор счетчиков времени и учитывают особенности високосных лет. К дополнительным возможностям этих устройств относятся программируемый сигнал аварии с функцией обработки прерываний, программируемый выходной меандр и отдельный вывод сигнала с частотой 32 кГц, используемый как эталонный входной сигнал для тактовых генераторов других микросхем. Имея такие возможности, данные микросхемы покрывают потребности приложений в значительной части потребительского рынка.

Мы же с своей работе выбираем RTC фирмы Dallas Semiconductor, упомянутой ранее, DS1307.

Характеристики

часы реального времени (RTC) отсчитывают секунды, минуты, часы, дату месяца, месяц, день недели и год с компенсацией високосного года, действительной до 2100 года;

56-байтовое энергонезависимое ОЗУ с питанием от батареи для хранения пользовательских данных;

двухпроводной последовательный интерфейс;

программируемый выходной сигнал с прямоугольными импульсами (для тактирования внешних устройств);

автоматическое обнаружение падения напряжение и схема переключения на батарею;

потребление менее 500 нА в режиме батарейной поддержки при работающем тактовом генераторе;

промышленный диапазон температур: от - 40 °C до + 85 °C;

микросхема производится в 8-выводных корпусах DIP и SOIC.

Классификация- 8-выводный DIP (300 миллидюймов - 7.62 мм)Z - 8-выводный SOIC (150 миллидюймов - 3.81 мм)N - 8-выводный DIP (промышленный)ZN - 8-выводный SOIC (промышленный)

Расположение выводов


DS1307 8-выводный DIP (300 миллидюймов)


DS1307 8-выводный SOIC (150 миллидюймов)

Назначение выводов- первичный источник питания;, X2 - подключение 32.768 кГц кварцевого резонатора;- вход батареи +3 В;- общий минус;- последовательные данные;- последовательные синхроимпульсы;/OUT - выходной сигнал с прямоугольными импульсами.

Описание

Часы реального времени с последовательным интерфейсом DS1307 - это малопотребляющие полные двоично-десятичные часы-календарь, включающие 56 байтов энергонезависимой статической ОЗУ. Адреса и данные передаются последовательно по двухпроводной двунаправленной шине. Часы-календарь отсчитывают секунды, минуты, часы, день, дату, месяц и год. Последняя дата месяца автоматически корректируется для месяцев с количеством дней меньше 31, включая коррекцию високосного года. Часы работают как в 24-часовом, так и в 12-часовом режимах с индикатором AM/PM. DS1307 имеет встроенную схему наблюдения за питанием, которая обнаруживает перебои питания и автоматически переключается на питание от батареи. Для измерения времени в качестве задающего генератора используется кварцевый резонатор частотой 32.768 кГц.

Типовая схема включения

Работана последовательной шине работает как ведомое устройство. Доступ к нему достигается установкой условия START и передачей устройству идентификационного кода, за которым следует адрес регистра. К следующим за ним регистрам доступ осуществляется последовательно, пока не будет выполнено условие STOP.

Если VCC падает ниже 1.25 * VBAT, DS1307 прерывает процесс доступа и сбрасывает счётчик адреса, причем в это время внешние сигналы не воспринимаются (чтобы предотвратить запись ошибочных данных).

Если VCC падает ниже VBAT, DS1307 переключается в низкоточный режим батарейной поддержки.

При включении питания DS1307 переключается от батареи к Vcc, когда значение Vcc превышает VBAT + 0.2 В. Входящие сигналы начинают восприниматься тогда, когда Vcc превышает 1.25 * VBAT.

Блок-схема на рисунке 8 показывает основные элементы RTC с последовательным интерфейсом.

Рис. 8. Блок-схема DS1307

Описание выводов, GND - на эти выводы подается питание.- это вход +5 В. Когда питающее напряжение выше 1.25 * VBAT, устройство полностью доступно, и можно выполнять чтение и запись данных. Когда к устройству подключена батарея на 3 В, и VCC ниже, чем 1.25 * VBAT, чтение и запись запрещены, однако функция отсчёта времени продолжает работать. Как только VCC падает ниже VBAT, ОЗУ и RTC переключаются на батарейное питание VBAT.- вход для любой стандартной трёхвольтовой литиевой батареи или другого источника энергии. Для нормальной работы DS1307 необходимо, чтобы напряжение батареи было в диапазоне 2.0... 3.5 В. Литиевая батарея с ёмкостью 48 мА/ч или более при отсутствии питания будет поддерживать DS1307 в течение более 10 лет при температуре 25°C.(Serial Clock Input - вход последовательных синхроимпульсов) - используется для синхронизации данных по последовательному интерфейсу.(Serial Data Input/Output - вход/выход последовательных данных) - вывод входа/выхода для двухпроводного последовательного интерфейса. Вывод SDA - с открытым стоком и требует внешнего подтягивающего резистора./OUT (Square Wave/Output Driver - сигнал с прямоугольными импульсами) - когда включен, т.е. бит SQWE установлен в 1, вывод SQW/OUT выдаёт прямоугольные импульсы с одной из четырёх частот (1 Гц, 4 кГц, 8 кГц, 32 кГц). Вывод SQW/OUT - с открытым стоком и требует внешнего подтягивающего резистора. SQW/OUT будет работать как при питании от VCC, так и при питании от VBAT., X2 - выводы для стандартного кварцевого резонатора с частотой 32.768 кГц.и карта адресации памяти

Карта адресов для RTC и регистров ОЗУ представлена на рисунке 9. Регистры RTC расположены в ячейках адресов от 00h до 07h. Регистры ОЗУ расположены в ячейках адресов от 08h до 3Fh. В процессе многобайтного доступа, когда адресный указатель достигает 3Fh (конец пространства ОЗУ), он перемещается на ячейку 00h - начало пространства RTC.

Рис. 9. Карта адресов DS1307

Часы и календарь

Информация от часов и календаря получается чтением соответствующих байтов регистра. Регистры RTC показаны на рисунке 10. Время и календарь устанавливаются или инициализируются записью соответствующих байтов регистра. Содержимое регистров времени и календаря имеет двоично-десятичный формат. Бит 7 регистра 0 - это бит останова часов (clock halt - CH). Когда этот бит установлен в 1, тактовый генератор выключен. Когда сброшен в 0, - тактовый генератор включен.

Имейте в виду, что при включении питания начальное состояние всех регистров не определено. Поэтому необходимо принудительно включать тактовый генератор (бит CH = 0) во время начальной инициализации.может работать и в 12-часовом, и в 24-часовом режимах. Бит 6 регистра часов отвечает за выбор 12- или 24-часового режима. Когда он установлен в 1, выбран 12-часовой режим. В этом режиме бит 5 - это бит AM/PM, при этом высокий логический уровень означает PM. В 24-часовом режиме бит 5 - это бит второго десятка часов (20 - 23 часа).

При появлении на двухпроводной шине условия START, текущее время копируется во второй набор регистров. Информация о времени читается из этих вспомогательных регистров, в то время как часы могут продолжать работать. Это устраняет необходимость перечитывать регистры DS1307 в случае обновления их содержимого во время чтения.

Рис. 10. Регистры хронометра DS1307

Управляющий регистр

Управляющий регистр используется для управления работой вывода SQW/OUT. Биты управляющего регистра представлены в таблице 1.

Таблица 1. Биты управляющего регистра

БИТ 7

БИТ 6

БИТ 5

БИТ 4

БИТ 3

БИТ 2

БИТ 1

БИТ 0

OUT

0

0

SQWE

0

0

RS1

RS0

(Output control - управление выходом) - этот бит управляет логическим уровнем на выводе SQW/OUT, когда выход сигнала с прямоугольными импульсами отключен. Если SQWE = 0, то логический уровень на выводе SQW/OUT равен 1, если OUT = 1, и 0, если OUT = 0.(Square Wave Enable - включение сигнала с прямоугольными импульсами) - когда этот бит установлен в 1, включается генерация прямоугольных импульсов. Их частота зависит от значения битов RS0 и RS1. (Если частота выходного сигнала установлена в 1Гц, регистры часов обновляются по заднему фронту этих импульсов).(Rate Select - выбор частоты) - эти биты управляют частотой прямоугольных импульсов, когда бит SQWE=1. В таблице 2 приведены частоты, которые можно выбрать с помощью битов RS.

Таблица 2. Частота выхода SQW

RS1

RS0

Частота

0

0

1 Гц

0

1

4.096 кГц

1

0

8.192 кГц

1

1

32.768 кГц



Приложение Б

ATmega8, ATmega8L

-разрядные микроконтроллеры с 8 Кбайтами внутрисистемно программируемой Flash памяти

Отличительные особенности:

-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением

Прогрессивная RISC архитектура

высокопроизводительных команд, большинство команд выполняется за один тактовый цикл

8-разрядных рабочих регистра общего назначения Полностью статическая работа

Приближающаяся к 16 MIPS (при тактовой частоте 16 МГц) производительность

Встроенный 2-цикловый перемножитель

Энергонезависимая память программ и данных

8 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)

Обеспечивает 1000 циклов стирания/записи

Дополнительный сектор загрузочных кодов с независимыми битами блокировки

Обеспечен режим одновременного чтения/записи (Read-While-Write)

байт EEPROM

Обеспечивает 100000 циклов стирания/записи

Кбайт встроенной SRAM

Программируемая блокировка, обеспечивающая защиту программных средств пользователя

Встроенная периферия

Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения

Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения

Счетчик реального времени с отдельным генератором

Три канала PWM

-канальный аналого-цифровой преобразователь (в корпусах TQFP и MLF)

каналов с 10-разрядной точностью

канала с 8-разрядной точностью

-канальный аналого-цифровой преобразователь (в корпусе PDIP)

канала с 10-разрядной точностью

канала с 8-разрядной точностью

Байт-ориентированный 2-проводный последовательный интерфейс

Программируемый последовательный USART

Последовательный интерфейс SPI (ведущий/ведомый)

Программируемый сторожевой таймер с отдельным встроенным генератором

Встроенный аналоговый компаратор

Специальные микроконтроллерные функции

Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания

Встроенный калиброванный RC-генератор

Внутренние и внешние источники прерываний

Пять режимов пониженного потребления: Idle, Power-save, Power-down, Standby и снижения шумов ADC

Выводы I/O и корпуса

программируемые линии ввода/вывода

-выводной корпус PDIP, 32-выводной корпус TQFP и 32-выводной корпус MLF

Рабочие напряжения

,7 - 5,5 В (ATmega8L)

,5 - 5,5 В (ATmega8)

Рабочая частота

- 8 МГц (ATmega8L)

- 16 МГц (ATmega8)

Блок-схема:

Рис. 11. Блок-схема микроконтроллера AtMega8

Рис. 12. Расположение выводов в различных корпусах МК AtMega8

Приложение В

Вам представлен RS-232(COM) программатор совместимый с PonyProg и имеющий 10 пиновый ICSP разъём STKxxx.

Характеристики:

Подключение к ПК через RS-232 (через переходники USB - RS-232 не работает!)

Не требует внешнего питания

Использует Atmel-овский 2x5 пиновый ICSP разъём

Габариты 45x30 мм (1.7x1.2") + 20 см (8") кабель

Программируемые микросхемы:S1200, AT90S2313, AT90S2323,S2343, AT90S4414, AT90S4434,S8515, AT90S8535, AT90S2323,S2343, AT90S2333, AT90S4433,S4434, AT90S8535, AT90S8534,, ATmega161, ATmega163,, ATmega128, ATmega8,, ATmega64, ATtiny12 and ATtiny15

Схема программатора

Рис. 13. Принципиальная схема внутрисхемного программатора

Рис. 14. Распиновка разъёма программатора

Рис.15. Схема платы с панелькой для AtMega8