Рис. 4. Пример отображения на LED-индикаторе пункта меню настройки звонков
Ввод значений производится аналогично тому, как это делается в меню настройки даты и времени. При этом можно ввести до 30 звонков в память автомата. Длительность звонков вводится в секундах. Максимальное значение составляет 59 с.
ВНИМАНИЕ! При первом запуске автомата необходимо произвести настройку звонков, так как устройство не умеет предустановленной схемы. Обязательно нужно установить длительность звонков, иначе они не будут производиться (начальное значение длительности - 0).
Рис. 5. Отображение на LED-индикаторе режима ввода количества звонков
При переходе в режим ввода времени звонков пользователь попадает в меню выбора звонка, где число пунктов соответствует установленному количеству звонков.
Меню времени звонков содержит пункты
Обозначение пункта на индикаторе |
Расшифровка |
ЗВН 01 |
Переход в режим ввода звонка 1 |
ЗВН 02 |
Переход в режим ввода звонка 2 |
… |
… |
ЗВН N* |
Переход в режим ввода звонка N |
ВЫХОД |
Выход в меню настройки звонков |
Рис. 6. Пример отображения на LED-индикаторе пункта меню времени звонков
После нажатия кнопки ВВОД на одном из пунктов, пользователь последовательно вводит час и минуту звонка, аналогично тому, как это производится в режиме ввода времени, и автоматически возвращается в меню времени звонков.
Приложение 1
Схема устройства принципиальная
Приложение 2
микроконтроллер автомат звонок часы
Листинг текста программы
/*
Курсовой проект по дисциплине «Цифровые устройства и микроконтроллеры»
// заголовочный файл
#include <pic18.h>
// конфигурация контроллера
CONFIG (1, CPUDIV1 & INTIO);
CONFIG (2, PWRTDIS & BORDIS & WDTDIS);
CONFIG (3, PBDIGITAL & MCLREN);
CONFIG (4, LVPDIS);
CONFIG (5, UNPROTECT);
CONFIG (6, UNPROTECT);
CONFIG (7, UNPROTECT);
// -
// глобальные переменныеchar i=0, j, l; // вспомогательные счетные переменныеchar d, month, day, year; // вспомогательные вычислительные переменныеunsigned char CallDuration=5; // длительность звонка в секундахchar CallCount=0; // для временного хранения числа звонков (максимум 30)char Zvonok=0; // для хранения номера звонка, время которого изменяется в настоящий моментchar WDAY_Month; // переменнная для считывания текущего дня недели и месяца из часовchar Minutes; // переменнная для считывания текущего значения минут из часовchar Hours; // переменнная для считывания текущего значения часаchar Seconds; // переменнная для считывания текущего значения секундchar LedWork=0; // логическая переменная (режим настройки вкл/выкл) *дисплей работает только в режиме настройкиchar SymPlace=0x00; // 6 младших битов этой переменной определяют,
// на какие позиции дисплея необходимо выводить символыchar DotPlace=0x00; // на какие позиции ставаить точкиchar Symbols[12]; // массив символов, которые в данный момент должны выводиться на экран
// (каждый символ использует два байта для описания своей конфигурации на дисплее)char Mode; // определяет, в каком режиме находится система настройки
// 1 - главное меню
// 2 - режим установки времени и даты
// 3 - режим ввода года
// 4 - режим ввода месяца
// 5 - режим ввода числа
// 6 - режим ввода дня недели
// 7 - режим ввода часа
// 8 - режим ввода минуты
// 9 - меню настройки звонков
// 10 - настройка количесва звонков (до 30)
// 11 - выбор номера звонка для настройки времени срабатывания
// 12 - режим ввода часа выбранного звонка
// 13 - режим ввода минуты выбранного звонка
Исследование входных цепей радиоприемников
Цель
работы: Закрепление теоретических знаний и
экспериментальное исследование входных цепей при емкостной, индуктивной и
смешанной связи с ненастрое ...
Анализ алгоритмов цифровой обработки сигналов. Исследование корректирующих способностей циклических кодов
цифровой сигнал циклический код
Цифровой фильтр - в электронике любой фильтр, обрабатывающий цифровой сигнал с целью выделения и/или подавления определённых частот этого ...
Амплитудная модуляция
Исследование
различных видов модуляции необходимо для определения требуемых свойств каналов,
сокращения избыточности модулированных сигналов и улучшения исп ...