Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Інститут телекомунікацій, радіоелектроніки та електронної техніки
кафедра «Теоретична радіотехніка та радіовимірювання»
Звіт з лабораторних робіт
на тему:
«Виведення інформації на LCD-дисплей»
з дисципліни «Програмування програмно-апаратних засобів»
/
Підготував:
ст. групи РТ-21
Лоїк.В.А.
Прийняв:
асист. каф. ТРР
Мащак А.В.
Львів 2016р.
Мета: навчитися виводити інформацію на LCD-дисплей.
Постановка задачі: в інтегрованому середовищі PSoC® Creator™ написати програму мовою С для проекту, який реалізовує виведення ім’я та прізвища студента на LCD-дисплей за допомогою системи-на-чіпі CY8CKIT-042 PSoC® 4 Pioneer Kit.
Завдання:
за допомогою вбудованих функцій для LCD-дисплея та функції затримки реалізувати процес виведення на LCD-дисплей ім’я студента у першому рядку та прізвища студента у другому рядку на кирилиці використовуючи функції LCD_Char_Position та LCD_Char_PutChar.
Реалізувати виведення ім’я або прізвища з циклічним зміщенням вліво або вправо на один знак згідно заданого варіанту. Виведення імені або прізвища, якщо воно не зміщується, реалізувати окремою функцією.
Варіанти виконання роботи
Номер варіанту виконання роботи визначається номером робочого місця студента:
Робочі місця 1, 5, 9 – варіант 1;
Робочі місця 2, 6, 10 – варіант 2;
Робочі місця 3, 7, 11 – варіант 3;
Робочі місця 4, 8, 12 – варіант 4.
Варіант
Виведення ім’я та прізвища студента
Варіант
Виведення ім’я та прізвища студента
напрямок
зміщення
напрямок
Зміщення
1
вліво
прізвище
2
вліво
ім’я
3
вправо
прізвище
4
вправо
ім’я
Індивідуальне завдання: напрямок – вліво, зміщення – ім’я.
Короткі відомості для виконання роботи
Для реалізації поставленої задачі можна використати вбудовані функції LCD-дисплея:
Функція
Опис
LCD_Char_LoadCustomFonts(LCD_
Char_customFonts)
Loads custom characters into the LCD module
Завантажує знаки користувача в модуль LCD
LCD_Char_Start()
Starts the module and loads custom character set to LCD, if it was defined.
Запускає модуль LCD і завантажує знаки користувача в модуль LCD
LCD_Char_Stop()
Turns off the LCD
Вимикає модуль LCD
LCD_Char_DisplayOn()
Turns on the LCD module’s display
Вмикає дисплей модуля LCD
LCD_Char_DisplayOff()
Turns off the LCD module’s display
Вимикає дисплей модуля LCD
LCD_Char_PrintString(char8 const string[])
Prints string to the screen, character by character
Виводить рядок знак за знаком
LCD_Char_PutChar(char8 character)
Sends a single character to the LCD module data register at the current position.
Надсилає одиничний знак в регістр даних модуля LCD на поточну позицію
LCD_Char_Position(uint8 row, uint8 column)
Sets the cursor’s position to match the row and column supplied
Виставляє курсор на позицію відповідно до рядка і стовпчика
LCD_Char_WriteData (uint8 dByte)
Writes a single byte of data to the LCD module data register
Записує одиничний байт даних в в регістр даних модуля LCD
LCD_Char_ClearDisplay()
Clears the data from the LCD module’s screen
Очищує дані з екрану модуля LCD
LCD_Char_PrintInt8(uint8 value)
Prints a two-ASCII-character hex representation of the 8-bit value to the Character LCD module.
Виводить два ASCII-знаки у шістнадцятковому представлені 8-бітним значенням на модуль LCD
LCD_Char_PrintInt16(uint16 value)
Prints a four-ASCII-character hex representation of the 16-bit value to the Character LCD module.
Виводить чотири ASCII-знаки у шістнадцятковому представлені 16-бітним значенням на модуль LCD
LCD_Char_PrintInt32(uint16 value)
Prints an uint32 hexadecimal number as eight ASCII characters.
Виводить 32-розрядне шістнадцяткове число як вісім ASCII-знаків
LCD_Char_PrintNumber(uint16 value)
Prints the decimal value of a 16-bit value as ASCII characters
Виводить десяткове значення 16-бітного числа як ASCII-знаки
LCD_Char_PrintU32Number(uint32 value)
Prints an uint32 value as decimal value.
Виводить 32-бітне чиcло як десяткове значення
LCD_Char_Init()
Performs initialization required for component’s normal work
Виконує ініціалізацію, необхідну для нормальної роботи компонента
LCD_Char_Enable()
Turns on the display
Вмикає дисплей
Виконання завдання:
/* ======================================== * * 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" int main(void) { CyGlobalIntEnable; uint8 i = 0; char surname [4] = {LCD_CUSTOM_1,'O',LCD_CUSTOM_2,'K'}; char name [7] = {'B',LCD_CUSTOM_3,'T','A',LCD_CUSTOM_1,LCD_CUSTOM_3,LCD_CUSTOM_4}; for(;;) { LCD_Start(); LCD_Position(0,0); LCD_PrintString(surname); LCD_Position(1,i); LCD_PrintString(name);
if(i<=7) { LCD_Position(1,0); LCD_PrintString(&name[16-i]); } i--; if(i==7)i=0; CyDelay(200); LCD_ClearDisplay(); } }
/
/
Висновок: На цій лабораторній я навчився виводити інформацію на LCD-дисплей.
Я вивів своє ім’я та прізвище. Потім організував зміщення мого ім’я.