1 / 25

Програмування мікроконтролерів MSP430

Лекція 1 2 Судаков О.О, Радченко С.П. « Сучасна мікропроцесорна техніка ». Програмування мікроконтролерів MSP430. Особливост і програмування MSP430. Середовища створення програм IAR Embedded Workbench Energia ( аналог Aduino) Бібл іотеки С,Ассемблер Програматор MSP-EXP430G2 Launchpad

fai
Download Presentation

Програмування мікроконтролерів MSP430

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Лекція 12 Судаков О.О, Радченко С.П. «Сучасна мікропроцесорна техніка» Програмування мікроконтролерів MSP430

  2. Особливості програмування MSP430 • Середовища створення програм • IAR Embedded Workbench • Energia (аналог Aduino) • Бібліотеки • С,Ассемблер • Програматор • MSP-EXP430G2 Launchpad • Симуляція • Симуляція в схемі • Симуляція в Proteus • Програмування • Процесор • GPIO • Таймер • Компаратор • АЦП

  3. IAR Workbench • Створити WORKSPACE • Вміст для проектів • MENU->New->Workspace • Створити проект • Project->Create New Project • Одна програма • Вибираємо мову програмування • Вибираємо мікроконтролер • Project->Options->General->Device • Редагуємо файли • Симулюємо

  4. Плата MSP430 launchpad • MSP430G2553 • MSP430G2553 • MSP430F16x • 2 світлодіоди • 2 кнопки • Роз’єми • Емуляція в схемі • USB

  5. Програмування GPIO • Як правило 2 порта • P1,P2 • За замовченням виводи GPIO • Потрібні регістри • P1DIR,P2DIR – ввід чи вивід • P1OUT, P2OUT – вивід • P1IN, P2IN – ввід • P1REN, P2REN-підтягуючий резистор • P1OUT, P2OUT – куди підтягувати • P1IE, P2IE – дозвіл переривань • P1IES, P2IES – по фронту чи спаду • P1IFG, P2IFG – прапоці переривань • Процесор повинен «спати» для енергоефективності

  6. Кнопка і світлодіод – переривання

  7. Тактові генератори (BSC+) • Ввімкнення і вимкнення • DCOCTL, BCSCTL1, BCSCTL2, BCSCTL3 • Зміна частоти • Подільник частоти • DCOCTL, BCSCTL1, BCSCTL2, BCSCTL3 • Затримки циклом • Виконувати пустий цикл • Не ефективно • Генерація вихідних сигналів • регістри P1SEL,P2SEL • Приєднання генератора до виходу

  8. Приклад роботи з генераторами • #include "msp430g2553.h" • int main( void ) • { • // Stop watchdog timer to prevent time out reset • WDTCTL = WDTPW + WDTHOLD; • P1DIR=0xff; • DCOCTL=CALDCO_1MHZ; // MCLK = DCO 1MHz • BCSCTL1=CALBC1_1MHZ+DIVA_3; //ACLK=XLF1/8 • BCSCTL1+=DIVS_3; // SMCLK=DCO/8 • P1SEL |= 0x11; // P1.0,4 ACLK, SMCLK output • while(1){ • volatile unsigned int i =50000; //5*10^4 • P1OUT ^= BIT6; • while(i--); • } • }

  9. Таймер • Затримки • Запустити таймер • Почекати поки дорахує • Обробити переривання • Генерація сигналів • Різної частоти • ШІМ • Записати необхідні значення в регістри • Вимірювання часу і частоти • Захоплення від компаратора • Час між двома захопленими значеннями • Послідовні протоколи • UART • SPI • I2C

  10. Затримки таймером

  11. Генерація часових інтервалів і частот • Застосувати неперервний режим і порівняння • Низька частота – період таймера • Вищі частоти регістр CCR0, ССR1,CCR2 • Під час обробки переривань збільшують регістри

  12. Приклад – чотири частоти 1 таймер

  13. Генерація вихідних сигналів • Дорахували до значення в регістрі • Змінився вихідний сигнал • Декілька режимів • Вихідний сигнал • Приєднано до виводів регістр PxSEL1 Режими вихідних сигналів ССR1/CCR0 Reset/Set Set/Reset Toggle Set

  14. Генерація вихідного сигналу Длякоректної генерації частоти Необхідно добавити обробку переривання CCR1+=32768

  15. Генерація ШІМ • Період • Тактовим генератором • ССR0 • Скважність • CCR0,CCR1,CCR2

  16. Приклад генерації ШІМ

  17. Передавач UART • Перадача побайтна • Додаэться стартовий і стоповий біт • Запускається таймер • Переривання генерується кожен бітовий інтервал • Перемкнути виві вверх, або вниз в залежності від біта • В обробнику переривання зсув байта на 1 біт вліво

  18. Передача байта

  19. Обробник переривання

  20. Використання

  21. Вимірювання частоти • Рахуємо кількість імпульсів одної частоти за декілька періодів іншої частоти • RC генератор – ВЧ не стабільний • Кварцевий генератор –НЧ стабільний • Запам’ятовуємо значення • Масштабуємо частоту • Захоплюємо 2 рази по фронту кварцового генератора • 1 Таймер на UART • Він же для захоплення • Обережно race condition!

  22. Прикладпрограми вимырювання

  23. Приклад обробника переривань

  24. АЦП • Ввімкнути • Встановити опорну напругу • Встановити час sample and hold • Створити обробник переривань • Запустити перетворення • Почекати, поки перетворення закінчиться

  25. Приклад АЦП

More Related