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

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

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

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

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

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

Міністерство освіти і науки України Національний університет «Львівська політехніка» Інститут телекомунікацій, радіоелектроніки та електронної техніки кафедра «Теоретична радіотехніка та радіовимірювання» Звіт з лабораторних робіт на тему: «Розробка проектів у середовищі 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 букв мого прізвища, згідно з азбукою Морзе. Програма була написана звичайним кодом, з використанням функції для кожної бувки і з загальною функцією для всіх букв.
Антиботан аватар за замовчуванням

20.04.2017 17:36

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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