і відноситься до сімейства В«TtinyВ», насправді займає якесь проміжне місце між сімейством В«TtinyВ» і сімейством В«MegaВ». Вона не так перевантажена внутрішньою периферією і не настільки складна, як мікросхеми сімейства В«MegaВ». Але й не настільки примітивна, як всі інші контролери сімейства В«TtinyВ». p align="justify"> Ця мікросхема містить два основних і один додатковий порт введення-виведення, має не тільки восьмизарядний, а й шестнадцатіразрядний таймер/лічильник. Має оптимальні розміри (20-вивідний корпус). І ідеально підходить в якості прикладу для вивчення основ програмування
Отже, якщо не вважати порту А, який включається тільки в особливому режимі, який ми поки розглядати не будемо, мікроконтролер має два основних порту введення-виведення (порт В і порт D). Домовимося, що для управління світлодіодом ми будемо використовувати молодший розряд порту В (лінія РВ.0), а для зчитування інформації з кнопки управління використовуємо молодший розряд порту D (лінія PD.0). Повна схема пристрою, що дозволяє вирішити поставлену вище завдання, наведена на рис. 2.1. p align="justify"> Для підключення кнопки S1 використана класична схема. У початковому стані контакти кнопки розімкнуті. Через резистор R1 на вхід PD.0 мікроконтролера подається В«плюсВ» напруги живлення, що відповідає сигналу логічної одиниці. p align="justify"> При замиканні кнопки напруга падає до нуля, що відповідає логічному нулю. Таким чином, зчитуючи значення сигналу на відповідному виведення порту, програма може визначати момент натискання кнопки. Незважаючи на простоту даної схеми, мікроконтролер AVR дозволяє її спростити. А саме, пропоную виключити резистор R1, замінивши його внутрішнім навантажувальним резистором мікроконтролера. Як вже говорилося вище, мікроконтролери серії AVR мають вбудовані навантажувальні резистори для кожного розряду порту. Головне при написанні програми не забути включити програмним шляхом відповідний резистор. p align="justify"> Підключення світлодіода також виконано за класичною схемою. Це безпосереднє підключення до виходу порту. Кожен вихід мікроконтролера розрахований на безпосереднє управління світлодіодом середнього розміру з струмом споживання до 20 мА. У ланцюг світлодіода включений струмообмежуючі резистор R3. p align="justify"> Для того, щоб запалити світлодіод, мікроконтролер повинен подати на висновок РВ.0 сигнал логічного нуля. У цьому випадку напруга, прикладена до ланцюжку R2, VD1, виявиться рівним напрузі живлення, що викличе струм через світлодіод, і він загориться. Якщо ж на висновок PD.0 подати сигнал логічної одиниці, падіння напруги на світлодіоді і резистори виявиться рівним нулю, і світлодіод згасне. p align="justify"> Крім ланцюга підключення кнопки і ланцюги управління світлодіодом, на схемі ви можете бачити ще кілька ланцюгів. Це стандартні ланцюги, що забезпечують нормальну роботу мікроконтролера. Кварцовий резонатор Q1 забезпечує роботу вбудованого тактового генератора. Конденсатори С2 і СЗ - це ланцюги узгодження кварцового резонатора. p align="justify"> Елементи C1, R2 - це стандартна ланцюг початкового скидання. Така ланцюг забезпечує скидання мікроконтролера в момент включення живлення. Ще недавно подібна ланцюг була обов'язковим атрибутом будь мікропроцесорної системи. Однак технологія виробництва мікроконтролерів досягла такого рівня, що обидві ці ланцюги (зовнішній кварц і ланцюг початкового скидання) тепер можна виключити. p align="justify"> Більшість мікроконтролерів AVR, крім тактового генератора із зовнішнім кварцовим резонатором, містять внутрішній RC-генератор, що не вимагає ніяких зовнішніх ланцюгів. Якщо ви не пред'являєте високих вимог до точності та стабільності частоти генератора, що задає, то мікросхему можна перевести в режим внутрішнього RC-генератора і відмовитися як від зовнішнього кварцу (Q1), так і від узгоджувальних конденсаторів (С2 і СЗ). p align="justify"> Ланцюг початкового скидання теж можна виключити. Будь мікроконтролер AVR має внутрішню систему скидання, яка в більшості випадків прекрасно забезпечує стабільний скидання при включенні харчування. Зовнішні ланцюга скидання застосовуються тільки за наявності особливих вимог до тривалості імпульсу скидання. А це буває лише в тих випадках, коли мікроконтролер працює в умовах великих перешкод і нестабільного харчування. p align="justify"> Всі описані вище перемикання виробляються за допомогою відповідних fuse-перемикачів. Як це можна зробити, ми побачимо на наступних заняттях. Три звільнилися виведення мікроконтролера можуть бути використані як додатковий порт (порт А). Але в даному випадку в цьому немає необхідності. <В
Спростимо схему, показану на рис. 2.1, з урахуванням описаних вище можливостей. Від зовнішнього кварцу поки відмовлятися не будемо. Він нам стати в нагоді трохи пізніше, коли ми почнемо формувати тимчасові інтервали. Допрацьована схема зображена на рис. 2.2. br/>
2.4 Алгорит...