Световой эффект "Призма"
149
Рис. 7.7. Алгоритм работы устройства управления световым эффектом "Призма"
В начальном состоянии светодиоды отключены, кроме светодиода фотодатчика. Отражение света от светодиода на фотодатчике возникает в момент, близкий к перпендикулярному положению стороны призмы относительно оси фотодатчика. Амплитуда импульса с фотодатчика поступает на микроконтроллер, и аналоговый сигнал с помощью АЦПЗ преобразуется в цифровой.
Аналогичным образом уровень напряжения, снимаемый с движка R28, поступает на АЦП4. Для работы АЦП выбирается опорное напряжение U„CT. Частота преобразования — 65 кГц. Цифровой код обоих АЦП сравнивается в программе, и при попадании в область сравнения (около 20 единиц) программа запускает подпрограмму вывода импульсов на светодиоды. Как только уровень синхроимпульса становится ме-
150
Глава 7
ныне уровня напряжения R28, подпрограмма вывода импульсов на светодиоды прекращает работу.
Для формирования светового эффекта обычного переключения светодиодов недостаточно, поэтому автор вернулся к основам аналогового телевидения. Эффект можно построить в динамическом режиме с помощью кадров. Кадр имеет заданную комбинацию включения светодиодов (табл. 7.1).
Таблица 7.1. Порядок построения светодиодов (наклонная тетрада)
Кадр |
Шаг |
ПортО |
Порт В |
progl, 4,7, 10,13 |
prog2, 5,8, 11,14 |
ргадЗ. 6,9, 12,15 |
|||||||||||||
PD7 |
PD6 |
PD5 |
PD' |
Светодиоды |
PD3 |
PD2 |
PD1 |
PDO |
Светодиоды |
РВ5 |
PEU |
PB3 |
РВ2|СвеТ°-'диоды |
ПортО |
Порт В |
ПортС |
|||
1 |
1 |
0 |
0 |
0 |
0 |
LED9 |
0 |
0 |
0 |
0 |
LED1 |
0 |
0 |
0 |
0 ILED17 |
00 |
00 |
01 |
|
1 |
2 |
0 |
0 |
0 |
1 |
LED 10 |
0 |
0 |
0 |
1 |
LED2 |
0 |
0 |
0 |
1 ILED18 |
11 |
02 |
01 |
|
1 |
3 |
0 |
0 |
1 |
0 |
LED 11 |
0 |
0 |
1 |
0 |
LED3 |
0 |
0 |
1 |
0 |
LED 19 |
22 |
04 I 01 |
|
1 |
4 |
0 |
0 |
1 |
1 |
LED12 |
0 |
0 |
1 |
1 |
LED4 |
0 |
0 |
1 |
1 |
LED20 |
33 |
06 ! 01 |
|
1 |
5 |
0 |
1 |
0 |
0 |
LED 13 |
0 |
1 |
0 |
0 |
LED5 |
0 |
1 |
0 |
0 |
LED21 |
44 |
08 I 01 |
|
1 |
6 |
О |
1 |
О |
1 |
LED 14 |
0 |
1 |
0 |
1 |
LED6 |
О |
1 |
О |
1 |
LED22 |
55 |
OA |
01 |
1 |
7 |
0 |
1 |
1 |
0 |
LED 15 |
0 |
1 |
1 |
0 |
LED7 |
0 |
1 |
1 |
0 |
LED23 |
66 |
oc |
01 |
1 |
8 |
0 |
1 |
1 |
1 |
LED 16 |
0 |
1 |
1 |
1 |
LED8 |
0 |
1 |
1 |
1 |
LED24 |
77 |
0E |
01 |
2 |
1 |
0 |
0 |
0 |
0 |
LED9 |
1 |
1 |
1 |
1 |
чет |
1 |
1 |
1 |
1 I чет |
0F |
1E |
01 |
|
2 |
2 |
0 |
0 |
0 |
0 |
LED9 |
1 |
1 |
1 |
1 |
нет |
1 |
1 |
1 |
1 I чет |
OF |
1E |
01 |
|
2 |
3 |
0 |
0 |
0 |
0 |
LED9 |
0 |
0 |
1 |
0 |
LED3 |
1 |
1 |
1 |
1 I нет |
02 |
1E |
01 |
|
2 |
4 |
0 |
0 |
0 |
0 |
LED9 |
0 |
0 |
1 |
0 |
LED3 |
1 |
1 |
1 |
1 I нет |
02 |
1E |
01 |
|
2 |
5 |
1 |
1 |
1 |
1 |
нет |
0 |
0 |
1 |
0 |
LED3 |
0 |
1 |
0 |
0 |
LED21 |
F2 |
08 |
01 |
2 |
6 |
1 |
1 |
1 |
1 |
нет |
0 |
0 |
1 |
0 |
LED3 |
0 |
1 |
0 |
0 |
LED21 |
F2 |
08 |
01 |
2 |
7 |
1 |
1 |
1 |
1 |
нет |
1 |
1 |
1 |
1 |
нет |
0 |
1 |
0 |
0 |
LED21 |
FF |
08 |
01 |
2 |
8 |
1 |
1 |
1 |
1 |
чет |
1 |
1 |
1 |
1 |
чет |
0 |
1 |
0 |
0 |
LED21 |
FF |
08 |
01 |
3 |
1 |
1 |
1 |
1 |
1 |
нет |
0 |
0 |
1 |
0 |
LED3 |
1 |
1 |
1 |
1 |
нет |
F2 |
1E |
01 |
3 |
2 |
1 |
1 |
1 |
1 |
чет |
0 |
0 |
1 |
0 |
LED3 |
1 |
1 |
1 |
1 |
чет |
F2 |
1E |
01 |
3 |
3 |
1 |
1 |
1 |
1 |
чет |
0 |
0 |
1 |
0 |
LED3 |
0 |
1 |
0 |
0 |
LED21 |
F2 |
08 |
01 |
3 |
4 |
1 |
1 |
1 |
1 |
нет |
0 |
0 |
1 |
0 |
LED3 |
0 |
1 |
0 |
0 |
LED21 |
F2 |
08 |
01 |
3 |
5 |
0 |
0 |
0 |
0 |
LED9 |
1 |
1 |
1 |
1 |
чет |
0 |
1 |
0 |
0 |
LED21 |
OF |
08 |
01 |
3 |
6 |
0 |
0 |
0 |
0 |
LED9 |
1 |
1 |
1 |
1 |
чет |
0 |
1 |
0 |
0 |
LED21 |
OF |
08 |
01 |
3 |
7 |
0 |
0 |
0 |
0 |
LED9 |
1 |
1 |
1 |
1 |
нет |
1 |
1 |
1 |
1 |
■*ет |
OF |
1E |
01 |
3 |
8 |
0 |
0 |
0 |
0 |
LED9 |
1 |
1 |
1 |
1 |
чет |
1 |
1 |
1 |
1 I чет |
OF |
1E ! 01 |
||
3 |
1 |
0 |
0 |
0 |
1 |
LED10 |
0 |
0 |
0 |
0 |
LED1 |
0 |
0 |
0 |
0 I LED17 |
10 |
00 I 10 |
||
3 |
2 |
0 |
0 |
0 |
1 |
LED 10 |
0 |
0 |
0 |
0 |
LED1 |
0 |
0 |
0 |
0 ILED17 |
10 |
00 I 10 |
||
3 |
3 |
0 |
0 |
1 |
1 |
LED 12 |
0 |
0 |
1 |
0 |
LED3 |
0 |
0 |
1 |
0 ILED19 |
32 |
04 |
10 |
|
3 |
4 |
0 |
0 |
1 |
1 |
LED12 |
0 |
0 |
1 |
0 |
LED3 |
0 |
0 |
1 |
0 ILED19 |
32 |
04 |
10 |
|
3 |
5 |
0 |
1 |
0 |
1 |
LED 14 |
0 |
1 |
0 |
0 |
LED5 |
0 |
1 |
0 |
0 ILED21 |
54 |
08 |
10 |
|
3 |
6 |
0 |
1 |
0 |
1 |
LED14 |
0 |
1 |
0 |
0 |
LED5 |
0 |
1 |
0 |
0 ILED21 |
54 |
08 |
10 |
|
3 |
7 |
0 |
1 |
1 |
1 |
LED 16 |
0 |
1 |
1 |
0 |
LED7 |
0 |
1 |
1 |
0 ILED23 |
76 |
0C I 10 |
||
3 |
8 |
0 |
1 |
1 |
1 |
LED 16 |
0 |
1 |
1 |
0 |
LED7 |
0 |
1 |
1 |
0 ILED23 |
76 I 0C |
10 |
||
3 |
1 |
0 |
0 |
0 |
0 |
LED9 |
0 |
0 |
0 |
1 |
LED2 |
0 |
0 |
0 |
1 ILED18 |
01 |
02 |
10 |
|
3 |
2 |
0 |
0 |
0 |
0 |
LED9 |
0 |
0 |
0 |
1 |
LED2 |
0 |
0 |
0 |
1 ILED18 |
01 |
02 |
10 |
|
3 |
3 |
0 |
0 |
1 |
0 |
LED 11 |
0 |
0 |
1 |
1 |
LED4 |
0 |
0 |
1 |
1 ILED20 |
23 |
06 |
10 |
|
3 |
4 |
0 |
0 |
1 |
0 |
LED 11 |
0 |
0 |
1 |
1 |
LED4 |
0 |
0 |
1 |
1 ILED20 |
23 I 06 |
10 |
||
3 |
5 |
0 |
1 |
0 |
0 |
LED 13 |
0 |
1 |
0 |
1 |
LED6 |
0 |
1 |
0 |
1 ILED22 |
45 |
OA |
10 |
|
3 |
6 |
0 |
1 |
0 |
0 |
LED 13 |
0 |
1 |
0 |
1 |
LED6 |
0 |
1 |
0 |
1 ILED22 |
45 |
OA |
10 |
|
3 |
7 |
0 |
1 |
1 |
0 |
LED 15 |
0 |
1 |
1 |
1 |
LED8 |
0 |
1 |
1 |
1 :LED24 |
67 |
OE |
10 |
|
3 |
8 |
0 |
1 |
1 |
0 |
LED 15 |
0 |
1 |
1 |
1 |
LED8 |
0 |
1 |
1 |
1 'LED24 |
67 |
OE |
10 |
Световой эффект "Призма"
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |