Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Інститут телекомунікацій, радіоелектроніки та електронної техніки
кафедра «Теоретична радіотехніка та радіовимірювання»
Звіт з лабораторних робіт
на тему:
«Формування та керування сигналами»
з дисципліни «Програмування програмно-апаратних засобів»
Підготував:
ст. групи РТ-21
Лоїк.В.А.
Прийняв:
асист. каф. ТРР
Мащак А.В.
Львів 2016р.
Лабораторна робота №4
Тема: Керуючі сигнали з байтовою конфігурацією. Світлодіодна лінійка.
Мета: навчитися формувати керуючий сигнал з байтовою конфігурацією, виводити його на світлодіодну лінійку, визначати відповідність програмно-виконуваних дій та реакцій на них.
Постановка задачі: в інтегрованому середовищі PSoC® Creator™ написати програму мовою С для проекту, який реалізовує дозволяє відповідно до свого варіанту сформувати керуючий сигнал та вивести його на світлодіодну лінійку за допомогою системи-на-чіпі CY8CKIT-042 PSoC® 4 Pioneer Kit.
Завдання: за допомогою вбудованих функцій реалізувати процес виведення на світлодіодну лінійку керуючого сигналу з циклічним зміщенням вліво або вправо.
Варіанти виконання роботи: Номер варіанту виконання роботи визначається номером робочого місця студента:
Робочі місця 1, 5, 9 – варіант 1;
Робочі місця 2, 6, 10 – варіант 2;
Робочі місця 3, 7, 11 – варіант 3;
Робочі місця 4, 8, 12 – варіант 4.
Варіант – 2.
Варіант
Операція
Напрямок зміщення
Варіант
Операція
Напрямок зміщення
1
Порозрядне доповнення
вправо
2
Порозрядне логічне множення (І)
вліво
3
Порозрядна сума за модулем два
вправо
4
Порозрядне логічне додавання (АБО)
вліво
Індивідуальне завдання:
Операція: Порозрядне логічне множення (І).
Напрямок зміщення: вліво.
Короткі відомості для виконання роботи.
Для реалізації поставленої задачі можна використати вбудовані функції:
CyDelay() – функція затримки, аргументом якої є період в мілісекундах;
LED_Write() – функція, яка задає світіння світлодіодів.
Завдання 1. Відлагодити код програми для виведення на світлодіодну лінійку почергово 2 байт:
Першу літеру прізвища латиницею за її номером у таблиці ASCII;
Число, що складається з 2 останніх цифр номера студентського квитка.
Код програми:
#include "project.h" int main(void) { CyGlobalIntEnable; /* Enable global interrupts. */ uint8 byte; uint8 a; uint8 b; a=108; b=52; byte= a & b;
for(;;) { LED_Write(a); CyDelay(1000); //// Part 1 LED_Write(b); CyDelay(1000); }
}
Завдання 2. Написати і відлагодити код програми для виконання порозрядного логічного множення із цими байтами. Забезпечити циклічне зміщення результуючого байту вліво.
Код програми:
#include "project.h" int main(void) { CyGlobalIntEnable; /* Enable global interrupts. */ uint8 byte; uint8 a; uint8 b; a=108; b=52; byte= a & b; for(;;) { CyDelay(300); if(byte&1) byte |=128; ////Part 2 LED_Write(byte); byte =byte »1; } }
Висновок: На цій лабораторній роботі я вивів на світлодіодну лінійку два байти почергово. Перший байт – це перша літера прізвища латиницею за її номером у таблиці ASCII; другий байт – це число, що складається з 2 останніх цифр номера студентського квитка. Значення першого байту – 108, значення другого – 52. Потім я написав програму для порозрядного множення цих байтів і циклічного зсуву їх вліво. Все це вивів на світлодіодну лінійку.