Современная электроника №7/2021
ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 62 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 6 2021 unsigned char *pimg) – функция ко- пирования с экрана фрагмента изо- браженияширинойwidth и высотой height, верхний левый угол которого размещён в точке с координатами left, top, где *pimg – указатель на перемен- ную, в которой будут храниться ско- пированные графические данные; ● glcd_setlinestyle(unsigned char thickness, unsigned char bit_pattern) – функция устанавливает стиль рисова- ния линий на экране графического дисплея, где thickness – толщина ли- ний в пикселях, bit_pattern – стиль ли- ний. Значения аргумента bit_pattern: GLCD_LINE_SOLID – сплошная ли- ния, GLCD_LINE_DOT_SMALL – точеч- ная линия, GLCD_LINE_DOT_LARGE – жирная точечная линия; ● glcd_setlinethick(unsigned char thickness) – функция устанавливает толщину линий thickness в пикселях; ● glcd_line(GLCDX_t x0, GLCDY_t y0, GLCDX_t x1, GLCDY_t y1) – функция отрисовывает на экране линию, где х 0, у 0 – координаты ее начала, х 1, у 1 – ко- ординаты конца; ● glcd_rectangle(GLCDX_t left, GLCDY_t top, GLCDX_t right, GLCDY_t bottom) – функция отрисовывает на экране пря- моугольник, где left, top– координаты его левого верхнего угла, right bottom– координаты правого нижнего угла; ● glcd_rectround(GLCDX_t left, GLCDY_t top, GLCDDX_t width, GLCDDY_t height, GLCDRAD_t radius) –функция отрисо- вывает на экране прямоугольник, где left, top – координаты его левого верх- него угла, right bottom– координаты правого нижнего угла, radius – ради- ус скругления углов прямоугольника; ● glcd_circle(GLCDX_t x, GLCDY_t y, GLCDRAD_t radius) – функция отри- совывает окружность, где х , у – ко- ординаты её центра, radius – радиус окружности; ● glcd_putpixel(GLCDX_t x, GLCDY_t y, GLCDCOL_t color) –функция закраши- вает на экране пиксель цветом color с координатами х , у . Для монохромных дисплеев параметр color может при- нимать одно из двух значений: 0xffff (черный), 0х0000 (цвет фона экрана); ● glcd_init() – инициализация графи- ческого дисплея. Для построения изображения на экра- не графического дисплея использует- ся простая система координат. Отсчёт начинается от верхнего левого угла экра- на, который имеет координаты0,0. Зна- чение х увеличивается слева направо, значение y увеличивается сверху вниз. Для вывода изображения на экран дисплея его необходимо конвертиро- вать в массив данных, для чего удоб- но применить утилиту LCD Vision (см. рис. 13), которую используют для соз- дания изображений и экспорта их кода в CodeVisionAVR. Изображения могут быть импортированы в LCD Vision из популярных графических форматов (таких как BMP, JPG, GIF, PNG, ICO, WMF, EMF) для последующей генерации их кода или созданы с нуля, для чего при- меняют команду основного меню утили- ты File/New Image. В результате выпол- нения команды открывается окно New Image (см. рис. 14), в котором в меню Target LCD Controller из выпадающе- го списка выбирают целевой контрол- лер графического дисплея с нужными характеристиками. В нашем примере это: тип контроллера – KS0108, разре- шение экрана – 128 × 64, инверсия вхо- дов активации сегментов дисплея – /CS1, /CS2). В поле Image Size указы- вают размер изображения в пикселях (в нашем примере ширина Width и высота Height изображения 16 пиксе- лей). Затем нажимают на кнопку OK. Далее в LCDVision в поле Image Zoom Factor выбирают масштаб окна рабо- чего поля (в нашем примере устано- вим значение 1000% для максимально- го приближения рисунка), в котором с помощьюинструментов: Set pixel (уста- новить пиксель), Erase pixel (стереть пиксель), Fill area (заполнить область), Draw line (нарисовать линию), Draw Рис. 13. Рисунок размером 16 × 16 пикселей и его код в окне Export Preview утилиты LCD Vision Рис. 14. Окно New Image утилиты LCD Vision Рис. 15. Текстовая информация, записанная в размещенном на карте памяти файле 3.txt
RkJQdWJsaXNoZXIy MTQ4NjUy