Pull to refresh

Об использование sed1335 в микроконтроллерах stm32f103

Reading time2 min
Views20K
Ни для кого не секрет что одним из основных интересов вывода информации у приборов является дисплей. В основном на МК подключат символьные дисплеи на основе hd44780. Редким исключением составляется графические дисплеи графические дисплеи WG12864A разрешением 128*64. Но что делать если нужно больше.




И вот я заказал дисплей WG320240B0-FFH-VZ-000. Даташит.

Предложил эту модель мне поставщик. Я сразу не проверил. Подсветка идет LCD. Нужно выбирать LED, так как найти драйвер DC-AC я так и не смог.

Дисплей заказан, пора его чем то заводить. В качестве буфера применил stm32f103.

Тут началось гугление. На русском языке я особо ничего так и не нашел.
Но понял что надо копать в сторону

SED1335
SED1335F-многоцелевая интегральная схема контролера ЖКД, который может показывать текст и графику на жидкокристаллическом дисплее средних размеров. S-MOS рекомендует, чтобы в новых проектах использовались SED1335, так как SED1330 будет постепенно заменены на SED1335.

На брел я на сайт en.radzio.dxp.pl/ssd1963 где была скачана библиотека sed1335lib.zip
Добавил я в свой проект
graphic.c 
graphic.h
SED1335-STM32.c
sed1335.c
sed1335.h


в Main()
добавил

GLCD_Initialize();
GLCD_ClearGraphic();	
GLCD_CircleSS(80,80,60,-90,90);
GLCD_ClearText();
GLCD_TextGoTo(7,12);
GLCD_WriteText("5.6 kg/cm2");

И дисплей у меня заработал.

Так как подсветки еще нету, то выложу чужие фото



Кратко о составе и функциях данной библиотеки

// раздел настройки драйвера
#define SED1335_PORT GPIOA   
#define SED1335_A0	GPIO_Pin_10
#define SED1335_WR	GPIO_Pin_8
#define SED1335_RD	GPIO_Pin_9
#define SED1335_CS	GPIO_Pin_11
#define SED1335_RES	GPIO_Pin_12
#define SED1335_D0   0


// команды записи и чтения данных в дисплей
void GLCD_InitPorts(void)
void GLCD_WriteData(unsigned char dataToWrite)
void GLCD_WriteCommand(unsigned char commandToWrite)
unsigned char GLCD_ReadData(void)
unsigned char GLCD_ReadByteFromROMMemory(unsigned char * ptr)


Графическая часть и текстовая часть
void GLCD_Rectangle(unsigned int x, unsigned int y, unsigned int b, unsigned int a);//Прямоугольник
void GLCD_Circle(unsigned int cx, unsigned int cy ,unsigned int radius); //Окружность
void GLCD_Line(int X1, int Y1,int X2,int Y2); //Линия

void GLCD_SetPixel(unsigned int x,unsigned int y, int color) // установить пиксель в черный или белый цвет
void GLCD_WriteText(char * tekst) // отправка строки в дисплей
void GLCD_WriteTextP(char * tekst), // отправка строки в дисплей
void GLCD_SetCursorAddress(unsigned int address) // Установка курсора
void GLCD_TextGoTo(unsigned char x, unsigned char y) //, Смещение курсора
void GLCD_GraphicGoTo(unsigned int x, unsigned int y) // смещение кисти
void GLCD_ClearText(void), // очистка текста
void GLCD_ClearGraphic(void), // очистка графики
void GLCD_Bitmap(char * bmp, int x, int y, int width, int height) // вывести картинку



Спасибо за внимание
Tags:
Hubs:
Total votes 21: ↑13 and ↓8+5
Comments10

Articles