набір NM9216 / 1

Мікроконтролери фірми Atmel мають вдале поєднання ціни і функціональності. Завдяки цьому вони широко поширені на 1говарном ринку. Перед застосуванням мікроконтролерів у тієї або іншої конструкції їм необхідно «вказати», що і як «робити». Для Радіоаматорів, які ще ніколи не стикалися з мікроконт-Шоллерной технікою, напевно, варто сказати про це пару слів.

Будь-який мікроконтроллер є як би мініатюрним компь-, ютером. Коли ви включаєте комп'ютер, він починає завантажуватися, і Ьерез деякий час вже повністю готовий до роботи. При цьому професор комп'ютера відпрацьовує певний алгоритм, виконуючи послідовно деяку серію команд і обмінюючись інформацією з периферійними по відношенню до нього пристроями. У результаті цього процесор налаштовує комп'ютер, готуючи його до нор-> мальної роботі. Так і мікропроцесор виконує деяку програму, призначену для виконання певного завдання.

Для запису програми в мікроконтролер і призначені набори МАЙСТЕР КИТ серії NM9216. Для цього буде потрібно базовий блок (набір NM9215), що зв'язує комп'ютер з адаптером (серія, наборів NM9216), розрахованим на певний тип мікросхем.

МАЙСТЕР КИТ пропонує використовувати набір NM9216 / 1 для програмування мікроконтролерів фірми Atmel.

Короткий опис адаптера для мікроконтролерів AVR

Адаптер для мікроконтролерів AVR призначений для роботи з "мікроконтролера фірми Atmel наступних типів:

AT90S2323, Tiny 12 (DDI);

AT90S1200, AT90S2313 (DD2);

AT89Sxxxx, AT90S8515, AT90S4414 (DD3);

AT90S8535, AT90S4434 (DD4);

AT90S4433, AT90S2233 (DD5).

Позначенням DD1 … DD5 відповідають типи колодок, кожна з яких призначена для підключення та програмування певного типу мікросхем.

Зовнішній вигляд зібраної плати адаптера і його монтажна схема показані на Рис. 1 і Рис. 2.

Рис. 1. Зовнішній вигляд адаптера для мікроконтролерів AVR

 

Рис. 2. Розташування елементів на платі адаптера для мікроконтролерів

AVR

До роз'єму ХР1 підключається 10-контактний інтерфейсний 1лейф для з'єднання з базовим блоком NM9215. Джампер JMP1 ус-Ьнавлівается в положеннях 1-2 або 2-3 залежно від полярності сигналу скидання Reset програмованого мікроконтролера. На Ьдате передбачено місце під встановлення штирьових контактів ISP-інтерфейсу.

Деякі відомості та порівняльні характеристики мікроконтролерів фірми Atmel

Сімейство мікроконтролерів AVR фірми Atmel має багато спільних рис апаратних з популярним на сьогоднішній день сімейством MCS-51. Але, побудовані відповідно до принципів Гарвардської Ьхітектури, вони забезпечують на порядок вищу продуктивність при меншому енергоспоживанні. Виконання машинних інструкцій в них грунтується на конвеєрному принципі: під час Виконання першої інструкції наступна зчитується з програмної пам'яті.

I Сімейство мікроконтролерів AVR так само популярно, як і сімейство MCS-51. Тим більше що фірма Atmel і ряд інших фірм вільно розповсюджують не тільки технічну інформацію про ці ікросхемах, а й засоби налагодження, макроассемблера і навіть Сі-ком-ілятори.

У рамках єдиної базової архітектури AVR-мікроконтролери І> Ірми ATMEL поділяються на три сімейства:

Classic AVR – базова лінія мікроконтролерів;

Tiny AVR – низьковартісні мікроконтролери з 8 висновками;

Mega AVR – мікроконтролери для складних додатків, що вимагають великого обсягу пам'яті програм і даних.

Мікроконтролери сімейства Classic мають такі основні характеристики:

FLASH-пам'ять програм обсягом від 1 до 8 Кбайт (число циклів стирання / запису не менш 1000);

пам'ять даних на основі статичного ОЗУ (SRAM) обсягом до 512 байт;

пам'ять даних на основі ЕСППЗУ (EEPROM) обсягом від 64 до 512 байт (число циклів стирання / запису не менше 100000).

SRAM – Аббревеатура від Static Random Access Memory означає: Статична запам'ятовуючий пристрій з довільною вибіркою, статичне ОЗУ.

EEPROM – Аббревеатура від Electrically Erasable Programmable Read-Only Memory означає: електрично-стирані програмований постійний запам'ятовуючий пристрій (ЕСППЗУ).

Мікроконтролери сімейства Tiny мають такі основні характеристики:

FLASH-пам'ять програм обсягом від 1 до 2 Кбайт (число циклів стирання / запису не менш 1000);

оперативна пам'ять (статичне ОЗУ) об'ємом від 1 до 2 Кбайт:

пам'ять даних на основі ЕСППЗУ (EEPROM) обсягом до 64 байт (число циклів стирання / запису не менше 100000);

деякі моделі мікроконтролерів можуть працювати при зниженому до 1.8 В напрузі живлення.

Мікроконтролери сімейства Mega мають такі основні характеристики:

FLASH-пам'ять програм обсягом від 8 до 128 Кбайт (число циклів стирання / запису не менш 1000);

оперативна пам'ять (статичне ОЗУ) об'ємом від 1 до 4 Кбайт;

пам'ять даних на основі ЕСППЗУ (EEPROM) обсягом від 512 байт до 4 Кбайт (число циклів стирання / запису не менше 100000);

можливість самопрограмування;

можливість внутрішньосхемного налагодження відповідно до стандарту IEEE 1149.1;

наявність BOD (скор. від Brown-Out Detector – детектор зниження напруги живлення);

можливість програмного зниження частоти тактового генератора (не у всіх моделях).

Далі розглянуті деякі характеристики тих моделей мікроконтролерів, які можна програмувати за допомогою програматора NM9215 і адаптера NM9216 / 1.

Мікроконтролер Tinyl 2

Мікроконтролер Tiny 12 найбільш простий мікроконтроллер сімейства AVR (простіше тільки Tinyl 1). Це восьмирозрядний мікроконтроллер, побудований за КМОП-технології. Виконання машинних інструкцій відбувається за один цикл.

Tinyl2 має енергонезалежну пам'ять програм і пам'ять даних. Об'єм пам'яті програм всього 1 Кбайт, що недостатньо для написання більш-менш серйозної програми. Зате їх необов'язково програмувати на спеціальному програматорі. Зробити це можна безпосередньо в самому виробі через призначений для цього вузол – ISP-інтерфейс (при цьому необхідно подати на мікроконтро.т лер деякі керуючі сигнали). Tinyl2 відносяться до класу

Жпсроконтроллеров з внутрішньосистемних програмуванням. Він име- ЕТ 64 байта репрограмміруемой пам'яті даних (до 100 тисяч циклів Іяпісь / стирання »), яка також може бути запрограмована Ьутрісістемно. Пам'ять програм і пам'ять даних забезпечені блоки-Ірвкой від несанкціонованого доступу, що запобігає перегляд їх вмісту.

До Мікроконтролер Tiny 12 здатний обробляти як зовнішні, так ^ Ьнутренніе переривання. Внутрішнє переривання може бути викликано апаратно вбудованим в Tiny 12 таймером, або програмованим ^ Ельзователем – Сторожовим таймером WatchDog Timer (WDT), доданим уберегти мікросхему від «зависання». Крім того, WDT має ^ Кственний генератор, здатний функціонувати незалежно від «новного тактового генератора.

Г Tiny 12 має два програмно обираних режиму зниженого Жергопотребленія: «Idle Mode» і «Power-down Mode». Під час ак-^ паціі режиму «Idle Mode» основні вузли мікроконтролера «загладжуються», що і призводить до значного зниження споживаної мікросхемою енергії. Однак таймер-лічильник, WDT і система ^ ництва переривань продовжують працювати. Якщо Tinyl2 перейшов у 1ежім «Power-down Mode», відбувається «Заморожування» тактового ^ шератора тому блокуються всі основні функції мікроконт-Ішлера до найближчого переривання або апаратного скидання. Однак у цьому режимі зміст регістрів Tiny 12 залишається незмінним. Але Нже якщо мікроконтроллер знаходиться в одному з цих режимів, його Н) жно «розбудити», подавши сигнал «wake-up».

До Мікроконтролер Tiny 12 гарний для створення пристроїв низької і вредней складності при мінімальних апаратних витратах.

Нікроконтроллер AT90S2323

I Мікроконтролер AT90S2323 схожий як функціонально, так і ап-фатіо на Tiny 12. Однак деякі відмінності у цих Мікроконтрол-Жров все-таки є. Перш за все, при аналізі блок-діаграми мікропроцесора AT90S2323 можна виявити додатковий Ьямоугольнік, що позначається як SRAM. Так позначають пам'ять, розташовану прямо на кристалі мікросхеми [перекладається як? Гатіческя оперативна пам'ять (ОЗУ)]. Її обсяг 128 байт, що для Ітаюконтроллеров такого рівня дуже навіть непогано. Наявність у • T90S2323 ОЗУ може значно спростити життя программіс-І-розробника, оскільки тепер з'явилася можливість «Швидкої • боти» зі змінними, що програмно заносяться в SRAM. Крім того, на відміну від перезаписувати пам'яті даних EEPROM ata Memory, яка має кінцеве число циклів запис / стирання,

SRAM має нескінченно велике значення цього відношення. Тому використання ОЗУ – це значний крок вперед.

З іншого боку, у AT90S2323, у порівнянні з Tinyl2, обсяг пам я , Ти програм і пам'яті даних EEPROM збільшена в два рази. Код і . кість команд, виконання яких відбувається всього за один мащ Ін _ Ний цикл збільшена з 90 (Tinyl2) до 120. Не залишилося без уваги і швидкодія. Мікроконтролер AT90S2323 здатний нормально функціонувати на частотах аж до 10 МГц! Однак мікроконтролер AT90S2323 має всього 3 лінії вводу / виводу даних проти 6 у Tinyl2. Тому при розробці конструкцій на основі AT90S2323 доведеться вибирати, що важливіше: додаткова пам'ять або число обслуговується зовнішньої периферії.

В обох мікроконтролерах є вбудований аналоговий компаратор, здатний порівнювати два автономних сигналу на своєму вході і залежно від отриманого результату формувати переривання. Слід відзначити і те, що особливості програмування AT90S2323 практично не відрізняються від Tinyl2.

Мікроконтролер AT90S1200

Мікроконтролер AT90S1200, на відміну від описаних вище, наділений двома незалежними портами введення / виведення даних. Перший порт містить вісім, а другий сім ліній введення / виведення загального призначення, що робить його досить привабливим для роботи із зовнішньою периферією. Крім того, AT90S1200 відрізняється кількістю використовуваних команд – 89, тобто меншим, ніж у розглянутих вище мікроконтролерів (120). Звичайно, цей факт накладе деякі обмеження в плані створення керуючої програми, але кількість ліній вводу / виводу, підтримка можливості програмування на мовах високого рівня, що відрізняються від Асемблера більшою наочністю і простотою, непогане швидкодія (максимальна частота тактового генератора) і низьке енергоспоживання можуть грати вирішальну роль при його виборі.

Мікроконтролер AT90S2313

Мікроконтролер AT90S2313 з розглянутих варіантів найбільш досконалий. Тому розглянемо його докладніше.

Кількість машинних інструкцій цього мікроконтролера 120. Пам'ять даних EEPROM має об'єм 128 байт. Вміст опера * тивної пам'яті (RAM) знищується при відключенні живлення, але зате дозволяє аналогічно AT90S2323 збільшити швидкість процесу обме * на даними між основними вузлами мікроконтролера. Розмір 'RAM, EEPROM і пам'яті програм у AT90S2313 і AT90S2323 одпна *

Ввие. Однакові в них і робочі частоти задають тактових гені-Второв, і число команд (машинних інструкцій).

Г Однак мікроконтролер AT90S2313 має деякі відмінності. ^ Ьедидущіе вироби забезпечувалися тільки одним 8-розрядним таймі-ром. Тому програмістам в різних завданнях нерідко доводилося вкотити рішення за допомогою програмних хитрувань. У мікроконтролері AT90S2313 схема поповнилася 16-розрядним многорежім-дим таймером, що дозволяє без програмних хитрувань програм-Вровать необхідні затримки і тимчасові інтервали.

I І ще про одне нововведення в периферії мікроконтролера. Комі ISP-інтерфейсу, AT90S2313 забезпечений повним програмно-уп-Івляемим послідовним дуплексним каналом UART. Це дало ^ Ьможность розробнику організувати послідовний періфе-Жшний інтерфейс, що дозволяє досить швидко робити знижений обмін інформацією між контролером і периферією або Нже між двома контролерами. Вихідні порти мікроконтролле-ра AT90S2313 (Port В і Port D) забезпечені буферними каскадами і ^ Х'обни витримувати досить потужну для мікросхеми навантаження Наприклад, світлодіодний дисплей, струм споживання якого може Входити до 20 мА).

Мікроконтролери AT90S2333 і AT90S4433

I У мікроконтролерах AT90S2333 і AT90S4433 є вбудований-ний 6-канальний 10-розрядний аналого-цифровий перетворювач ВЦП). З'явилася можливість перетворювати аналогові сигнали цифровий код по кожному з шести вхідних каналів! Використовуючи ЦП цих мікроконтролерів не слід забувати про їх невисокою ^ шності перетворення аналога в цифру. Окремо виконані ^ кросхеми АЦП можуть забезпечити набагато нижчу похибки Всгь перетворення.

В іншому мікроконтролери AT90S2333 і AT90S4433 функціонально мало чим відрізняються від AT90S2313. Виняток становить Вшь їх периферія. Зверніть увагу, розробники роблять великий акцент на розвиток пристроїв периферії. І це не випадковість, оскольку мікроконтроллер з розвиненою периферією досить зручно Ваптіровать під конкретну конструкцію не тільки за рахунок збільшення числа ліній управління, але і функціональності використовуваного мікроконтролера в цілому. На доказ вище сказаного в мік-Всхемах AT90S2333 і AT90S4433, крім двонаправлених портів PhD , Введено багатофункціональний двонаправлений шестіразряд-ВШ порт С. Крім основної своєї функції обміну даними, він мо-Ні бути програмно налаштований як приймач аналогових сигналів, що надходять потім на АЦП. Так само як порти В і D, порт З забезпечений н буферним каскадом, що дає можливість працювати з потужною світлодіодним навантаженням безпосередньо, без будь-яких погоджувальних струмових підсилювачів. Всього в AT90S2333 і AT90S4433 можна задіяти до 20 двонаправлених ліній введення / виводу.

Наявність SRAM дало можливість реалізації стекової пам'яті якої відводиться деяка область в самій SRAM. У стек заносяться значення програмного лічильника PC, які відповідають адресами програмної пам'яті, відразу після яких мікроконтролер починає обробку деякого переривання або виконання підпрограми Структуру стека легко зрозуміти, представивши подумки магазин автомата Калашникова. Ми поміщаємо туди патрон за патроном, поки не заповнимо весь магазин. При стрільбі магазин буде спустошуватися в порядку, зворотному заповнення: першим вилетить той патрон, який вставлявся нами останнім. І навпаки, останнім вилетить найперший, поміщений в магазин патрон. Принцип дії будь-якого стека в будь-якому мікроконтролері, де він існує, нічим не відрізняється від наведеного вище прикладу.

Оскільки стек розподілений в IRAM, то, отже, розмір його обмежений розміром IRAM, а також ступенем її завантаженості (використання). Тому, складаючи програму для мікроконтролера, необхідно відчувати баланс між кількістю змінних і констант, які заносяться в оперативну пам'ять і загальною кількістю підпрограм, в тому числі і підпрограм обробки переривань.

За розподіл адрес в стеку стежить 8-розрядний покажчик стека SP (stack pointer). Сам SP може бути програмно доступний як для читання його значення, так і для запису в нього. Однак робити це треба вкрай обережно, оскільки неправильна установка SP може призвести до сумного результату.

Що стосується SRAM, то всі наявні в розпорядженні 128 байт пам'яті даних є доступними за допомогою п'яти різних режимів її адресації, які підтримують мікроконтролери AVR.

Основні відмінності мікроконтролера AT90S2333 від AT90S4433 полягають в тому, що обсяг пам'яті програм, а також і EEPROM У AT90S2333 в два рази менше, ніж у AT90S4433, у яких вони відповідно 4 Кбайта і 256 байт.

Джерела переривання у мікроконтролерів AT90S2333 і AT90S4433 мають рівні пріоритету. Іншими словами, якщо виникає ситуація, коли з'являється відразу декілька запитів на переривання-мікроконтроллер виставляє їх у чергу, в якій в перших рядах на обробку стоять переривання з найвищим рівнем пріоритету. Кажлой (| З переривання, грубо кажучи, має свою адресу в адресному просторі, по

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

Мікроконтролер AT90S4414

| Мікроконтролер AT90S4414 дозволяє створювати керуючу рограмма, обсяг якої може доходити до 4 Кбайт. Такий розмір, Введений під програмну пам'ять, дозволяє вільно писати до-Вугьно серйозні програми не тільки на Асемблері, але і на мовах Високого рівня, наприклад на Сі. Кількість машинних інструкцій, І; пользуемих AT90S4414, досягає 120. Як і в попередніх варіантах мікроконтролерів, пам'ять програм може заповнюватися внутрішньо-Істемно, тобто коли мікроконтроллер знаходиться безпосередньо нню в самому пристрої (використовуючи ISP-інтерфейс).

| Обсяг репрограмміруемой пам'яті EEPROM і оперативної пам'яті даних доведений до 256 байт, що, у свою чергу, позитивно ска-Ллось як на розмірах стека, так і на можливості розширення кількості використовуваних у програмі змінних.

[Збільшено кількість портів. До портів В, D і С додався порт А, що Івівело до збільшення числа ліній введення / виводу. Порт А представляє І> бій 8-розрядний двонаправлений порт вводу / виводу даних з можливістю про- Ішностью підключення струмового навантаження до 20 мА. Крім того, при використанні зовнішньої пам'яті даних (ERAM) він виконує функ-ня мультиплексной (комбінованою) шини адреси даних. Однак ЕРМ А видає лише молодші 8 розрядів адреси. Старші 8 розрядів І> є синхронно з молодшими на виходах порту С. У режимі робо-ти мікроконтролера з SRAM він працює як 8-розрядний двонаправлений порт вводу / виводу загального призначення з можливістю подклю-Іенія потужної навантаження (аналогічно порту А). Порти В і D також-розрядні умощнение двонаправлені порти загального призначення, Які можуть функціонувати і в інших специфічних режимах, Іоторие ми не будемо розглядати в рамках викладеного матеріалу.

Крім послідовного інтерфейсу SPI, є послідовний програмований інтерфейс UART. Не можна не згадати і про двох незалежних багаторежимних таймерах-лічильниках, забезпечених Іаждий своїм предделителя частоти. Причому розрядність цих пе-Ііферійних пристроїв різна: 8 і 16 розрядів.

Швидкодія мікроконтролера AT90S4414 досить Неплях-feoe. Частота роботи його тактового генератора може досягати 4 МГц. Інтервал живлячих напруг, при яких виріб надійно функціонує, 2.7 … 6 В в залежності від вибраної частоти задає генератора.

Мікроконтролер AT90S8515

Мікроконтролер серії AT90S8515 відрізняється від AT90S4414 наявністю в два рази великих за обсягом пам'яті програм, EEPROM. SRAM, функціонально більш універсальним 16-розрядним таймером і можливістю більш гнучкого налаштування SPI-інтерфейсу, що має два режими роботи: ведучий і ведений.

Мікроконтролери AT90S4434 і AT90S8535

Мікроконтролери AT90S4434 і AT90S8535 дуже схожі з AT90S4414 і AT90S8515. Вони мають однакову кількість виконуваних в одному машинному циклі команд, число яких 120, однакові обсяги пам'яті програм, енергонезалежній і оперативної пам'яті даних. Але є й відмінності. Мікроконтролери AT90S4434 і AT90S8535 оснащені 8-канальним 10-розрядним АЦП. У них є два 8-розрядних та один 16-розрядний таймер. Крім того, в AT90S4434 і AT90S8535 введено додатковий генератор, який може служити джерелом тактових імпульсів для одного з використовуваних таймерів незалежно від основного тактового генератора мікроконтролера! Активація цього додаткового генератора відбувається програмно з підключенням кварцового резонатора на 32768 Гц.

Якщо необхідно тактироваться таймер зовнішнім сигналом, то па входи, до яких був підключений кварц, повинна бути подана послідовність прямокутних імпульсів з частотою не більше 256 кГц, оскільки смуга пропускання буферного підсилювача мікроконтро. лера по цих входів становить 0 … 256000 Гц.

Всі порти мікроконтролерів AT90S4434 і AT90S8535, як і в мікросхемах AT90S4414, AT90S8515, посилені буферними каскадал і по вихідного току. Ті ж 32 програмно керовані двонаправлені лінії вводу / виводу. Але є й відмінності. Лінії порту А програмно переналаштовуються в режим аналогових входів, сигнали з яких надходять в аналоговий мультиплексор. З його допомогою можна комутувати прийшли на його вхід сигнали з входом АЦП. Висновки порту С РС6 (OSC1) і PC7 (OSC2), крім своєї основної задачі вводу / виводу даних, задіяні при активації режиму роботи таймера від додаткового генератора.

І останнє. У мікроконтролерах AT90S4434 і AT90S8535, на відміну від їх попередників, Sleep-режимів вже три замість двох основних Low Power Idle і Power Down. Для того, щоб були зрозумілі основні відмінності цих режимів, нагадаємо, що під час Low Power Idle (режим холостого ходу) відбувається зупинка центрального процесор-

Вдаго пристрою, оскільки на нього перестає подаватися сигнал з так-Іового генератора. Зміст внутрішнього ОЗУ і регістрів спеціальних функцій при цьому залишається незмінним. Висновки портів утримують значення, які були на них до переходу в режим холостого ходу. На таймери-лічильники, SPI-порт і схему переривання продовжують надходити тактові сигнали, а їх працездатність не порушується.

Режим Power Down (вимкнений режим харчування) зупиняє генератор мікроконтролера. Із зупинкою синхрогенератора перетворюється функціонування не тільки CPU, але і таймерів, SPI-nop-'та і схеми переривань. Однак вміст основних регістрів оста-Щется незмінним.

І нарешті, останній режим Power Save. Коли він активований, продовжує функціонувати лише таймерний генератор, що дозволяє підтримувати в працездатному стані таймер, в той час ^ як інші складові мікроконтролера знаходяться в сплячому Вюжіме.

На цьому закінчимо короткий розгляд мікроконтролерів AVR, 1с якими можна працювати, використовуючи набори NM9216 / 1 і NM9215.

Мікроконтролер AT89S53

Розглянемо мікроконтролери AT89S53 і AT89S8252, які сьогодні можна назвати попередниками нового AVR-покоління.

Мікроконтролери AT89S53 мають ряд істотних відмінностей від сімейства MCS-51. До їх складу включено вже знайоме пристрій SPI. Обсяг програмної пам'яті вже становить 12 Кбайт, a SRAM – 256 байт. Так і з таймерами все в порядку. У AT89S53 три 16-розрядних таймера. AT89S53 має у своєму складі сторожовий таймер WDT, а кількість можливих джерел переривання 9.

Мікроконтролери AT89S53 мають більш високу, ніж у сімейства MCS-51, навантажувальну здатність висновків, що дозволяє з'єднувати з кожним з них до шести стандартних TTL-висновків. Максимальний вхідний струм може досягати значення 10 мА, при цьому сумарний струм через висновки порту Р0 не повинен перевищувати 26 мА, а через висновки інших портів – 15 мА.

У мікроконтролері AT89S53, як і в MCS-51, реалізовано два енергозберігаючих режиму: холостий хід (Idle) і відключення живлення (Power Down).

Висновки порту РЗ у AT89S53 виконують ті ж альтернативні функції, що і в мікроконтролерах MCS-51: РЗ.О і Р3.1 забезпечують роботу послідовного порту, Р3.2 і РЗ.З приймають сигнал зовнішнього переривання, Р3.4 і Р3.5 – входи таймерів-лічильників 0 і 1 1 відповідно, Р3.6 і Р3.7 – строб запису і читання зовнішньої пам'яті

даних, доступ до якої може бути реалізований просто. При цьому шина порту РВ працює в мультиплексному режимі, коли адреса і дані передаються по одних і тих же лініях у різних часових інтервалах. Принцип роботи мікропроцесора з зовнішньою пам'яттю в мультиплексному режимі ми вже розглядали на прикладі мікросхеми AT90S4414. Старший адресний байт видається при цьому по лініях порту Р2.

Під виконання альтернативних функцій можна програмно налаштувати шість з восьми висновків порту Р1. Висновки Р 1.0 і Р 1.1 обслуговують третя таймер. Висновки з Р1.4 по Р1.7 забезпечують роботу SPI. Крім того, на висновок Р1.4 подається сигнал вибірки підлеглого пристрою (Slave), з яким задає контролер (Master) буде вести обмін. Завдяки такого розкладу на основі AT89S53 можна будувати двопроцесорні системи.

Робота в режимі SPI обмін даними здійснюється у відповідне твіі з протоколом «ведучий / ведений». Якщо AT89S53 працює як ведений, то установка ведучим на його вході Р1.4 низького рівня пові щает йому про здійснення обміну саме з ним. Одиничний рівень Р1.4 відповідно виключає його з процесу обміну. Завдяки такій логіці роботи «master-slave», легко будувати системи з двох і більше мікроконтролерів.

При роботі AT89S53 в якості ведучого дані виводяться через лінію Р1.5. З цієї ж лінії ведений приймає інформацію. Звідси назва альтернативної функції лінії Р1.5: MOSI (master data out, slave data in). Лінія PI.6 виконує зворотні функції. Вона працює на прийом у ведучого і на передачу у веденого. Його назва MISO (master data in, slave data out).

І нарешті, лінія PI.7 використовується для тактирования обміну. Тактові сигнали виробляються провідним пристроєм і від нього передаються всім відомим. У ведучого мікроконтролера Р1.7 є виходом тактирования, а у ведених – входом.

Кілька слів про програмування AT89S53. Мікроконтролер допускає цілих два режими програмування: з використанням 12 – і 5 – вольтового інтерфейсу. Проте якщо у АТ89С51/52/55 для до сягнення подібної гнучкості довелося виготовляти різні версії виробів, що допускають роботу тільки з одним з перерахованих вище інтерфейсів, то кожен з AT89S53 вже містить у собі обидві ці можливості. Режим паралельного програмування використовує 12-вольта сигнал і схожий із АТ89С51/52/55. Пятівольтовая завантаження, що дає можливість перепрограмування мікроконтролера прямо в апаратурі, використовує для цього інтерфейс SPI.

Мікроконтролер AT89S8252

Мікроконтролер AT89S8252 практично повторює AT89S53. [Основна відмінність його полягає в обсязі дозволеної на кристалі пам'яті програм, рівною 8 Кбайт, і в присутності в ньому Flash-пам'яті шанних 2 Кбайта (аналог EEPROM AVR), доступної в будь-який момент (программно. Кількість циклів її програмування збільшено, в порівнянні з пам'яттю програм MCS-51, практично на два порядки (до 100000 циклів стирання / запису), оскільки дані оновлюються набагато частіше самої програми. Енергонезалежна зовнішня пам'ять 1на кристалі дозволяє зберігати константи, таблиці та інші дані, які повинні допускати можливість оперативного зміни до. процесі роботи контролера без втрати їх при вимиканні харчування [мікросхеми. За допомогою такої пам'яті даних дуже зручно реалізувати зберігання налаштувань користувача у зібраній конструкції навіть при тривалому відключенні її від джерела живлення. Використання резервної батареї в подібному випадку не потрібно.

Навантажувальна здатність портів AT89S8252 помітно поступається AT89S53.

При програмуванні AT89S8252 дещо відрізняється від AT89S53, так як він має два масиви Flash-пам'яті: внутрішня пам'ять програм і зовнішня пам'ять програм. Обидва режими програмування (12 – і 5-вольта) допускають занесення інформації як в 'той, так і в інший масив. Але якщо при послідовному програмуванні ці масиви знаходяться в різних адресних просторах і для кожного з них передбачений свій набір команд читання / запису, то при паралельному програмуванні їх адресний простір єдине! Іншими словами, в останньому режимі користувач як би має контролер з 10-кілобайтні внутрішньої пам'яттю, що підлягає програмування, при цьому перші вісім кілобайт містять коди програм і таблиці констант, а останні два кілобайти – оперативні дані, які можуть змінюватися самим контролером в процесі його роботи.

В іншому мікроконтролери AT89S8252 і AT89S53 схожі між собою.

Збірка адаптера для мікроконтролерів AVR

Перед складанням адаптера для мікроконтролерів AVR уважно ознайомтеся з наведеними на початку цієї книги рекомендаціями з монтажу електронних схем. Це допоможе уникнути псування друкованої плати та окремих елементів схеми. Перелік елементів набору наведено в Табл. 1.

Таблиця 1. Перелік елементів набору NM9216 / 1

Позиція

Характеристика

Найменування і / або примітка

Кількість

С1 … С5

0.1 мкФ

Конденсатор, 104 – маркування

5

С6, С7

22 пф

Конденсатор, 220 (22,22 р) – маркування

2

DDI

D1P-8

Колодка вузька

1

DD2

DIP-20

Колодка вузька

1

DD3.1)1)4

DIP-40

Колодка широка

 

DD5

DIP-28

Колодка вузька

1

R1

Юком

Коричневий, чорний, помаранчевий *

1

ZQ1

4.0 МГц

Кварцовий резонатор, короткий

1

JMP1

PLS-40

Роз'єм штирьовий, 3 контакти

1

ХР1

PLS-40R

Роз'єм штирьовий, кутовий, 10 контактів

1

 

 

Перемичка знімна

1

А9216 / 1

74×56 мм

Плата друкована

1

* Кольорова маркування на резисторі.

Місця розташування елементів на платі адаптера для мікроконтролерів AVR і лінії його підключення до базового блоку показані на Рис. 2. Відформо висновки елементів, установіть елементи на плату та припаяйте їх висновки; при цьому спочатку інсталюйте малогабаритні, потім всі інші елементи. Зібрану плату краще розмістити у відповідному корпусі, який захистить плату від зовнішніх впливів і додасть конструкції завершений вигляд. Корпус можна підібрати в каталозі наборів МАЙСТЕР КИТ, вміщеному в кінці цієї книги.

Перед самим початком експлуатації зібраного адаптера необхідно провести візуальну перевірку монтажу і встановити перемички JMP1 в потрібне положення. Далі запустіть необхідну інтерфейсну програму і дотримуйтесь інструкції по роботі з нею. Виникаючі проблеми при зборці адаптера можна обговорити на конференції сайту http://www.masterkit.ru, а питання по роботі адаптера можна задати за адресою: infomk@masterkit.ru.

Набори NM9215 і NM9216 / 1, а також і інші набори з каталогу МАЙСТЕР КИТ можна придбати в магазинах радіодеталей або на радіоринках.