62174 (611441), страница 2
Текст из файла (страница 2)
При индикации часов проверяется, был ли ранее введен курсор в поле индикатора. Если значение регистра курсора — ненулевое, то выполняется установка часов. Если при этом нажата кнопка "Установка", то к выбранному разряду прибавляется единица, а регистры индикации заполняются новыми значениями. Если установка отсутствует, то регистры индикации заполняются значениями текущего времени.
Рис. 4. Алгоритм работы автомобильных часов (начало)
Рис. 5. Алгоритм работы автомобильных часов (продолжение)
Однако заполненные регистры индикации еще не готовы к выводу на индикацию — в них необходимо записать значение курсора. Если значение курсора — ненулевое (т.е. он находится в поле индикатора), то он вводится в младший разряд регистра индикации соответствующего знакоместа.
Если курсор в поле индикатора отсутствует, то обнуляется счетчик цикла записи, и первым импульсом выводится значение запятой для N-го разряда. В принципе, запятая в данном устройстве необходима только одна: для выделения десятых долей напряжения, — однако подпрограмма вывода на индикацию универсальна, и потому нет смысла ее изменять. Значения запятых заранее записываются в позиционном коде в регистр запятой (т.е. если необходимо высветить запятую в пятом разряде индикатора, то записывают единицу в пятый разряд регистра). При этом необходимо помнить, что первыми в импульсной последовательности идут значения крайнего справа разряда.
После вывода запятой последовательно выводится значение N-ro регистра, начиная с младшего разряда. Затем прибавляется единица к счетчику циклов и, если его значение не равно девяти, цикл вывода данных на индикатор повторяется со следующим регистром. После вывода значения последнего регистра программа возвращается к ожиданию установки флага "Одна секунда" во время прерывания.
Прерывание организовано обычным образом: по переполнению таймера TMR0. При частоте кварцевого резонатора 32 768 Гц коэффициент деления предделителя составляет 32, что вместе с коэффициентом деления таймера, равным 256, и циклом, равным 4, дает одну секунду (4x32x256 = 32 768).
6. Описание выбора элементной базы и работы принципиальной схемы
Микросхема КР1820ВГ1 [1] используется для управления 36-сегментным ЖКИ в режиме 3-уровневого мультиплексирования. Микросхема изготавливается по КМОП-технологии и выпускается в 20-выводном пластмассовом DIP-корпусе. Микросхема содержит встроенный тактовый генератор, резистивный делитель напряжения и делители частоты, с помощью которых формируются сигналы управления строками (общими электродами) и столбцами (сегментными электродами) ЖКИ в режиме 3-уровневого мультиплексирования. Одна микросхема имеет три выхода управления строками и 12 выходов управления столбцами. Предусмотрена возможность каскадирования схем, что позволяет использавать их для управления мультиплексным ЖКИ с числом сегментов более 36. Микросхема не требует никаких навесных компонентов и работает в диапазоне напряжения питания от 3 до 6 вольт. Назначение выводов микросхемы КР1820ВГ1 показано в таблице 1.
Таблица 1. Назначение выводов микросхемы КР1820ВГ1.
Вывод | Обозначение | Тип | Назначение |
1...3 | COB1, COC3, COB3 | Выход | Управление столбцами В1, С3, В3 |
4 | CS | Вход | Выбор кристалла |
5 | Ucc | - | Напряжение источника питания |
6 | GND | - | Общий |
7 | D | Вход | Данные |
8...13 | COA2, COB4, COB2, COA1, COC2, COC4 | Выход | Управление столбцами A2, B4, B2, A1, C2, C4 |
14 | C | Вход | Тактовый сигнал С |
15 | COA/G | Выход | Управление сторокой А (вход генератора G) |
16 | COC/G | Выход | Управление сторокой С (выход генератора G) |
17 | COB | Выход | Управление строкой В |
18...20 | COC1, COA3, COA4 | Выход | Управление столбцами B1, A3, A4 |
Микросхема КР1820ВГ1 имеет четыре режима работы: одиночный, старший, младший и тестовый. В одиночном режиме одна микросхема управляет 36-сегментным ЖКИ, обеспечивая полную синхронизацию его работы. Старший и младний режимы предназначены для организации управления ЖКИ с числом сегментов более 36, тестовый режим – для контроля качества микросхем в процессе изготовления. Данные вводятся в микросхему в последовательном коде по входу D с синхронизацией записи фронтом тактовых импульсов по входу C (рис. 6).
Рис. 6. Загрузка микросхемы КР1820ВГ1 по последовательной шине
Код записываемых данных определяется конкретной схемой подключения шин управления строками и столбцами к сегментам ЖКИ, а также конфигурацией ЖКИ.
Рис.7. Конфигурация сегментов ЖКИ.
На рис. 7 показан пример конфигурации ЖКИ, а в таблице 2 показан порядок следования битов в кодовой посылке для этого варианта подключения такого ЖКИ.
Таблица 2. Порядок следования битов в кодовой посылке
Бит | Вывод | Сегмент ЖКИ | Бит | Вывод | Сегмент ЖКИ | |
D0 | COA1, COC/G | H1 | D20 | COB3, COC/G | D3 | |
D1 | COB1, COB | G1 | D21 | COA3,COB | C3 | |
D2 | COC1,COA/G | F1 | D22 | COA3, COA/G | B3 | |
D3 | COC1, COB | E1 | D23 | COB3, COA/G | A3 | |
D4 | COB1, COC/G | D1 | D24 | COA4, COC/G | H4 | |
D5 | COA1,COB | C1 | D25 | COB4, COB | G4 | |
D6 | COA1, COA/G | B1 | D26 | COC4,COA/G | F4 | |
D7 | COB1, COA/G | A1 | D27 | COC4, COB | E4 | |
D8 | COA2, COC/G | H2 | D28 | COB4, COC/G | D4 | |
D9 | COB2, COB | G2 | D29 | COA4,COB | C4 | |
D10 | COC2,COA/G | F2 | D30 | COA4, COA/G | B4 | |
D11 | COC2, COB | E2 | D31 | COB4, COA/G | A4 | |
D12 | COB2, COC/G | D2 | D32 | COC1, COC/G | P1 | |
D13 | COA2,COB | C2 | D33 | COC2, COC/G | P2 | |
D14 | COA2, COA/G | B2 | D34 | COC3, COC/G | P3 | |
D15 | COB2, COA/G | A2 | D35 | COC4, COC/G | P4 | |
D16 | COA3, COC/G | H3 | D36 | Не используется | - | |
D17 | COB3, COB | G3 | D37 | Q6 | - | |
D18 | COC3,COA/G | F3 | D38 | Q7 | - | |
D19 | COC3, COB | E3 | D39 | Q8 | - |
Биты D0..D7 соответствуют сегментам первого разряда, биты D8..D15 – второго и т. д. Биты D32..D35 соответствуют специальным сегментам P1...P4. Бит D36 может принимать любое значение. Биты D37 и D38 (Q6 и Q7) управляют режимом работы схемы согласно таблице 3. Бит D39 (Q8) предназначен для синхронизации работы двух и более микросхем при каскадировании.
Для загрузки микросхемы в одиночном режиме необходимо выполнить следующую последовательность действий:
-
установить на сходе CS уровень логического 0
-
записать восемь битов данных для каждой цифры первого-четвертого разрядов
-
записать четыре бита для специальных сегментов и четыре бита управления: 0|0|1|1|P4|P3|P2|P1
-
установить на входе CS уровень логической 1
Таблица 3. Назначение битов управления микросхемой
Бит | Режим работы | Выход | ||
D36 (Q7) | D37 (Q6) | COC/G | COA/G | |
1 | 1 | Младший | Выход управления строкой С | Вход генератора |
0 | 1 | Одиночный | То же | Выход управления строкой А |
1 | 0 | Тестовый | - | - |
0 | 0 | Старший | Выход внутреннего генератора | Выход управления строкой А |
После установки микросхемы в нужный режим для последующей смены данных необязательно записывать все 40 бит информации. Для загрузки микросхемы в старшем и младшем режимах необходимо выполнить следующую последовательность действий:
-
установить на входе CS обеих схем уровень логического 0
-
записать 32 бита данных для «младшей» схемы
-
записать четыре бита для специальных сегментов младшей схемы и четыре бита управления: 1|1|1|1|P4|P3|P2|P1 (при подаче последней единицы обе микросхемы устанавливаются в младший режим, выводы COA/G обеих схем работают как входы генератора. Происходит синхронизация работы микросхем)
-
установить на входах CS обеих схем уровень логической 1
-
установить на входе CS «старшей» схемы уровень логического 0
-
записать 32 бита данных для старшей схемы
-
записать четыре бита для специальных сегментов старшей схемы и четыре бита управления: 0|0|0|0||P4|P3|P2|P1 (после этого вывод COA/G старшей схемы начитает работать как выход управления строкой А, а вывод COC/G – как выход встроенного генератора. Импульсы с выхода генератора старшей схемы поступают на вход генератора COA/G младшей схемы, и оба кристалла начинают работать синхронно от генератора старшей схемы)
-
установить на сходе CS установить уровень логической 1
Чтобы записать во внутренние регистры-защелки новые данные, нет необходимости сбрасывать обе схемы: достаточно записать данные по очереди во внутренние регистры-защелки каждой схемы. При этом в последний бит D39 должен записываться ноль как для старшей, так и для младшей схем.