Лабораторна робота №1 Вивчення цифрового вводу виводу мікроконтролеру MSP430G2553 на MSP430 Launch

Лабораторна робота №1  Вивчення цифрового вводу виводу мікроконтролеру MSP430G2553 на  MSP430 Launch

Мал. 1.5. Вікно середовища розробки програм Energia


Лабораторна робота № 1.

Вивчення мікроконтролера MSP430G2452. Цифровий вхід-вихід

Мета роботи


Вивчення основних характеристик і архітектури мікроконтролера MSP430. Вивчення інтерфейсу отладочного модуля MSP430 LaunchPad. Вивчення основних прийомів програмування портів цифрового вводу-виводу мікроконтролера MSP430G2452.



Завдання


Створення простих програм управління цифровими лініями порту вводу-виводу для налагоджувального модуля MSP430 LaunchPad за допомогою середовища програмування Energia. Прошивка мікроконтролера і перевірка роботи програм.



Теоретична частина


1. Мікроконтролери MSP430

MSP430 - сімейство мікроконтролерів фірми «Texas Instruments» з низьким енергоспоживанням [1,2]. Перший контролер з абревіатурою MSP430 з'явився в 1999 році. Відмінними характеристиками мікроконтролерів сімейства MSP430 є наступні:

Архітектура з наднизьким споживанням, що дозволяє збільшити час роботи при живленні від батарей:

ток збереження вмісту ОЗУ - не більше 0.1 мкА; струм споживання в режимі годинника реального часу - не більше 0.8 мкА; струм споживання в активному режимі - 250 мкА / MIPS.
Високоефективна аналогова підсистема, що дозволяє виконувати точні вимірювання:

таймери, керовані компаратором; багатоканальний АЦП.
16-бітове RISC ЦПУ:

великий регістровий файл усуває обмеження робочого регістра;

вироблене за меншим техпроцесом ядро дозволяє знизити споживання, таким чином знизивши розмір кристала;

оптимізовано для сучасних мов програмування високого рівня;

набір команд складається всього з 27 інструкцій; підтримується 7 режимів адресації;

векторна система переривань з розширеними можливостями.


Енергонезалежна Флеш-пам'ять або Нанд-пам'ять з можливістю внутрисхемного програмування дозволяє гнучко змінювати програмний код (в тому числі, під час експлуатації), а також виробляти збереження даних.

16-розрядний RISC-контролер MSP430 має ортогональну систему команд. Ортогональность системи команд означає, що в якості операндів в будь-якій команді можна використовувати не тільки регістри загального призначення, а й осередки основного ОЗУ і константи, відповідно можна застосовувати для кожної команди будь-який з доступних способів адресації.

MSP430 має Фоннеймановская архітектуру, з єдиним адресним простором для команд і даних. Пам'ять може адресуватися як побайтово, так і послівно. Порядок зберігання 16-розрядних слів - від молодшого до старшого (англ. Little-endian), при якому молодший байт слова зберігається в молодшій адресі пам'яті, старший байт слова - в старшій адресі.

Процесор містить 16 16-розрядних ортогональних регістрів .

Регістр R0 використовується як програмний покажчик - лічильник команд (англ. Program Counter - PC),

регістр R1 як покажчик стека (англ. Stack Pointer - SP),

регістр R2 як регістр статусу (англ. Status Register - SR), а

регістр R3 як спеціальний регістр, іменований генератор констант (англ. Constant Generator - CG). R2 також може використовуватися в якості генератора констант. Генератор констант використовується для скорочення загальної довжини команди внаслідок неявного уявлення константи в коді операції.

Регістри з R4 по R15 використовуються як регістри загального призначення.


Архітектура MSP430 представлена на рис. 1.1.



RISC ЦПУ, система тактирования, периферійні модулі об'єднані спільними шинами адреси (MAB) і даних (MDB).



0e65af8c.jpg

Мал. 1.1. архітектура MSP430



Система тактування



розроблена спеціально для застосування в пристроях з батарейним живленням. З її допомогою реалізується режим очікування з наднизьким споживанням. Низькочастотний допоміжний тактовий сигнал ACLK формується звичайним «годинниковим» кварцом частотою 32768 Гц. Сигнал ACLK може використовуватися для періодичного «пробудження» годин реального часу, що працюють у фоновому режимі. Вбудований високочастотний генератор з цифровим керуванням може формувати основний тактовий сигнал (MCLK), який використовується ЦПУ і швидкодіючими периферійними модулями. Високочастотний основний тактовий сигнал використовується для ефективної обробки сигналів.



Адресний простір.



Сімейство MSP430 має Фоннеймановская архітектуру з єдиним адресним простором, яке розділене між регістрами спеціальних функцій (SFR), периферійними пристроями, ОЗУ і флеш-пам'яттю відповідно до рис. 1.2. Звернення до виконуваного коду завжди виконується по парних адресами. Доступ до даних може здійснюватися як побайтно, так і пословно. В даний час загальний обсяг пам'яті, що адресується становить 128 КБ.



2fe67148.jpg



Мал. 1.2. Карта пам'яті




Початкова адреса області флеш / ПЗУ залежить від обсягу цієї пам'яті і відрізняється для різних пристроїв.

Кінцева адреса області флеш / ПЗУ завжди дорівнює 0x1FFFF.


Флеш-пам'ять може використовуватися як для зберігання коду, так і для зберігання даних. Двухбайтное і однобайтні дані (або таблиці даних) можуть розташовуватися у флеш-пам'яті і використовуватися безпосередньо звідти, без попереднього копіювання в ОЗУ.


Таблиця векторів переривань займає верхні 16 слів нижньої області пам'яті розміром 64 КБ. При цьому вектор переривання з найвищим пріоритетом розташовується в останньому слові області за адресою 0x1FFFF.

Область ОЗУ починається з адреси 0200h.

Кінцева адреса області залежить від обсягу ОЗУ і змінюється від моделі до моделі.

ОЗУ може використовуватися як для зберігання даних, так і для зберігання програмного коду.

Регістри периферійних модулів (пристроїв) розташовуються в загальному адресному просторі.

Область адрес від 0100h до 01FFh зарезервована для 16-бітних периферійних модулів. Для звернення до таких пристроїв необхідно використовувати команди, які оперують двухбайтное значеннями. При використанні команд, які працюють з однобайтном значеннями, допускаються звернення тільки до парних адресами пам'яті, при цьому старший байт результату завжди буде дорівнює нулю.

Область адрес від 010h до 0FFh зарезервована для 8-бітних периферійних модулів. Для звернення до цих пристроїв необхідно використовувати команди, які оперують байтами. Якщо для читання з такого модуля використовувати команду, що оперує словами, то вміст старшого байта результату буде невизначеним. При запису в 8-бітний модуль двухбайтного значення в регістр пристрою буде записаний тільки молодший байт.


Деякі функції периферійних пристроїв конфігуруються за допомогою регістрів спеціальних функцій.

Ці 8-бітові регістри розташовуються в молодших 16 байт адресного простору.

Для звернення до вказаних регістрів можна використовувати тільки команди, які оперують байтами. Призначення окремих бітів регістрів спеціальних функцій описано в документації на конкретні моделі.

Однобайтні значення розташовуються по парних або непарних адресами. Двухбайтное значення розташовуються тільки по парних адресами, як показано на рис. 1.3. При використанні команд, що оперують словами, звертатися можна тільки до парних адресами пам'яті. Молодший байт двухбайтное значення завжди розташовується по парному адресою, а старший байт - за таким непарному адресою.

Наприклад, якщо слово даних розташоване за адресою xxx4h, то молодший байт значення знаходиться за адресою xxx4h, а старший байт значення - за адресою xxx5h.




3bc3cccd.jpg



Мал. 1.3. Біти, байти і слова в пам'яті з побайтовой організацією



Цифрові порти введення-виведення.



Мікроконтролери сімейства MSP430 можуть мати до восьми портів введення / виводу P1 ... P8. Всі порти містять по вісім виводів (ліній). Кожен з висновків порту індивідуально конфігурується в якості входу або виходу. Запис і читання ліній введення / виводу також може здійснюватися в індивідуальному порядку.

Порти P1 і P2 підтримують зовнішні переривання. Для кожного з висновків портів P1 і P2 можна індивідуально дозволити переривання і конфігурувати його так, щоб воно генерувалося по наростаючому чи спадающему фронту вхідного сигналу. Всі лінії введення / виводу порту P1 призначені одному вектору переривань, а всі лінії порту P2 - іншому вектору.


Цифрові порти введення / виводу мають наступні можливості:



незалежні індивідуально програмовані лінії введення / виводу;
будь-які комбінації входів або виходів; індивідуально конфігуруються переривання від виводів портів P1 і P2;
роздільні регістри даних для входів і виходів; індивідуально конфігуруються внутрішні підтягуючи резистори.
Конфігурація цифрових портів вводу / виводу здійснюється програмою користовача. Налаштування функціонування цифрових портів здійснюється за допомогою декількох спеціалізованих регістрів.


Регістр даних входу PxIN.



Кожен біт регістра PxIN відображає рівень вхідного сигналу на відповідному виводі порту, якщо цей висновок використовується в якості цифрового входу / виходу:

Біт = 0: Вхідний сигнал має НИЗЬКИЙ рівень. Біт = 1: Вхідний сигнал має ВИСОКИЙ рівень.


Регістр даних виходу PxOUT.



Значення кожного біта регістра PxOUT визначає стан відповідного висновку порту, якщо цей висновок налаштований як цифровий вихід, і внутрішній підтягаючий резистор не використовується.

Біт = 0: Вихідний сигнал має НИЗЬКИЙ рівень.

Біт = 1: Вихідний сигнал має ВИСОКИЙ рівень.

Якщо використовується внутрішній підтягаючий резистор, то значення біта регістра PxOUT визначає тип «підтяжки» на відповідному виводі порту:

Біт = 0: Висновок підтягується до загального проводу.

Біт = 1: Висновок підтягується до харчування.


Регістр напряму PxDIR.



Значення кожного біта регістра PxDIR визначає напрямок передачі даних відповідного висновку порту, незалежно від обраної для цього висновку функції. Якщо висновок використовується будь-яким периферійним модулем, то біт регістра PxDIR повинен бути встановлений відповідно до вимог даного модуля.

Біт = 0: Висновок порту перемикається на вхід.

Біт = 1: Висновок порту перемикається на вихід.

Регістр включення підтягують резисторів PxREN.

Кожен біт регістра PxREN підключає або відключає внутрішній підтягаючий резистор відповідного висновку порту. Тип «підтяжки» визначається відповідним бітом регістра PxOUT.

Біт = 0: Підтягаючий резистор відключений.

Біт = 1: Підтягаючий резистор підключений.

Невикористані висновки мікроконтролера необхідно конфігурувати як виходи портів введення / виводу і залишити непідключеними, щоб уникнути появи «плаваючих» входів і знизити струм споживання пристрою. Значення біта PxOUT для такого висновку може бути будь-яким, оскільки висновок нікуди не підключений. В якості альтернативи, щоб уникнути появи «плаваючого» входу, можна до Невикористані висновки підключити внутрішній підтягаючий резистор, встановивши відповідний біт регістра PxREN.


Дана лабораторна робота має на увазі, що ви вже отримали певні знання мови Сі ++ і мови асемблер мікроконтролерів сімейства MSP430x2xx. Якщо немає, то рекомендую звернутися до першоджерела і поповнити знання необхідною інформацією.





2. Експериментальний модуль MSP430 LaunchPad (MSP-EXP430G2)



Експериментальний модуль MSP430 LaunchPad (MSP-EXP430G2) [4] е простим у використанні засобом розробки, призначеним для початківців і досвідчених користувачів, що створюють додатки на основі мікроконтролерів фірми «Texas Instruments».

Комплект розробника LaunchPad є частиною серії MSP430 Value Line. LaunchPad оснащений вбудованим DIP-гніздом з підтримкою до 20 контактів, що дозволяє встановлювати пристрої серії MSP430 Value Line на макетній платі LaunchPad. Крім того, вбудований засіб емуляції флеш-пам'яті дозволяє, безпосередньо підключаючись до ПК, програмувати, налагоджувати і аналізувати код. У комплект поставки включені безкоштовні середовища розробки ПО, призначені для написання і налагодження програм. Завдяки клавіатурі, світлодіодам і додатковим контактам входів / виходів, призначеним для простої інтеграції з зовнішніми пристроями, LaunchPad може бути використаний для створення інтерактивних рішень.


Характеристики макетної плати LaunchPad:

DIP-гніздо з підтримкою до 20 контактів дозволяє виконувати розробки на будь-яких пристроях серії MSP430 Value Line в корпусі DIP (N).

Вбудований емулятор флеш-пам'яті з'єднує засновані на флеш-пам'яті пристрої серії MSP430 Value Line з персональним комп'ютером за допомогою кабелю міні-USB в режимі реального часу для здійснення внутрішньо-системного програмування та налагодження.

Емулятор флеш-пам'яті може програмувати всі пристрої серії Value Line MSP430, а також будь-який пристрій MSP430 з інтерфейсом Spy Bi-Wire (2-провідний JTAG), що забезпечує повну масштабованість для старших моделей пристроїв MSP430.
2 програмованих світлодіодних індикатора.
1 світлодіод індикації живлення.
2 програмованих кнопки (1 кнопка скидання).

DIP-гніздо LaunchPad дає користувачам можливість швидко встановити будь-який пристрій серії MSP430 Value Line, укладений в DIP-корпус з кількістю контактів до 20.



Характеристики пристроїв MSP430G2xx що входять в комплект LaunchPad :

MSP430G2452 - 8 КБ флеш-пам'ять,
256 Б ОЗУ,
2 порти введення-виведення,
1 16-розрядний таймер, компаратор,
8-канальний 10-розрядний АЦП,
датчик температури,
корпус PDIP 20;


MSP430G2553 - 16 КБ флеш-пам'ять,
512 Б ОЗУ, 2 порти введення-виведення,
2 16-розрядних таймера, компаратор,
8-канальний 10-розрядний АЦП,
датчик температури,
корпус PDIP 20;



у MSP430G2xx що додаються до виробу завантажені зразки програм.





805ff58b.jpg



Діапазон напруг живлення - від 1,8 В до 3,6 В, тактова частота 16 МГц, продуктивність до 16 MIPS. Живлення може подаватися або автономно, або через інтерфейс USB.
Енергоспоживання MSP430 Value Line (при 2,2 В):
- 0,1 мкА збереження ОЗУ,
- 0,4 мкА в режимі очікування,
- 0,7 мкА в режимі генератора імпульсів часу,
- 220 мкА / MIPS активно,
надшвидкий вихід з режиму очікування протягом 1 мкс.

До складу LaunchPad входить запрограмоване пристрій MSP430G2452 (MSP430G2553). Як тільки LaunchPad підключається через роз'єм USB, демонстраційна програма запускає послідовність включення світлодіодів. Натисканням кнопки P1.3 активується режим вимірювання температури.



3. Засоби програмування мікроконтролерів MSP430



Для програмування мікроконтролерів MSP430 існує кілька компіляторів і вбудованих програмних середовищ розробки(IDE). Основними програмними пакетами, призначеними для розробки додатків з використанням MSP430, є початкова (стартова) версія пакету IAR Embedded Workbench KickStart і Code Composer Studio (CCS). Як IAR, так і CCS мають безкоштовно завантажувані версії з обмеженням коду. Ці середовища повністю функціональні на пристроях серії MSP430 Value Line, оскільки дані пристрої не перевищуватимуть граничний розмір коду 4 КБ для IAR або 16 КБ для CCS. Альтернативою цим засобам розробки є середовище розробки Energia - модифікована версія середовища Arduino IDE, розроблена спеціально для програмування LaunchPad MSP430 і поширюється безкоштовно. Інтерфейс IDE повністю збігається з прабатьком, за винятком кольору. Таким чином, за допомогою Energia можна легко використовувати тексти Arduino-програм для LaunchPad. Опис середовища Energia можна отримати на сайті [5]. Звідти ж можна зробити і завантаження драйверів і програмного забезпечення.Мова програмування в середовищі Energia - мова Arduino, досить зрозуміла і проста в освоєнні. Мова Arduino заснована на C / C ++ і підтримує всі стандартні конструкції мови C і деякі з функцій мови C ++. Він також посилається на бібліотеку AVR libc і може використовувати будь-які з її можливостей. Існує повний переклад мови Arduino, призначений для подолання мовного бар'єру [6]. Перед використанням Energia потрібно встановити драйвери для LaunchPad. Драйвери можна скачати з сторінки Energia на git-hub [7]. Якщо вже встановлено пакет Texas Instruments CCS, то установку драйверів можна опустити. Потім необхідно з тієї ж сторінки скачати завантажувальний файл Energia IDE, який, як і Arduino IDE, поставляється у вигляді zip-архіву. В розпакованому архіві є виконуваний файл energia. exe, який і запускає середу Energia з порожнім полем для тексту програми.




4. Опис лабораторної установки

Лабораторна установка представляє собою плату отладочного модуля MSP430 LaunchPad (MSP-EXP430G2). плата LaunchPad

підключається до порту USB комп'ютера за допомогою кабелю. До складу лабораторної установки входить також п'єзокерамічний випромінювач, призначений для отримання звукових ефектів.


Зовнішній вигляд плати LaunchPad наведено на рис. 1.4


3137333f.jpg

Мал. 1.4. Зовнішній вигляд плати LaunchPad



5. Опис використовуваних програмних комплексів

Для програмування отладочного модуля MSP430 LaunchPad (MSP-EXP430G2) в лабораторній роботі використовується середа
розробки Energia. В директорії, в яку розпакований інсталяційний архів програмного забезпечення, є виконуваний файл energia. exe, який і запускає середу Energia з порожнім полем для тексту програми (рис. 1.5).




d95524dd.jpg



Мал. 1.5. Вікно середовища розробки програм Energia



Налаштування зв'язку середовища Energia з налагоджувальний модулем MSP430 LaunchPad проводиться в такому порядку:
Оцінний модуль MSP430 LaunchPad підключити до комп'ютера за допомогою USB-кабелю.

У меню Tools вибрати пункт Serial Port для настройки послідовного порту. Список доступних послідовних портів видається в форматі COMXXX. Зазвичай COM-порт з максимальним номером - це порт, до якого підключений LaunchPad. Його і слід вибрати (мал. 1.6).




b85097b1.jpg



Мал. 1.6. Налаштування послідовного порту



У меню Tools вибрати пункт Board для настройки типу мікроконтролера. У списку допустимих контролерів вибрати мікроконтролер, встановлений в DIP-гнізді отладочного модуля LaunchPad (рис. 1.7).




1d70404e.jpg



Мал. 1.7. Налаштування типу мікроконтролера




Середа Energia має в своєму складі достатньо велику бібліотеку прикладів програмування модуля LaunchPad. Запуск прикладу проводиться з меню File / Examples, або за допомогою кнопки Open на панелі інструментів. Познайомитися з прийомами роботи з середовищем Energia можна на простому прикладі програмування - миганні світлодіода. Для запуску прикладу необхідно вибрати Open -> 1.Basics / Blink. У вікно Energia завантажується текст програми управління миготінням червоного світлодіода (рис. 1.8).




81e6c75b.jpg




Мал. 1.8. Програма управління миготінням світлодіода



Структура програми:


будь-яка програма для LaunchPad складається з двох функцій.
Функція setup () викликається при старті програми. Її можна використовувати для ініціалізації змінних, призначення висновків мікроконтролера, виклику стартових функцій бібліотек і т. Д.
Функція викликається лише одного разу, після кожної подачі живлення або перезавантаження платформи.

У прикладі:

в тілі функції setup () викликається функція pinMode (RED_LED, OUTPUT). Вона встановлює статус виводу мікроконтролера, до якого підключений червоний світлодіод, на вихід сигналу.

Функція loop () - це основний цикл програми. Ця функція виконується нескінченне число разів. Платформа управляється через цю функцію.
У прикладі:
в тілі функції loop ()
· Виклик функції digitalWrite (RED_LED, HIGH) встановлює вихідний сигнал для червоного світлодіода в високий рівень;
· Виклик функції delay (1000) виконує задержкe тривалістю 1000 мс;
· Виклик функції digitalWrite (RED_LED, LOW) встановлює вихідний сигнал для червоного світлодіода в низький рівень;
· Виклик функції delay (1000) виконує затримку тривалістю тисячу мс;
· Цикл повторюється.
Прошивка програми у флеш-пам'ять мікроконтролера здійснюється кнопкою Upload, або через пункт меню File / Upload.
Порожню заготовку програми, що складається тільки з виклику двох функцій setup () і loop (), можна отримати з бібліотеки прикладів Open -> 1.Basics / BareMinimum.
У програмах висновки мікроконтролера можуть іменуватися декількома способами:
· По символічним іменам
світлодіодів (RED_LED, GREEN_LED),
кнопок (PUCH2)
і сигналів (XIN, XOUT, TEST, RESET, TXD, RXD)
.
Приклад використання таких імен наведено вище;
· По натуральним номерами виводів мікроконтролера.
Наприклад, для звернення до червоного світлодіоду можна використовувати номер виводу 2, до якого він підключений:
pinMode (2, OUTPUT);
digitalWrite (2, HIGH);

· По символічним іменам ліній портів мікроконтролера.
Наприклад, для звернення до червоного світлодіоду можна використовувати номер лінії P1_0 порту P1, до якої він підключений:
pinMode (P1_0, OUTPUT);
digitalWrite (P1_0, HIGH).

Відповідності номерів виводів і їх можливих символічних імен, що використовуються в різних режимах, показані на рис. 1.9, 1.10





508313ed.jpg



Мал. 1.9. Нумерація, призначення та іменування висновків мікроконтролера MSP430G2452



3448fb99.jpg



Мал. 1.10. Нумерація, призначення та іменування висновків мікроконтролера MSP430G2553




Прийоми обробки натискання кнопки ілюструє приклад програми Button.
Виклик: Open -> 2.Digital/Button.
Приклад програми:


const int buttonPin = PUSH2; // номер вывода для кнопки
const int ledPin = GREEN_LED; // номер вывода для светодиода
int buttonState = 0; // переменная для чтения статуса кнопки
            void setup() {
                   pinMode(ledPin, OUTPUT); // вывод светодиода – выходной сигнал
                                // инициализация вывода кнопки на входной сигнал
                                // с подключением внутреннего подтягивающего резистора
                                // к линии источника питания
                    pinMode(buttonPin, INPUT_PULLUP);
                                }
            void loop(){
buttonState = digitalRead(buttonPin); // чтение статуса кнопки в переменную
// проверка нажатия кнопки
// если нажата
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH); // включение светодиода
}
else {
digitalWrite(ledPin, LOW); // выключение светодиода
}
}



В этой программе есть секция описаний. В ней декларируются две константы (номера выводов микроконтроллера, к которым подключены зеленый светодиод и пользовательская кнопка), и одна переменная целого типа, в которую читается текущее состояние кнопки.

В теле функции setup() инициализируются выводы микроконтроллера на выход (для светодиода) и на вход (для кнопки).

В теле функции loop() читается состояние кнопки. Если кнопка нажата, включается светодиод, иначе он выключается. Таким образом, результатом работы программы будет включение зеленого светодиода при нажатой пользовательской кнопке и выключение его при отпущенной.

При обработке нажатия кнопки возможны ложные срабатывания программы из-за дребезга контактов. Для устранения этого эффекта новое состояние кнопки считывают не сразу после его изменения, а через некоторый промежуток времени.


Пример программы устранения дребезга контактов можно загрузить в среде Energia:


Open -> 2.Digital/Debonce.


Кроме того, часто требуется реализовать реакцию программы не на статическое текущее состояние кнопки, а на изменение этого состояния. Например, реакция программы должна следовать только на нажатие кнопки, но не на отпускание.



Пример, в котором действие активизируется изменением состояния кнопки, можно загрузить:


Open -> 2.Digital/StateChangeDetection.


На цифровой выход может быть выдан прямоугольный сигнал определенной частоты с заполнением 50%. Для генерации таких сигналов используются функции tone() и noTone(). Продолжительность генерации сигнала может быть указана в аргументах функции tone(). Если длительность не указана, то сигнал будет длиться до вызова функции noTone(). Вывод может быть подключен к пьезоизлучателю либо другому излучателю для проигрывания звука.


В определенный момент времени может генерироваться только один сигнал. Если на любом выводе уже есть сигнал, то вызов

функции tone() не даст эффекта. Вызов функции tone() применительно к выводу, на котором уже есть сигнал, изменяет частоту сигнала на этом выводе.



Синтаксис функции tone():

tone(pin, frequency);

· tone(pin, frequency, duration).



Параметры:

pin: вывод, на котором должен генерироваться сигнал;

frequency: частота сигнала [Гц];

duration: длительность сигнала [мс] (опционально).

Синтаксис функции noTone(): noTone(pin).

Параметры:

pin: вывод, на котором необходимо прекратить генерацию сигнала.



6. Меры безопасности


Во время выполнения лабораторной работы необходимо:



· соблюдать правила включения и выключения вычислительной техники;

· не подключать кабели, разъемы и другую аппаратуру к компьютеру, не относящиеся к лабораторной установке;

· при включенном напряжении сети не отключать, не подключать и не трогать кабели, соединяющие различные устройства компьютера;

· в случае обнаруженной неисправности в работе оборудования или нарушения правил техники безопасности сообщить руководителю лабораторной работы;

· не пытаться самостоятельно устранить неисправности в работе аппаратуры;

· по окончании работы привести в порядок рабочее место.



ВНИМАНИЕ! При работе за компьютером необходимо помнить: к каждому рабочему месту подведено опасное для жизни напряжение. Поэтому во время работы надо быть предельно внимательным и соблюдать все требования техники безопасности!



7. Задание


7.1. Подключить отладочный модуль MSP430 LaunchPad с установленным в DIP-гнездо микроконтроллером MSP430G2452 при помощи кабеля к разъему порта USB компьютера. Запустить среду разработки Energia. Произвести настройку связи среды разработки Energia с отладочным модулем LaunchPad.

7.2. Загрузить примеры программ Blink, Button, Debonce, StateChangeDetection в среде разработки Energia. Изучить программные коды и произвести прошивку микроконтроллера для всех этих программ. Проверить экспериментально правильность работы программ на отладочном модуле LaunchPad.

7.3. Подключить пьезокерамический излучатель между выводами 20 (GND) и 15 (цифровой выход P1.7) микроконтроллера. Написать и отладить программу генерации последовательности звуковых сигналов (не менее трех), сопровождающихся миганием светодиодов. Произвести прошивку программы в микроконтроллер и проверить ее работу.

7.4. Написать и отладить программу имитации работы счетчика нажатий кнопки.



Варианты заданий:


· коэффициент счета счетчика должен быть равен номеру рабочего места плюс 2;

· переход счетчика в новое состояние должен происходить: при нажатии кнопки для нечетных рабочих мест и при отпускании кнопки – для четных.

Произвести прошивку программы в микроконтроллер и проверить ее работу.



8. Методика выполнения задания


8.1. Настройку программной среды Energia производить в соответствии с указаниями раздела 5

8.2. При изучении примеров программ использовать сведения из раздела 5 и описание языка Arduino из [6].

8.3. При выполнении пункта 7.3 использовать пример программы toneMultiple. Запуск последовательности звуковых сигналов осуществлять по нажатию кнопки. Каждый звук сопроводить миганием светодиодов – индивидуальным для каждого звука. Текст программы должен содержать подробные комментарии.

8.4. Составить таблицу состояний и переходов счетчика. Каждому состоянию счетчика поставить в соответствие индивидуальную комбинацию мигания светодиодов. Изменение состояния кнопки должно обрабатываться программно для устранения дребезга контактов. Переход счетчика в новое состояние должен сопровождаться звуковым сигналом. Текст программы должен содержать подробные комментарии.



9. Требования к содержанию и оформлению отчета


Отчет по лабораторной работе должен содержать:


· краткие теоретические сведения;

· формулировку задания на лабораторную работу;

· описание последовательности выполнения работы;

· изображения рабочих окон с текстами программ;

· тексты программ, не помещающихся в рабочем окне;

· выводы по лабораторной работе.



10. Контрольные вопросы



10.1. Каково назначение и основные характеристики микроконтроллеров MSP430?

10.2. По какой архитектуре построены микроконтроллеры MSP430?

10.3. Какое назначение имеют основные модули микроконтроллеров MSP430?

10.4. Как распределяется память микроконтроллеров MSP430 и как организовано хранение информации в ней?

10.5. Как организуется работа цифровых портов ввода-вывода в микроконтроллерах MSP430?

10.6. Каковы назначение, основные параметры и состав отладочного модуля MSP430 LaunchPad?

10.7. Каким образом отладочный модуль MSP430 LaunchPad связывается с компьютером и с устройствами ввода-вывода?

10.8. Какие программные средства используются для программирования работы микроконтроллеров MSP430?

10.9. Какими основными возможностями располагает среда разработки Energia?

10.10. Какие основные конструкции реализованы в языке программирования Arduino?

10.10. Как производится программирование цифрового ввода и вывода в среде разработки Energia?



Критерии оценки выполнения лабораторной работы

Лабораторная работа считается выполненной в том случае, если:



    студент выполнил все задания в соответствии с представленной методикой;
    результаты выполнения работы, представленные в виде отчета
7887
18:46
+2
Вот это техника, не ожидал, что Texas Instruments положит Arduino. С их то ассортиметом микроконтроллеров
и DSP и ARM да еще и Ардуиновская среда, хотя как по мне, лучше бы простой Бейсик туда интегрировали,
тогда армия разработчиков увеличилась бы в разы. thumbsup
20:54
+5
Конечно 16 битные контроллеры MSP430 по сравнению с 8-ми битными AVR да еще с их
нанопотреблением и с возможностью программирования в среде Ардуино которая у Texas Instruments
называется Energia, дает огромные возможности для творчества. Нужно здесь сообщество
Energia-Arduino создавать.
21:01
+2
А как здесь обстоят дела с размером машинного кода после компиляции? Кто-нибудь сравнивал Arduino и LaunchPad?