PIC-микроконтроллеры. Все, что вам необходимо знать | страница 47



Собственно дисплей одометра представляет собой семиразрядный 7-сегментный индикатор (см. Рис. 6.8 на стр. 183), который может отображать значения до

. Поскольку общее число сегментов довольно велико (целых 49), то для управления индикатором используется сдвиговый регистр (см. Рис. 2.22 на стр. 51), данные в который передаются по одной линии (Рис. 3.8). По второй лини передаются тактовые импульсы — для полного обновления содержимого дисплея необходимо 49 импульсов[68].



Рис. 3.8.Пример микроконтроллерной системы


Дисплей путевого одометра является 4-разрядным и позволяет отображать значения до

. Сдвиговый регистр этого дисплея тоже управляется по двум линиям, только в данном случае для вывода нового 4-разрядного значения необходимо 28 тактовых импульсов.

Для реализации этой системы нам потребуются следующие ресурсы (так называемый бюджет ресурсов):

• Вход, срабатывающий по фронту и подключенный к счетчику/таймеру для подсчета числа оборотов вала двигателя (на этот вход поступают импульсы от тахометра).

• Семь цифровых входов для ввода текущего передаточного отношения, задания единицы отображения (мили/км) и для сброса путевого одометра.

• Четыре цифровых выхода для тактирования двух сдвиговых регистров и передачи информации о сегментах.

• Микропроцессор для выполнения вычислений, считывания входных сигналов и формирования выходных.

• • Память программ, обычно ПЗУ какого-либо типа.

• Память данных для хранения рабочих переменных программы, обычно статическое ОЗУ.

• Энергонезависимая память для долговременного хранения информации, такой как суммарный путь, пройденный автомобилем, и расстояние, пройденное с момента последнего сброса путевого одометра.

Все эти функции могут быть реализованы в одной-единственной интегральной микросхеме, называемой в данном случае микроконтроллером, т. е. микропроцессором, интегрированным на одном кристалле со вспомогательными схемами и выполняющим работу целого микрокомпьютера. Разумеется, перечисленные ресурсы имеют отношение только к нашему примеру. Хотя основные узлы (микропроцессор и память) являются общими для широкого круга приложений, интерфейс ввода/вывода необходимо подбирать под каждую конкретную задачу. Причем эти интерфейсные модули могут быть самыми разными, например:

• Модули приема/передачи данных по последовательным каналам с использованием разнообразных синхронных и асинхронных протоколов.

• Модули счетчиков/таймеров для подсчета числа внешних событий и формирования цифровых сигналов с точными временными параметрами.