Главная страница  Комбинированное использование портов 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [ 30 ] 31 32 33 34 35 36 37 38 39 40

в предыдущих главах уже рассматривалось немало примеров hcnoji зования PIC-микроконтроллеров подсемейства 16СХХ и соотве-у ствующее программное обеспечение. Теперь вам предлагается сколько конкретных устройств.

Эти устройства были выбраны по двум причинам. Во-первых, ощ представляют практический интерес и, во-вторых, используют одцц или несколько методов, не описанных в предыдущих главах.

ЧАСЫ С БУДИЛЬНИКОМ

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

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

♦ подпрограмму управления матричной клавиатурой, работающую совместно с 4-разрядным цифровым индикатором от одних линий микроконтроллера;

♦ подпрограмму динамической индикации;

♦ подпрограмму отсчета времени, использующую Таймер реального времени (RTCC) и кварцевый синхрогенератор микроконтроллера.

Схема устройства представлена на рис. 5.1. Что касается клавиатуры и индикатора, то их схема практически идентична той, что приведена в главе 3. Если вы посчитаете, что несмотря на относительно высокое значение сопротивления резисторов R12 - R15 существует слишком сильное влияние клавиатуры на индикатор, вы можете использовать схему, представленную на рис. 5.2, которая благодаря диодам устраняет эту связь.

Частота тактового генератора микроконтроллера равна 4,096 МГц. Она стабилизируется кварцевым резонатором и позволяет для часов получить частоту, период которой является кратной частью ceKpi-ды. Частота командных циклов микроконтроллера с данным генератором составляет 1,024 МГц. Задав коэффициент деления предварительного делителя RTCC равным 32, получаем частоту 32 КГц, которая, если установить модуль счета RTCC равным 96, позволяет получить период в 5 мс. Эти сигналы будут использованы для отсчета секунд и далее - минут и часов, а также для управления индикацией и клавиатурой, как видно из временной диаграммы, приведенной на рис. 5.3.

4.096 MHz X

C2 20pF

PIC 16C57

RAO RAl RA2 RA3

RBO RBI RB2 RB3 RB4

MCLR RB5 RTCC RB6 RB7

0SC1 RCO RC1 RC2

0SC2 RC3 RCA-RC5 RC6 RC7

-cz} c3

24 R1

1 2 3 4 5 6 7 8 9 10 1112

ALARM

4x2200

L

4x1ООП

1-CD-

R11 -CZb

**Ципиальная стма будильника

4x2200

R12 nrl3fsr14hr15n ЮкП UlOkQUlOkflUlOknU

Oj 04 fO o> rO o-

O+rO o-



LTC3710G или экбибалентньО

CI 20pF

4.096 г MHz

i C2 20pF

PIC 16C57 -C7-

RAO RBO RA1 RBI

RA2 RB2 RA3 RB3 RB4

fTCLR RB5 RTCC RB6 RB7

OSC 1 RCO RC1 RC2

0SC2 RC3 RC4 RC5 RC6 RC7

4x1N914

Vcc f r f P . R8

fl 2 3 U b б I7 is

9 [10 11 12

ALARM

f]R1

17 16

R4?] R5[) R6[] R7]4,220Q

4x220n nr3

4ZD-

R9 4=3-

-CD-

-C=b

Рис. 5.2

Принципиальная аема будильника с развязкой клавиатуры через диоды

.KGHUpoBoHue

СкаиороЬоние столбца 4

Цифра 1 ЦФро 2 Цифро 3 Цифоо 4

рис. 5.3

3JUS

40jus

3;js

40jjs

20ms

Временные диаграммы опроса клавиат/ры и индикации

Каждый разряд индикатора отображается в течение 5 мс с периодом 20 мс. Сканирование клавиатуры осуществляется импульсами длительностью 3 мкс (по столбцам), с паузами в 40 мкс.

Алгоритм программы представлен на рис. 5.4 и не требует особых комментариев; отметим только, что данное устройство достаточно эффективно использует возможности PIC-микроконтроллера бСХХ. Действительно, большинство функциональных циклов вы-0-1Няются менее чем за 5 мс, что согласуется с циклом работы таймера RTCC.

Внешний вид клавиатуры устройства представлен на рис. 5.5. С Помощью функциональных клавиш устанавливаются различные Р*Имы работы устройства.



Начало J

1 Инициализация RAW


Индикоиия

Всех

цифр

Рис. 5.4

Алгоритм лрофоммы будильника

Рис. 5.5

Внешний вид клавиатуры

DISABLE ALARM

AW/PM

CLEAR ALARf

ALARM TIME

CLEAR ENTRY

установка текущего времени

дсать клавишу SET, затем с помощью цифровых клавиш последова-jjjo установить десятки часов, единицы часов, десятки минут, еди-jjubi минут. Нажатием клавиш АМ/РМ и SET подтвердить выпол-1еННЫеустановки.

Отображение времени будильника

4аясать клавиш}AIARM. Время, когда прозвонит будильник, высве-ч,1вается в течение 5 с.

Профаммировоние времени будильника

Нажать клавишу ALARM, затем SET, так чтобы светодиод a/am индикатора начал мигать. Потом последовательно набрать десятки часов, единицы часов, десятки минут, единицы минут. С помощью клавиш дМ/РМ и SET подтвердить выполненные установки.

Разрешение/отмена режима будильника

Нажать один или два раза клавишу ALARM. При каждом нажатии устройство переходит из одного режима в друтой. Текущее состояние будильника указывается светодиодом с надписью alarm.

Временная приостановка звукового сигнала будильника

Нажать клавиш) DISABLE ALARM. Звуковой сигнал будет прерван на десять минут. Эта функция предназначена для ленивых , которые хотят понежиться в постели лишних десять минут!

Отмена звукового сигнала будильника

Нажать CLEAR ALARM. Бмгшомггг.Это действие окончательно, и звуковой сигнал повторится только на следующий день в тот же час,

Отмена набора

Нажать клавиш) CLEAR ENTRY в режиме установки времени или установки времени будильника. Предшествующий нажатию клавиши LEAR ENTRY набор будет аннулирован и восстановятся ранее за-ные значения.

Программа, приведенная в листинге 5.1, реализует все вышеперечисленные функции.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [ 30 ] 31 32 33 34 35 36 37 38 39 40

© 2000 - 2022 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.