Рис. 17.1.
Органы управления
Пять кнопок
Кнопка
В данной схеме можно использовать любые кнопки без фиксации с нормально разомкнутыми контактами.
Световая индикация
Для формирования световых сигналов используются 10-мм светодиоды
Звуковая индикация
Для звуковой индикации мы применим миниатюрный твердотельный излучатель. Типичный пьезоэлектрический излучатель может работать в диапазоне напряжений от 3 до 16 В, потребляя при напряжении 5 В чуть больше 1 мА[194]. Управление звуковым излучателем осуществляется с вывода RA2.
Цифровой дисплей
Цифровой дисплей, позволяющий отображать значения от 00 до 99, образован двумя 7-сегментными светодиодными индикаторами. Поскольку в нашем распоряжении осталось всего 4 линии ввода/вывода, мы реализовали последовательный интерфейс. Этот интерфейс похож на применяющийся в схеме на Рис. 12.2 (стр. 370), однако в данном случае для каждого 8-битного сдвигового регистра с последовательным входом и параллельным выходом 74НС164 используется отдельная линия данных (RA0 — для десятков и RA3 — для единиц). Поэтому изображение на обоих индикаторах можно будет обновлять одновременно (за восемь тактов).
Цоколевка 7-сегментных индикаторов, показанная на схеме, соответствует индикаторам с общим анодом, выпускающимся в 16-выводном DIP-корпусе и имеющим десятичные точки с обеих сторон знакоместа — lhdp и rhdp. В нашем устройстве используется только правая точка для индикации паузы. Широко распространены индикаторы в других 16-выводных и 14-выводных корпусах, в том числе и сдвоенные (с двумя знакоместами в одном корпусе). Однако даже для индикаторов в 16-выводных корпусах цоколевка не стандартизирована.
В малогабаритных индикаторах (высотой менее 20 мм/0.8 дюйма) для каждого сегмента используется один СИД, прямое падение напряжения на котором составляет около 2 В[195]. Две резисторные сборки
Кварцевый резонатор
В качестве времязадающего элемента тактового генератора используется кварцевый резонатор частотой 3.2768 МГц, в результате частота выполнения команд составляет 819.21 кГц. Типичный резонатор с такой частотой имеет точность ±300 ppm и температурный коэффициент ±50 ppm в диапазоне рабочих температур. Такой необычный выбор частоты обусловлен тем, что при использовании Таймера 0 с коэффициентом деления предделителя, равным 64, мы сможем формировать прерывания ровно 50 раз в секунду (см., далее). В принципе можно было бы снизить потребление микроконтроллера, взяв резонатор частотой 32.768 кГц и генерируя прерывание каждые две секунды с использованием 16-битного Таймера 1. Однако мощность, потребляемая микроконтроллером, в любом случае будет мизерной по сравнению с потреблением светодиодных индикаторов.
В моделях PIC16F627/8 выводы OSC1 и OSC2 могут использоваться в качестве дополнительных линий порта А, при этом микроконтроллер будет работать от внутреннего ЛС-генератора с номинальной частотой 4 МГц (см. Табл. 10.2 на стр. 309). На то, что в нашей схеме используется внешний кварцевый резонатор, указывает наличие в Программе 17.3 опции конфигурации _XT_OSC.
* * *
Теперь, когда схема разработана, мы можем сосредоточить все свои усилия на разработке программы.
В общем виде модульная структура нашей системы изображена на Рис. 17.2. Прямоугольники с двойными линиями по краям соответствуют подпрограмме или процедуре обработки прерывания. На данном этапе можно выделить три обособленных процесса и две основных вспомогательных задачи.