Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Программирование ЖК дисплея

Характеристики дисплея
Программирование ЖК-дисплеяЮжанин Виктор ВладимировичКаф. Автоматизации технологических процессов Характеристики дисплея Функции инициализации и очисткиvoid InitTFT();// Инциализация дисплеяvoid ClearScreen() // Очистка экранаvoid SetOrientation(int Функции отрисовки линийvoid HLine(byte x0, byte x1, byte y, int color);// горизонтальная Функции отрисовки прямоугольниковvoid DrawRect(byte x0, byte y0, byte x1, byte y1, int Функции отрисовки окружностей и эллипсовvoid Circle(byte xPos, byte yPos, byte radius, int Функции вывода текстаvoid GotoXY(byte x, byte y);// задает позицию курсора (не отображается), где 0 Кодировка ASCII Кодировка Windows-1251 Строки – массив символов, заканчивающийся нулемint main() {	// массив символов, заканчивающийся нулем	char Более удобный способ задания строкint main() {	// массив символов, заканчивающийся нулем	char string2[] Нормальный способ задания строкint main() {	char string3[] = “AT-08-2”;}Последовательность символов-строка записывается в Зачем нужен ноль в конце строкиКак передать строку в функцию, которая, например, Стандартная библиотека C Для строки полезны модули: Определение длины строки: функция strlen()Форматированный Форматированный вывод (функция printf)#include #include // собирать проект с опциями:// -Wl,-u,vfprintf -lprintf_flt Что теперь делать со строками?Можно вывести на дисплейЭто делается с помощью специальной
Слайды презентации

Слайд 2 Характеристики дисплея

Характеристики дисплея

Слайд 3 Функции инициализации и очистки
void InitTFT();
// Инциализация дисплея

void ClearScreen()

Функции инициализации и очисткиvoid InitTFT();// Инциализация дисплеяvoid ClearScreen() // Очистка экранаvoid


// Очистка экрана

void SetOrientation(int degrees);
// Задает поворот дисплея на

0, 90, 180, 270 градусов

Слайд 4 Функции отрисовки линий
void HLine(byte x0, byte x1, byte

Функции отрисовки линийvoid HLine(byte x0, byte x1, byte y, int color);//

y, int color);
// горизонтальная линия заданного цвета

void VLine(byte x,

byte y0, byte y1, int color);
// вертикальная линия заданного цвета

void Line(int x0, int y0, int x1, int y1, int color);
// линия произвольного положения на основе алгоритма Брезенхэма
// https://ru.wikipedia.org/wiki/Алгоритм_Брезенхэма

Слайд 5 Функции отрисовки прямоугольников
void DrawRect(byte x0, byte y0, byte

Функции отрисовки прямоугольниковvoid DrawRect(byte x0, byte y0, byte x1, byte y1,

x1, byte y1, int color);
// прямоугольник заданного цвета

void FillRect(byte

x0, byte y0, byte x1, byte y1, int color);
// закрашенный прямоугольник заданного цвета

void RoundRect(byte x0, byte y0, byte x1, byte y1, byte r, int color);
// прямоугольник со скругленными углами (r - радиус скругления)
// координаты: левый верхний угол = x0,y0; нижний правый угол = x1,y1

Слайд 6 Функции отрисовки окружностей и эллипсов
void Circle(byte xPos, byte

Функции отрисовки окружностей и эллипсовvoid Circle(byte xPos, byte yPos, byte radius,

yPos, byte radius, int color);
// окружность с центром в

заданной точке, с заданным радиусом и цветом

void FillCircle(byte xPos, byte yPos, byte radius, int color);
// круг с центром в заданной точке, с заданным радиусом и цветом

void CircleQuadrant(byte xPos, byte yPos, byte radius, byte quad, int color);
// отрисовывает окружность в заданном квадранте с заданным радиусом и цветом
// квадрант кодируется битами в quad, причем квадранты нумерются сверху вниз
// бит 0: квадрант I (нижний правый)
// бит 1: квадрант IV (верхний правый)
// бит 2: квадрант II (нижний левый)
// бит 3: квадрант III (верхний левый)

void Ellipse(int x0, int y0, int width, int height, int color);
// эллипс заданной ширины и высоты
// Алгоритм Брезенхэма для окружностей
// https://ru.wikipedia.org/wiki/Алгоритм_Брезенхэма
// Особенность: небольой разрыв между частями узких эллипсов

void FillEllipse(int xPos, int yPos, int width, int height, int color);
// закрашенный эллипс заданной ширины и высоты

Слайд 7 Функции вывода текста
void GotoXY(byte x, byte y);
// задает

Функции вывода текстаvoid GotoXY(byte x, byte y);// задает позицию курсора (не отображается), где 0

позицию курсора (не отображается), где 0

задает позицию курсора в начало заданной строки, где 0
void WriteChar(char ch, int color);
// выводит символ заданного цвета в текущей позиции курсора

void WriteInt(int i);
// выводит число заданного цвета в текущей позиции курсора

void WriteHex(int i);
// выводит число заданного цвета в шестнадцатеричном коде в
// текущей позиции курсора

void WriteString(char *text, int color);
// выводит строку заданного цвета в текущей позиции курсора

Слайд 8 Кодировка ASCII

Кодировка ASCII

Слайд 9 Кодировка Windows-1251


Кодировка Windows-1251

Слайд 10 Строки – массив символов, заканчивающийся нулем
int main() {
//

Строки – массив символов, заканчивающийся нулемint main() {	// массив символов, заканчивающийся

массив символов, заканчивающийся нулем
char string1[] = {0x41, 0x54, 0x2D,

0x30, 0x38, 0x2D, 0x32, 0x00};
}

Что за строка записана в string1?


Слайд 11 Более удобный способ задания строк
int main() {
// массив

Более удобный способ задания строкint main() {	// массив символов, заканчивающийся нулем	char

символов, заканчивающийся нулем
char string2[] = {‘A’, ‘T’, ‘-’, ‘0’,

‘8’, ‘-’, ‘2’, 0x00};
}

Вместо кода символа можно писать сам символ в одинарных кавычках


Слайд 12 Нормальный способ задания строк
int main() {
char string3[] =

Нормальный способ задания строкint main() {	char string3[] = “AT-08-2”;}Последовательность символов-строка записывается

“AT-08-2”;
}
Последовательность символов-строка записывается в двойных кавычках
- Задан ли здесь

ноль на конце?

- И все-таки, зачем он нужен?

Слайд 13 Зачем нужен ноль в конце строки
Как передать строку

Зачем нужен ноль в конце строкиКак передать строку в функцию, которая,

в функцию, которая, например, считает длину строки?
int main() {
char

string3[] = "AT-08-2";

char* first_symbol = &string3[0]; // указатель на первый символ строки
int leng = string_length(first_symbol);
}

- Как понять длину строки по указателю на первый символ?
- А что, если продвигаться вперед по указателю, пока не поймем, что он указывает на 0?

int string_length(char* string) {
int length = 0;
for (char* current_char = string; *current_char != 0; ++current_char)
{
length++;
}
return length;
}


Слайд 14 Стандартная библиотека C
Для строки полезны модули:

Стандартная библиотека C Для строки полезны модули: Определение длины строки: функция


Определение длины строки: функция strlen()
Форматированный вывод строк
Много других полезных

функций
Описание http://www.nongnu.org/avr-libc/user-manual/modules.html



Слайд 15 Форматированный вывод (функция printf)
#include
#include
// собирать проект

Форматированный вывод (функция printf)#include #include // собирать проект с опциями:// -Wl,-u,vfprintf

с опциями:
// -Wl,-u,vfprintf -lprintf_flt -lm
int main() {
char str[20];
sprintf(str, "%u",

-1); // беззнаковое число
sprintf(str, "%7d", 15); // знаковое целое на 7 знакомест
sprintf(str, "%10.2f", -24.3); // вещественное на 10 целых и 2 дробных знакоместа
sprintf(str, "%x", 255); // 16-разрядное представление целого числа
}

  • Имя файла: programmirovanie-zhk-displeya.pptx
  • Количество просмотров: 214
  • Количество скачиваний: 0