Блок А 1 можна використовувати
окремо тільки для управління пристроєм світлових ефектів. Якщо в цьому немає
необхідності, замість оптрона U1 в колекторний ланцюг транзистора VT1 включають
резистор опором 10 кОм.

На схемі (рис. 1.5) перших трьох елементах 2І-НЕ мікросхеми DD1 зібраний тактовий генератор, частоту якого можна змінювати за допомогою резистора R1 [7]. Тактові імульси вважає лічильник DD2. Перемикачі SA1- SA4 дозволяють "вимикати" з рахунку деякі розряди, що задає основну програму. Далі сигнал з лічильника йде на зсувний регістр DD3, виходи якого через силові ключі комутують навантаження. Вимикач SA5 дозволяє інвертувати малюнок, SA6 і SA7 задають автоматичну зміну напрямку і реверс.
В якості керуючих ключів використані тиристори КУ 202М, без радіатора вони можуть комутувати навантаження до 200Вт, що більш ніж достатньо для наших цілей. Якщо ж потрібно управляти чимось потужним типу ксенонових прожекторів, то можна встановити тиристори на радіатори, і тоді вони забезпечать потужність вже близько 2КВт.
Діодний міст VD5 - VD9 можна виключити, але тоді лампи працюватимуть вполнакала. Можна замість тиристорів поставити також сімістори, але я вважаю це надмірністю і обійшовся таки доданими мостом.
Для живлення електроніки потрібно
стабілізовану напругу +5 В. Однак для впевненоuj відкривання тиристорів
потрібно напруга трохи вище, близько 9 вольт. Використано звичайний накальний
трансформатор. У цьому випадку напруга на згладжуючому конденсаторі приблизно 9
вольт, а для живлення мікросхем я встановив стабілізатор КР 142ЕН 5.
Рисунок 1.6 - Мікропроцесорний
пристрій автомата світлових ефектів
Запропонований годинник (рис. 1.6) відрізняються від класичних стрілочних або з цифровою індикацією тим, що індикація часу здійснюється за допомогою світлодіодів (60 шт.), які встановлюють на підставці циферблата у формі кола чи овалу. " Вартові " світлодіоди відрізняються від "хвилинних "розміром (а при бажанні і кольором) [8]. Поточну годину відображається миготінням з частотою 1 Гц. Хвилини индицируются числом запалених поспіль світлодіодів, починаючи з початкової однохвилинного позначки. Кожна наступна хвилина додається пробігаючи проти годинникової стрілки. На останній, 59 хвилині всі запалені світлодіоди хвилин гаснуть за годинниковою стрілкою, починаючи з однохвилинного позначки і закінчуючи п'ятьдесят дев'ятий. Гасіння відбувається послідовно, кожну секунду вимикається один світлодіод. У зоні циферблата від чотирьох годин до восьми імітується рух маятника. Він являє собою біжить зліва направо і в зворотному напрямку вогонь з двох світлодіодів. Період коливань маятника становить, як і в механічних годинниках, одну секунду. Кожне крайнє положення маятника супроводжується звуковим сигналом, схожим на хід справжніх "ходиків".
Схема годин показана на рис. 1.6. Основа пристрою - мікроконтролер AT90S8535 (DD2). Критеріями при його виборі послужили наявність необхідного числа ліній введення / виводу і максимальний струм навантаження, що підключається до окремої лінії. Порти А і С використовуються для управління матрицею світлодіодів HL1 - HL60.
Оскільки в годинах встановлено велике число світлодіодів, для їх включення і виключення застосовано динамічне управління. Лінії порту А через транзистори VT1 - VT8 управляють включенням певного стовпця. Кожен стовпець включається на 2,4 мс, тому частота оновлення складає
/ (2,4 * 10-3 * 8) = 52 Гц.
Світлодіоди, запалювані в кожен момент часу, визначаються комбінацією сигналів на виході порту С. Резистори R3 і R4 задають струм через "годинникові " світлодіоди (приблизно 20 мА), а резистори R5 - R10 - через " хвилинні " (приблизно 10 мА). Резистори R11 - R18 обмежують струм в ланцюгах баз транзисторів VT1 - VT8.
Функція відліку часу покладено на спеціалізовану мікросхему DS1307 фірми DALLAS SEMICONDUCTOR. Зв'язок між нею і мікроконтролером організована по інтерфейсу I2C. Резистори R1 і R2 " підтягують " шини SCL і SDA мікросхеми DD1 до лінії живлення.
Кнопка SB 1 призначена для коригування часу. При короткочасному натисканні на неї до поточного часу додається одна хвилина з одночасним скиданням секунд в нуль, при тривалому натисканні (більше однієї секунди) - з кожною секундою відбувається поповнення хвилин. Процес зміни встановлюваного часу відразу ж відображається на циферблаті. Акустичний сигнал " ходиків " формується за допомогою пьезоізлучателя НА 1. Через роз'єм ХР 1 пристрій підключають до програматора при програмуванні і подають напруга живлення +5 В при використанні годин. Конденсатори С 1 і С 2 служать для згладжування пульсацій напруги живлення, що виникають при роботі пристрою.
"Часовий" кварцовий резонатор ZQ1 є частотозадающіх при відліку часу. Від нього залежить точність ходу годинника. Літієва батарея GB1 - резервне джерело живлення. Її напруга (UБАТ) повинно знаходитися в межах 2,5... 3,5 В. При зменшенні основного напруги живлення нижче 1,25 * UБАТ запис інформації в мікросхему DD1 блокується. Таким чином, при відключенні годин від мережі виключається випадкове пошкодження інформації про поточний час. В описі DS1307 зазначено, що при ємності літієвої батареї 35 мА - год і більше термін підтримки роботи мікросхеми складає більше десяти років. Слід зазначити, що в описуваної конструкції використовується тільки інформація про секунди, хвилинах і годинах, в той час як DS1307 дозволяє відраховувати також число місяця, місяць, день тижня і рік з відстеженням високосних років.
Креслення друкованої плати показаний на рис. 3. Для її виготовлення застосований односторонньо фольгований склотекстоліт товщиною 1 мм.
Зовнішній вигляд змонтованої друкованої плати показаний на рис. 4. В авторському варіанті підставу циферблата виконано з ДВП. Лицьова сторона обклеєна декоративним матеріалом. По краю висвердлено отвори для світлодіодів. Діаметр отворів підбирають так, щоб світлодіоди можна було встановити в них з невеликим зусиллям. На тильній стороні циферблата епоксидним клеєм закріплені кронштейни для підвішування, три гвинти для кріплення плати і звуковипромінювач НА 1. Зʼєднання проводять проводами МГТФ 0,2 мм або іншими гнучкими монтажними в ізоляції. У пристрої застосовані резистори МЛТ, С 2 - 23, оксидний конденсатор К 50- 35 або імпортний, конденсатори С 2 - С 4 - К 10 -17. Транзистори КТ 315Б можна замінити на інші серій КТ 315, КТ 3102 з будь-яким буквеним індексом.
Кварцовий резонатор ZQ1 - РК - 206 або аналогічний, кварцовий резонатор ZQ2 - HC - 49U, НА 1 - ЗП- 1, ЗП- 3, кнопка SB1 - DTS- 32.
Світлодіоди КІПД 35В -К можна замінити іншими з серії КІПД 35, а КІПД 24В -К - якими з серії КІПД 24. Слід мати на увазі, що остання буква означає колір світіння (К - червоний, Л - зелений, Ж - жовтий), а передостання - яскравість.
Гучність звукового сигналу можна зменшити,
встановивши послідовно з пʼєзоівипромінюачем
резистор опором 0,1... 20кОм. Режим маятника можна вимкнути, подавши на лінію
порту РВ 4 (висновок 5 DD2) низький рівень, для чого цей висновок з'єднують із
загальним проводом. Після складання пристрою і програмування мікроконтролера
необхідно скоригувати час, на дисплеї на циферблаті, за сигналами точного часу.
Рисунок 1.7 - Мікропроцесорний
пристрій автомата світлових ефектів
Автомат перемикає чотири гірлянди світлодіодів, які створюють один з шести можливих світлових ефектів. Схема пристрою наведена на рис 1.7 [9].
На елементах DD1.2 DD1.3 зібраний генератор тактових імпульсів. Частоту генератора, а отже, і швидкість обертання " променів" регулюють змінним резистором R1. На триггерах мікросхем DD3, DD4 зібраний зсувний регістр. За допомогою вузла управління регістром, зібраного на елементах DD1.1, DD2.1 - DD2.3, і кнопки SB1 можна задавати одну з шести можливих послідовностей включення гірлянд. Вибір залежить від тривалості утримання кнопки в натиснутому стані.
Сигнали високого рівня з виходів тригерів зсувного регістру управляють транзисторами VT1 - VT4, коммутирующими гірлянди. Кожна складається з двох, конструктивно протилежно розташованих лінійок світлодіодів, які включаються одночасно. Пристрій починає працювати відразу після подачі живлення.
Автомат світлових ефектів живлять від батареї напругою 9 В, наприклад, "Крона", "Корунд" або аналогічної імпортної. У ньому застосовані постійні резистори С2 - 23, змінний - СПЗ- 46М, оксидний конденсатор - імпортний або К 50 -35. Вказані на схемі мікросхеми можна замінити аналогами з серії К 176, світлодіоди - будь-якими.
Всі деталі пристрою, за винятком батареї живлення, розміщені на платі з односторонньо фольгиро - ванного склотекстоліти товщиною 1,5... 2 мм.
Входи невикористовуваних елементів мікросхем DD1, DD2 (виводи 12, 13) з'єднані з плюсовим виводом живлення, а невикористовувані настановні входи тригерів мікросхем DD3, DD4 - із загальним проводом. Зовнішній вигляд зібраного автомата показаний на рис. 3.
Для обмеження cnheve перезарядки конденсатора С 1, що протікає через захисні діоди елемента DD1.2, рекомендуємо між точкою з'єднання лівого за схемою виводу резистора R1 з мінусовим виводом конденсатора С 1 і входами елемента DD1.2 (виводами 1,2) включити резистор опором 10...30кОм.
.2 Будова вибраного мікроконтролера
мікроконтролер світлодіодний алгоритм асемблер
В основі ядра AVR лежить розширена RІSC архітектура, що поєднує розвинутий набір команд і 32 регістри загального призначення. Усі 32 регістри безпосередньо підключені до арифметико-логічного пристрою (АЛП), що дає доступ до будь-яких двох регістрів за один машинний цикл.
Подібна архітектура забезпечує десятикратний виграш в ефективності коду в порівнянні із традиційними CІSC мікроконтролерами [9].S2313 пропонує наступні можливості:
· 2кб завантажуваної флеш пам'яті; 128 байт EEPROM;
· 15 ліній вводу/виводу загального призначення;
· 32 робочих регістри; налаштовувані таймери/лічильники з режимом співпадання;
· зовнішні й внутрішні переривання;
· програмований універсальний послідовний порт;
· програмований сторожовий таймер із вбудованим генератором;
· SPІ послідовний порт для завантаження програм;
· два програмно змінні режими низького енергоспоживання.
Холостий режим (Іdle Mode) відключає ЦПУ, залишаючи в робочому стані регістри, таймери/лічильники, SPІ порт і систему переривань.
Економічний режим (Power Down Mode) зберігає вміст регістрів, але відключає генератор, забороняючи функціонування всіх вбудованих пристроїв до зовнішнього переривання або апаратного скидання.
Мікросхеми виготовляються з використанням технології енергонезалежної пам'яті високої щільності фірми Atmel. Завантажувана флеш пам'ять на кристалі може бути перепрограмована прямо в системі через послідовний інтерфейс SPІ або доступним програматором енергонезалежної пам'яті. Поєднуючи в одному кристалі вдосконалений 8-бітовий RІSC процесор з, завантажуваною флеш пам'яттю, AT90S2313 є потужним мікроконтролером, який дозволяє створювати досить гнучкі й ефективні за вартістю обладнання.S2313 підтримується повною системою розробки, що включає в себе макроасемблер, програмний відладчик/симулятор, внутрішньосхемний емулятор і відладочний комплект.
Рисунок 1.8 - Опис виводів
мікроконтролера AT90S2313
Умовні позначення на рисунку 1.8:
VCC - вивід джерела живлення; GND - земля.B (PB7..PB0) - порт B є 8-бітовим
двонаправленим портом вводу/виводу. Для виводів порту передбачені внутрішні
підтягуючі резистори (вибираються для кожного біта). Виводи PB0 і PB1 також є
позитивним (AІN0) і негативним (AІN1) входами вбудованого аналогового компаратора.
Вихідні буфери порту B можуть споживати струм до 20мА й безпосередньо управляти
світлодіодними індикаторами. Якщо виводи PB0..PB7 використовуються як входи й
ззовні встановлюються в низький стан, вони є джерелами струму, якщо включені
внутрішні підтягуючі резистори. Крім того, порт B обслуговує деякі спеціальні
функції.D (PD6..PD0) - порт D є 7-бітовим двонаправленим портом із внутрішніми
підтягуючими резисторами. Вихідні буфери порту D можуть споживати струм до
20мА. Якщо входи встановлені в низький стан, виводи порту D є джерелами струму,
якщо задіяні підтягуючі резистори. Крім того, порт D обслуговує деякі
спеціальні функції.- вхід скидання. При втриманні на вході низького рівня
протягом двох машинних циклів (якщо генератор працює), здійснює скид.- вхід
інвертуючого підсилювача генератора й вхід зовнішнього тактового сигналу.-
Вихід інвертуючого підсилювача генератора.і XTAL2 є входом і виходом
інвертуючого підсилювача, який можна використовувати для генератора тактових
імпульсів. Можна використовувати як кварцові, так і керамічні резонатори. При
підключенні зовнішнього тактового сигналу вивод XTAL2 залишається
непідключеним, а XTAL1 підключається до виходу зовнішнього генератора.
Рисунок 1.9 - Схема підключення
кварцового генератора
Рисунок 1.10 - Схема підключення зовнішнього тактового сигналу
Регістровий файл швидкого доступу містить 32 8-розрядних регістри загального призначення, доступ до яких здійснюється за один машинний цикл. Тому за один машинний цикл виконується одна операція АЛП. Два операнда вибираються з реєстрового файлу, виконується операція, результат її записується в реєстровий файл - усе за один машинний цикл.
Шість із 32 регістрів можна використовувати як три 16-розрядних покажчика в адресному просторі даних, що дає можливість використовувати високоефективну адресну арифметику (16-розрядні регістри X, Y і Z). Один із трьох адресних покажчиків (регістр Z) можна використовувати для адресації таблиць у пам'яті програм. Це X-, Y- і Z- регістри.
АЛП підтримує арифметичні й логічні операції з регістрами, з константами й регістрами. Операції над окремими регістрами також виконуються в АЛП.
Крім регістрових операцій, для роботи з регістровим файлом можуть використовуватися доступні режими адресації, оскільки регістровий файл займає адреси $00-$1F в області даних, звертатися до яких можна як до комірок пам'яті.
Простір введення складається з 64 адрес для периферійних функцій процесора, таких як керуючі регістри, таймери/лічильники й інші. Доступ до простору вводу/виводу може здійснюватися безпосередньо, як до комірок пам'яті розташованим після реєстрового файлу ($20-$5F).
Процесори AVR побудовані по гарвардській архітектурі з роздільними областями пам'яті програм і даних. Доступ до пам'яті програм здійснюється за допомогою однорівневого буфера. Під час виконання команди, наступна вибирається з пам'яті програм. Подібна концепція дає можливість виконувати по одній команді за кожний машинний цикл. Пам'ять програм - це внутрішньосистемна завантажувана флеш-память.
За допомогою команд відносних переходів і виклику підпрограм здійснюється доступ до всього адресного простору. Більша частина командмає розмір 16- розрядів, одне слово. Кожна адреса в пам'яті програм містить одну 16- або 32- розрядну команду.
При обробці переривань і виклику підпрограм адреса повернення запам'ятовується в стеці. Стек розміщається в пам'яті даних загального призначення, відповідно розмір стека обмежений тільки розміром доступної пам'яті даних і її використанням у програмі. Усі програми користувача повинні ініціалізувати покажчик стека (SP) у програмі, виконуваної після скидання (перше ніж викликаються підпрограми й дозволяються переривання). 8- розрядний покажчик стека доступний для читання/запису в області вводу/виводу.
Доступ до 128 байтів статичного ОЗУ, регістровому файлу й регістрам вводу/виводу здійснюється за допомогою п'яти доступних режимів адресації підтримуваних архітектурою AVR.
Гнучкий модуль переривань має власний керуючий регістр у просторі вводу/виводу, і прапор глобального дозволу переривань у регістрі стану.