Нужна идея

Тут мы с ребёнком для его кружка игрушку делаем. Есть большой глобус.Художница на него налепит знаки зодиака. Наша задача.Набором светодиодов(или мини-лампочек) сделать "звёздное небо". Тоесть лампочки должны не вспыхивать а постепенно зажигаться и гаснуть изображая мерцание... И так 8 каналов. решив совместить нужное с полезным мы приобрели Attiny26 и подумав написали программу.Смысл её в том что составили таблицу. Выходной порт считаю 8 бит.Рисую на бумаге длинную полоску из 8 клеток.Потом первую колонку забиваю 1-ицами.Колонку под ней - 1-ицами + один 0. И так наращиваю 0 до тех пор пока в колонку не останутся одни 0.В колонке под ней на один 0 меньше и так до тех пор пока снова не станут одни единицы.Получился один канал вывода.так-же со смещением на 16 строк относительно друг-друга делаю остальные 7 каналов.Получилось 128 байт. Потом сию таблицу вывожу в порт с задержкой между выводами... Набил сию таблицу .Сделал задержку включив в неё 1 канал АЦП на который повесил резистор для регулировки скорости мигания. В общем заработало.Но плавное мигание получается довольно быстрое. Если уменьшить скорость - видны "промаргивания" лампы. В общем-то решение есть.Сделать таблицу ещё больше.раза в 4.Но набивать полкилобайт - никакого настроения.Может кто делал подобное и подскажет более красивое решение. Конечно ШИМ было-бе неплохо.Но их всего 2. ( С инверсией 4 ). И ещё вопрос.При программировании AVRealom он пишет OSCCAL= A7,A9,9F,A3. Судя по описанию это настройки на 1,2,4,8 МГц.( Кстати,в какой последовательности ? ) О бязательно-ли настройки вставлять вначале в OSCCAL или они вставятся автоматически при задании CKSEL 0001,0010,0011,0100 соответственно...?

С уважением...

Reply to
Andrew Pochtarenko
Loading thread data ...

Hello, Andrew! You wrote on Mon, 21 Jun 2004 14:15:41 +0000 (UTC): AP> подумав написали программу.Смысл её в том что составили таблицу. AP> Выходной порт считаю 8 бит.Рисую на бумаге длинную полоску из 8 AP> клеток.Потом первую колонку забиваю 1-ицами.Колонку под ней - AP> 1-ицами + один 0. И так наращиваю 0 до тех пор пока в колонку не AP> останутся одни 0.В колонке под ней на один 0 меньше и так до тех пор AP> пока снова не станут одни единицы.Получился один канал вывода.так-же AP> со смещением на 16 строк относительно друг-друга делаю остальные 7 AP> каналов.Получилось 128 байт.

А зачем такое набивать? Это вполне "вычисляется" динамически. В конце концов, у него мегагерцы тактовой, пусть у него голова болит :-))).

Alexander,Derazhne@adic,kiev,ua (replace commas with dots) Alexander Derazhne

Reply to
Alexander Derazhne

"Alexander Derazhne" snipped-for-privacy@adic.kiev.ua> сообщил/сообщила в новостях следующее: news:cb6tcs$27p1$ snipped-for-privacy@ddt.demos.su...

Подскажи как....

С уважением...

Reply to
Andrew Pochtarenko

Hello, Andrew! You wrote to Alexander Derazhne on Tue, 22 Jun 2004 06:15:09 +0000 (UTC):

AP>>> пока снова не станут одни единицы.Получился один канал AP>>> вывода.так-же со смещением на 16 строк относительно друг-друга AP>>> делаю остальные 7 каналов.Получилось 128 байт.

AP> Подскажи как....

prepare: CLR R16 LDI R17, 0xFF ; .....

loop:

; 7 6 5 4 3 2 1 0 ; +-+-+-+-+-+-+-+-+ ; R16 | | | | | | | | | ; +-+-+-+-+-+-+-+-+ ; | ; 'C'<--+

CLC ; Сброс флага переноса SBIC R16, 7 ; Пропустить следующую команду, ; если старший бит R16 сброшен STC ; Установить флаг переноса

; 7 6 5 4 3 2 1 0 ; +-+-+-+-+-+-+-+-+ ; R17 | | | | | | | | | ; +-+-+-+-+-+-+-+-+ ; | ^ ; | | ; 'C'<--+ +-- 'C'

ROL R17 ; Сдвиг R17 через флаг переноса

; 7 6 5 4 3 2 1 0 ; +-+-+-+-+-+-+-+-+ ; R16 | | | | | | | | | ; +-+-+-+-+-+-+-+-+ ; | ^ ; | | ; 'C'<--+ +--> 'C'

ROL R16 ; Сдвиг R16 через флаг переноса

Если бы ты более подробно описал свой алгоритм и объяснил, что такое "мерцание", можно было бы ещё что нибудь придумать. А так - только "избавление" от таблиц(ы).

Alexander,Derazhne@adic,kiev,ua (replace commas with dots) Alexander Derazhne

Reply to
Alexander Derazhne

Тут уже несколько версий попробовал - не пошло. Пока не буду мозги трепать - или решу или более чётко сформулирую вопрос. Ну а мерцание - это когда светодиодик постепенно зажигается и медленно гаснет в течении 2-4 секунд. И так восемь штук с небольшим сдвигом друг относительно друга загоранием...

С уважением...

Reply to
Andrew Pochtarenko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.