The Firest Version
This commit is contained in:
153
HARDWARE/LCD/lcd.h
Normal file
153
HARDWARE/LCD/lcd.h
Normal file
@@ -0,0 +1,153 @@
|
||||
#ifndef __LCD_H
|
||||
#define __LCD_H
|
||||
#include "sys.h"
|
||||
#include "stdlib.h"
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ѧϰʹ<CFB0>ã<EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD><CEBA><EFBFBD>;
|
||||
//ALIENTEK STM32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//2.8<EFBFBD><EFBFBD>/3.5<EFBFBD><EFBFBD>/4.3<EFBFBD><EFBFBD>/7<><37> TFTҺ<54><D2BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IC<49>ͺŰ<CDBA><C5B0><EFBFBD>:ILI9341/NT35310/NT35510/SSD1963<36><33>
|
||||
//<2F><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>@ALIENTEK
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳:www.openedv.com
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2016/1/6
|
||||
//<2F>汾<EFBFBD><E6B1BE>V1.4
|
||||
//<2F><>Ȩ<EFBFBD><C8A8><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
||||
//Copyright(C) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿƼ<D3BF><C6BC><EFBFBD><EFBFBD><EFBFBD>˾ 2014-2024
|
||||
//All rights reserved
|
||||
//********************************************************************************
|
||||
//<2F><><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
||||
//V1.1
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGBLCD<43><44><EFBFBD><EFBFBD>֧<EFBFBD><D6A7>(ʹ<><CAB9>LTDC).
|
||||
//V1.2 20211111
|
||||
//1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ST7789<38><39><EFBFBD><EFBFBD>IC<49><43>֧<EFBFBD><D6A7>
|
||||
//V1.3 20211208
|
||||
//<2F><EFBFBD>NT5510 ID<49><44>ȡ<EFBFBD><C8A1>ʽ,<2C><>Ϊ<EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>Կ,Ȼ<><C8BB><EFBFBD><EFBFBD>ȡC500<30><30>C501,<2C>Ӷ<EFBFBD><D3B6><EFBFBD>ȡ<EFBFBD><C8A1>ȷ<EFBFBD><C8B7>ID(0X5510)
|
||||
//V1.4 20211222
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NT5510 ID<49><44>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C501ָ<31><EFBFBD><EEA3A9><EFBFBD><EFBFBD>SSD1963<36><EFBFBD><F3B4A5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ID<49><44><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//LCD<43><44>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
typedef struct
|
||||
{
|
||||
u16 width; //LCD <20><><EFBFBD><EFBFBD>
|
||||
u16 height; //LCD <20>߶<EFBFBD>
|
||||
u16 id; //LCD ID
|
||||
u8 dir; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
u16 wramcmd; //<2F><>ʼдgramָ<6D><D6B8>
|
||||
u16 setxcmd; //<2F><><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
u16 setycmd; //<2F><><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
|
||||
}_lcd_dev;
|
||||
|
||||
//LCD<43><44><EFBFBD><EFBFBD>
|
||||
extern _lcd_dev lcddev; //<2F><><EFBFBD><EFBFBD>LCD<43><44>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
||||
//LCD<43>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD>ɫ
|
||||
extern u32 POINT_COLOR;//Ĭ<>Ϻ<EFBFBD>ɫ
|
||||
extern u32 BACK_COLOR; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ.Ĭ<><C4AC>Ϊ<EFBFBD><CEAA>ɫ
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
//-----------------MCU<43><55> LCD<43>˿ڶ<CBBF><DAB6><EFBFBD>----------------
|
||||
//LCD<43><44><EFBFBD><EFBFBD> PB5
|
||||
#define LCD_LED PBout(5)
|
||||
//LCD<43><44>ַ<EFBFBD>ṹ<EFBFBD><E1B9B9>
|
||||
typedef struct
|
||||
{
|
||||
vu16 LCD_REG;
|
||||
vu16 LCD_RAM;
|
||||
} LCD_TypeDef;
|
||||
//ʹ<><CAB9>NOR/SRAM<41><4D> Bank1.sector4,<2C><>ַλHADDR[27,26]=11 A18<31><38>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱSTM32<33>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һλ<D2BB><CEBB><EFBFBD><EFBFBD>!
|
||||
#define LCD_BASE ((u32)(0x60000000 | 0x0007FFFE))
|
||||
#define LCD ((LCD_TypeDef *) LCD_BASE)
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//ɨ<>跽<EFBFBD><E8B7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define L2R_U2D 0 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
|
||||
#define L2R_D2U 1 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
|
||||
#define R2L_U2D 2 //<2F><><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>,<2C><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
|
||||
#define R2L_D2U 3 //<2F><><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>,<2C><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
|
||||
|
||||
#define U2D_L2R 4 //<2F><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define U2D_R2L 5 //<2F><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>,<2C><><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>
|
||||
#define D2U_L2R 6 //<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define D2U_R2L 7 //<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>,<2C><><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>
|
||||
|
||||
#define DFT_SCAN_DIR L2R_U2D //Ĭ<>ϵ<EFBFBD>ɨ<EFBFBD>跽<EFBFBD><E8B7BD>
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
||||
#define WHITE 0xFFFF
|
||||
#define BLACK 0x0000
|
||||
#define BLUE 0x001F
|
||||
#define BRED 0XF81F
|
||||
#define GRED 0XFFE0
|
||||
#define GBLUE 0X07FF
|
||||
#define RED 0xF800
|
||||
#define MAGENTA 0xF81F
|
||||
#define GREEN 0x07E0
|
||||
#define CYAN 0x7FFF
|
||||
#define YELLOW 0xFFE0
|
||||
#define BROWN 0XBC40 //<2F><>ɫ
|
||||
#define BRRED 0XFC07 //<2F>غ<EFBFBD>ɫ
|
||||
#define GRAY 0X8430 //<2F><>ɫ
|
||||
//GUI<55><49>ɫ
|
||||
|
||||
#define DARKBLUE 0X01CF //<2F><><EFBFBD><EFBFBD>ɫ
|
||||
#define LIGHTBLUE 0X7D7C //dz<><C7B3>ɫ
|
||||
#define GRAYBLUE 0X5458 //<2F><><EFBFBD><EFBFBD>ɫ
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫΪPANEL<45><4C><EFBFBD><EFBFBD>ɫ
|
||||
|
||||
#define LIGHTGREEN 0X841F //dz<><C7B3>ɫ
|
||||
//#define LIGHTGRAY 0XEF5B //dz<><C7B3>ɫ(PANNEL)
|
||||
#define LGRAY 0XC618 //dz<><C7B3>ɫ(PANNEL),<2C><><EFBFBD>屳<EFBFBD><E5B1B3>ɫ
|
||||
|
||||
#define LGRAYBLUE 0XA651 //dz<><C7B3><EFBFBD><EFBFBD>ɫ(<28>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>ɫ)
|
||||
#define LBBLUE 0X2B12 //dz<><C7B3><EFBFBD><EFBFBD>ɫ(ѡ<><D1A1><EFBFBD><EFBFBD>Ŀ<EFBFBD>ķ<EFBFBD>ɫ)
|
||||
|
||||
void LCD_Init(void); //<2F><>ʼ<EFBFBD><CABC>
|
||||
void LCD_DisplayOn(void); //<2F><><EFBFBD><EFBFBD>ʾ
|
||||
void LCD_DisplayOff(void); //<2F><><EFBFBD><EFBFBD>ʾ
|
||||
void LCD_Clear(u32 Color); //<2F><><EFBFBD><EFBFBD>
|
||||
void LCD_SetCursor(u16 Xpos, u16 Ypos); //<2F><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD>
|
||||
void LCD_DrawPoint(u16 x,u16 y); //<2F><><EFBFBD><EFBFBD>
|
||||
void LCD_Fast_DrawPoint(u16 x,u16 y,u32 color); //<2F><><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD>
|
||||
u32 LCD_ReadPoint(u16 x,u16 y); //<2F><><EFBFBD><EFBFBD>
|
||||
void LCD_Draw_Circle(u16 x0,u16 y0,u8 r); //<2F><>Բ
|
||||
void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2); //<2F><><EFBFBD><EFBFBD>
|
||||
void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void LCD_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u32 color); //<2F><><EFBFBD>䵥ɫ
|
||||
void LCD_Color_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 *color); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ɫ
|
||||
void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode); //<2F><>ʾһ<CABE><D2BB><EFBFBD>ַ<EFBFBD>
|
||||
void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size); //<2F><>ʾһ<CABE><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void LCD_ShowxNum(u16 x,u16 y,u32 num,u8 len,u8 size,u8 mode); //<2F><>ʾ <20><><EFBFBD><EFBFBD>
|
||||
void LCD_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u8 *p); //<2F><>ʾһ<CABE><D2BB><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>,12/16<31><36><EFBFBD><EFBFBD>
|
||||
|
||||
void LCD_WriteReg(u16 LCD_Reg, u16 LCD_RegValue);
|
||||
u16 LCD_ReadReg(u16 LCD_Reg);
|
||||
void LCD_WriteRAM_Prepare(void);
|
||||
void LCD_WriteRAM(u16 RGB_Code);
|
||||
void LCD_SSD_BackLightSet(u8 pwm); //SSD1963 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
void LCD_Scan_Dir(u8 dir); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD>跽<EFBFBD><E8B7BD>
|
||||
void LCD_Display_Dir(u8 dir); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||
void LCD_Set_Window(u16 sx,u16 sy,u16 width,u16 height); //<2F><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>
|
||||
//LCD<43>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define SSD_HOR_RESOLUTION 800 //LCDˮƽ<CBAE>ֱ<EFBFBD><D6B1><EFBFBD>
|
||||
#define SSD_VER_RESOLUTION 480 //LCD<43><44>ֱ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>
|
||||
//LCD<43><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define SSD_HOR_PULSE_WIDTH 1 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD>
|
||||
#define SSD_HOR_BACK_PORCH 46 //ˮƽǰ<C6BD><C7B0>
|
||||
#define SSD_HOR_FRONT_PORCH 210 //ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD>
|
||||
|
||||
#define SSD_VER_PULSE_WIDTH 1 //<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
|
||||
#define SSD_VER_BACK_PORCH 23 //<2F><>ֱǰ<D6B1><C7B0>
|
||||
#define SSD_VER_FRONT_PORCH 22 //<2F><>ֱǰ<D6B1><C7B0>
|
||||
//<2F><><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
||||
#define SSD_HT (SSD_HOR_RESOLUTION+SSD_HOR_BACK_PORCH+SSD_HOR_FRONT_PORCH)
|
||||
#define SSD_HPS (SSD_HOR_BACK_PORCH)
|
||||
#define SSD_VT (SSD_VER_RESOLUTION+SSD_VER_BACK_PORCH+SSD_VER_FRONT_PORCH)
|
||||
#define SSD_VPS (SSD_VER_BACK_PORCH)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user