DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Розробка проектів у середовищі PSoC® Creator™ з використанням функцій в коді програми

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Факультет:
Радіотехніка
Кафедра:
Кафедра теоретичної радіотехніки та радіовимірювань

Інформація про роботу

Рік:
2017
Тип роботи:
Лабораторна робота
Предмет:
Програмування
Група:
РТ-21
Коротко про документ

Про що ця робота

У звіті розглядається розробка проєктів у середовищі PSoC Creator з використанням функцій мови C. Метою роботи є програмування передачі перших літер прізвища азбукою Морзе за допомогою світлових і звукових сигналів.

У роботі розглядаються

  • Програмування в PSoC Creator
  • Функції в мові C
  • Азбука Морзе
  • Мікроконтролери PSoC 4
  • Структурне програмування
  • Апаратні порти вводу-виводу

Зміст і розділи

  1. Мета роботи
  2. Постановка задачі
  3. Короткі відомості для виконання роботи
  4. Організація програми для відтворення сигналу однієї літери
  5. Організація програми для відтворення сигналу однієї літери окремими функціями
  6. Організація програми для відтворення сигналу однієї літери окремою функцією
  7. Висновок
Для кого:Студенти технічних спеціальностей, які вивчають програмування мікроконтролерів та програмно-апаратних засобів.
Викладачі:Мащак А. В.

Ключові поняття

PSoC Creatorмово Cазбука Морзефункціясвітлодіодпорт вводу-виводуциклструктурне програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська політехніка» Інститут телекомунікацій, радіоелектроніки та електронної техніки кафедра «Теоретична радіотехніка та радіовимірювання» Звіт з лабораторних робіт на тему: «Розробка проектів у середовищі PSoC® Creator™ з використанням функцій в коді програми» з дисципліни «Програмування програмно-апаратних засобів»  Підготував: ст. групи РТ-21 Лоїк.В.А. Прийняв: асист. каф. ТРР Мащак А.В. Львів 2016р. Лабораторна робота №2 Розробка проектів у середовищі PSoC® Creator™ з використанням функцій в коді програми Мета: навчитися застосовувати функції мови С, як основні елементи структурного програмування для створення проектів в інтегрованому середовищі PSoC® Creator™. Постановка задачі: в інтегрованому середовищі PSoC® Creator™ написати програму з використанням функцій мови С для проекту, який реалізовує передачу перших трьох літер прізвища студента азбукою Морзе світловим та звуковим сигналами програмованою системою на чіпі CY8CKIT-042 PSoC® 4 Pioneer Kit. Короткі відомості для виконання роботи Порти вводу/виводу світлодіодів: P0.2 – зеленого; P0.3 – синього; P1.6 – червоного. Для реалізації поставленої задачі необхідно використати вбудовані функції: SW_Read() – функція зчитування рівня сигналу з кнопки SW. Якщо функція SW_Read() повертає 0, то це означає, що кнопка була натиснута. CyDelay() – функція затримки, аргументом, якої є період в мілісекундах. Buzzer_Write() – функція, яка вмикає/вимикає баззер: Buzzer_Write(1) – баззер видає звуковий сигнал; Buzzer_Write(0) – баззер не видає звуковий сигнал. LED_Write() – функція, яка задає світіння діода: LED_Write(0) – світлодіод світиться; LED_Write(1) – світлодіод не світиться; Start() – функція, яка одночасно вмикає баззер та світіння світлодіода. Stop() – функція, яка одночасно вимикає баззер та світіння світлодіода. Порядок виконання роботи 1. Організація програми для відтворення сигналу однієї літери. /* ========================================  *  * Copyright YOUR COMPANY, THE YEAR  * All Rights Reserved  * UNPUBLISHED, LICENSED SOFTWARE.  *  * CONFIDENTIAL AND PROPRIETARY INFORMATION  * WHICH IS THE PROPERTY OF your company.  *  * ========================================  */  #include <project.h>  #define PAUSE 450 /* gap between letters is three units */  #define DOT 150 /* dot is one unit */  #define LINE 450 /* dash is three units */  #define PAUSE_C 150 /* inter-element gap between the dots and dashes */  void Start(void); /* Function which start lighting a LED blinking and Buzzer sounding */  void Stop (void); /* Function which stop lighting a LED blinking and Buzzer sounding */  int main()  {  for(;;)  {  if (SW_Read() == 0)  {  /* char L - "*-**" */  CyDelay(PAUSE );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  /* char O - "- - -" */  CyDelay(PAUSE );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  /* char I - " * *" */  CyDelay(PAUSE );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  }  }  }  void Start (void)  {  Buzzer_Write(1);  LED_Write(0);  }  void Stop (void)  {  Buzzer_Write(0);  LED_Write(1);  } 2. Організація програми для відтворення сигналу однієї літери окремими функціями. #include <project.h>  #define PAUSE 450 /* gap between letters is three units */  #define DOT 150 /* dot is one unit */  #define LINE 450 /* dash is three units */  #define PAUSE_C 150 /* inter-element gap between the dots and dashes */  void Start(void); /* Function which start lighting a LED blinking and Buzzer sounding */  void Stop (void); /* Function which stop lighting a LED blinking and Buzzer sounding */  void L (void);  void O (void);  void I (void);  int main()  {  for(;;)  {  if (SW_Read() == 0)  {  /* char L - "*-**" */  L ();  /* char O - "- - -" */  O ();  /* char I - " * *" */  I ();  }  }  }  void Start (void)  {  Buzzer_Write(1);  LED_Write(0);  }  void Stop (void)  {  Buzzer_Write(0);  LED_Write(1);  }  void L (void)  { CyDelay(PAUSE );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  }  void O (void)  { CyDelay(PAUSE );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  }  void I (void)  { CyDelay(PAUSE );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  }  /* [] END OF FILE */ 3. Організація програми для відтворення сигналу однієї літери окремою функцією. /* ========================================  *  * Copyright YOUR COMPANY, THE YEAR  * All Rights Reserved  * UNPUBLISHED, LICENSED SOFTWARE.  *  * CONFIDENTIAL AND PROPRIETARY INFORMATION  * WHICH IS THE PROPERTY OF your company.  *  * ========================================  */  #include <project.h>  #define PAUSE 450 /* gap between letters is three units */  #define DOT 150 /* dot is one unit */  #define LINE 450 /* dash is three units */  #define PAUSE_C 150 /* inter-element gap between the dots and dashes */  void Start(void); /* Function which start lighting a LED blinking and Buzzer sounding */  void Stop (void); /* Function which stop lighting a LED blinking and Buzzer sounding */  void L (void);  void O (void);  void I (void);  char symbol;  void blink (uint8 symbol);  int main()  {  for(;;)  {  if (SW_Read() == 0)  {  blink ('L');  blink ('O');  blink ('I');  }  }  }  void Start (void)  {  Buzzer_Write(1);  LED_Write(0);  }  void Stop (void)  {  Buzzer_Write(0);  LED_Write(1);  }  void L (void)  { CyDelay(PAUSE );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  }  void O (void)  { CyDelay(PAUSE );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(LINE);  Stop();  }  void I (void)  { CyDelay(PAUSE );  Start();  CyDelay(DOT);  Stop();  CyDelay(PAUSE_C );  Start();  CyDelay(DOT);  Stop();  }  void blink (uint8 symbol )  {  if(symbol == 'L') { L (); }  if(symbol == 'O') { O (); }  if(symbol == 'I') { I (); }  }  /* [] END OF FILE */ Висновок : на цій лабораторній роботі ми навчилися організовувати подання сигналу за допомогою як звичайного способу, так і організовувати це за допомогою функцій, що спрощують сприйняття коду програми. Я написав програму, яка подає сигнал, що відповідає коду перших 3 букв мого прізвища, згідно з азбукою Морзе. Програма була написана звичайним кодом, з використанням функції для кожної бувки і з загальною функцією для всіх букв.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!