⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.h

📁 ADS下的bios工程
💻 H
字号:
#ifdef LCD_HEADER#undef	CONFIG_LCD_MONO320X240	/* 1pixel/1bit LCD */#undef	CONFIG_LCD_GRAY320X240	/* 16Gray, 1pixel/4bit LCD */#define	CONFIG_LCD_STN320X240	/* 256Color, 1pixel/8bit LCD */#undef	CONFIG_LCD_STN640X480	/* 256Color, 1pixel/8bit LCD */#undef	CONFIG_LCD_TFT240X320	/* 1pixel/8bit LCD */#if defined(CONFIG_LCD_TFT320X240)#define	VD_WIDTH	8		/* ???? */#elif defined(CONFIG_LCD_STN320X240)#define	VD_WIDTH	8#elif defined(CONFIG_LCD_MONO320X240) || defined(CONFIG_LCD_GRAY320X240)#define	VD_WIDTH	4#endif#if defined(CONFIG_LCD_STN640X480)#define FR_WIDTH	640#define FR_HEIGHT	480#elif defined(CONFIG_LCD_TFT240X320)#define FR_WIDTH	240#define FR_HEIGHT	320#elif defined(CONFIG_LCD_STN320X240) || defined(CONFIG_LCD_GRAY320X240) || defined(CONFIG_LCD_MONO320X240)#define FR_WIDTH	320#define FR_HEIGHT	240#endif#define FR_PALETTE	256/*       *  Frame Frequency(MAX) : 70 Hz *  HCLK = MCLK/2 = 70MHz * *  VCLK = Frame_rate * (LINEVAL+1) * (HOZVAL+1) *      @ In mono mode : HOZVAL = (FR_WIDTH/VD_WIDTH) - 1 *      @ In color mode : HOZVAL = ((FR_WIDTH*3)/VD_WIDTH) - 1 * *  @ STN : VCLK = HCLK / (CLKVAL*2), CLKVAL >= 2 *  @ TFT : VCLK = HCLK / [(CLKVAL+1)*2], CLKVAL >= 1 * *  Ex 0) 320x240 MONO LCD *      VCLK   = 70(freq) * 240(ysize) * 80(hozval) = 1.344MHz *      CLKVAL = 70MHz / (1.344MHz * 2) = 22.3214 = 22 *  Ex 1) 320x240 16GRAY LCD *      VCLK   = 70(freq) * 240(ysize) * 80(hozval) = 1.344MHz *      CLKVAL = 70MHz / (1.344MHz * 2) = 22.3214 = 22 *  Ex 2) 320x240 256STN LCD *      VCLK   = 70(freq) * 240(ysize) * 120(hozval) = 2.016MHz *      CLKVAL = 70MHz / (2.016MHz * 2) = 14.8809 = 14 *  Ex 3) 640x480 256STN LCD *      VCLK   = 70(freq) * 480(ysize) * 240(hozval) = 8.064MHz *      CLKVAL = 70MHz / (8.064MHz * 2) = 3.7202 = 3 *  Ex 3) 240x320 256TFT LCD *      VCLK   = 70(freq) * 480(ysize) * 240(hozval) = 8.064MHz *      CLKVAL = 70MHz / (8.064MHz * 2) = 3.7202 = 3 */#define	Frame_rate	70#if defined(CONFIG_LCD_MONO320X240)#define	HOZVAL		((FR_WIDTH/VD_WIDTH) - 1)#define	PNRMODE		0x1#define	BPPMODE		0x0#define BPP			1#elif defined(CONFIG_LCD_GRAY320X240)#define	HOZVAL		((FR_WIDTH/VD_WIDTH) - 1)#define	PNRMODE		0x1#define	BPPMODE		0x2#define BPP			4#elif defined(CONFIG_LCD_STN320X240)#define	HOZVAL		(((FR_WIDTH*3)/VD_WIDTH) - 1)#define	PNRMODE		0x2#define	BPPMODE		0x3#define BPP			8#elif defined(CONFIG_LCD_STN640X480)#elif defined(CONFIG_LCD_TFT320X240)#endif#define	VCLK		(Frame_rate * FR_HEIGHT * (HOZVAL+1))#define	CLKVAL		( (HCLK) / (VCLK*2) )/* LCDCON1 register definition */#define bCLKVAL		(CLKVAL<<8)	/* VCLK rate ( MCLK / (VCLK * 2) ) */#define bMMODE		(0<<7)		/* 0=each frame, 1=defined by the MVAL */#define bPNRMODE	(PNRMODE<<5)	/* 0=4bit dual,   1=4bit single */                                       /* 2=8bit single, 3=TFT LCD panel */#define bBPPMODE	(BPPMODE<<1)	/* 0=1 bpp for STN, Monochrome mode */										/* 1=2 bpp for STN, 4-level gray mode */										/* 2=4 bpp for STN, 16-level gray mode */										/* 3=8 bpp for STN, color mode */										/* 4=12 bpp for STN, color mode */										/* 8=1 bpp for TFT */										/* 9=2 bpp for TFT */										/* 10=4 bpp for TFT */										/* 11=8 bpp for TFT */										/* 12=16 bpp for TFT */#define bENVID          (0<<0)      /* LCD Diable */#define bLCDCON1        (bCLKVAL|bMMODE|bPNRMODE|bBPPMODE|bENVID)/* LCDCON2 register definition */#define bVBPD			(0<<24)		/* TFT ??? */#define bLINEVAL        ((FR_HEIGHT - 1)<<14)	/* vertical size of LCD panel */#define bVFPD			(0<<6)		/* TFT ??? */#define bVSPW			(0<<0)		/* TFT ??? */#define bLCDCON2        (bVBPD|bLINEVAL|bVFPD|bVSPW)/* LCDCON3 register definition */#define bHBPD		(0<<19)		/* TFT ??? */#define bWDLY		(0<<19)		/* Delay between VLINE and VCLK *//* 0=16clock, 1=32clock, 2=64clock, 3=128clock */#define bHOZVAL		(HOZVAL<<8)	/* horizontal size of LCD panel */#define bHFPD		(0<<0)		/* TFT ??? */#define bLINEBLANK	(1<<0)		/* Blank time in one horizontal line duration time */#if defined(CONFIG_LCD_TFT320X240)#define bLCDCON3        (bHBPD|bHOZVAL|bHFPD)#else#define bLCDCON3        (bWDLY|bHOZVAL|bLINEBLANK)#endif/* LCDCON4 register definition */#define bPALADDEN	(0<<24)		/* TFT : Palette index offset -> 0:enable, 1:disable */#define bADDVAL		(0<<16)		/* TFT : Palette index offset value */#define	bMVAL		(13<<8)		/* STN : rate at VM signal will toggle */#define bHSPW		(0<<0)		/* TFT : Hosizontal sync pulse width */#define bWLH		(0<<0)		/* STN : VLINE pulse width *//* 0=16clock, 1=32clock, 2=64clock, 3=128clock */#if defined(CONFIG_LCD_TFT320X240)#define bLCDCON4        (bPALADDEN|bADDVAL|bMVAL|bHSPW)#else#define bLCDCON4        (bMVAL|bWLH)#endif/* LCDCON5 register definition */#define bSLOWCLKSYNC	(0<<14)		/* STN : SLOW mode select -> 0:disable, 1:enable */#define bSELFREF		(0<<13)		/* STN : self refresh mode -> 0:disable, 1:enable */#define bINVVCLK		(0<<10)		/* VCLK active edge -> 0:falling, 1:rising */#define bINVVLINE		(0<<9)		/* VLINE/HSYNC pulse polarity */#define bINVVFRAME		(0<<8)		/* VFRAME/VSYNC pulse polarity */#define bINVVD			(0<<7)		/* VD pulse polarity */#define bINVVDEN		(0<<6)		/* TFT : VDEN pulse polarity */#define bINVENDLINE		(0<<4)		/* TFT : LEND pulse polarity */#define bENLEND			(0<<2)		/* TFT : LEND output select */#define bBSWP			(1<<1)		/* Byte swap control */#define bHWSWP			(0<<0)		/* Half-Word swap control */#define	bLCDCON5		(bSLOWCLKSYNC|bSELFREF|bINVVCLK|bINVVLINE|bINVVFRAME|bINVVD|bINVVDEN|bINVENDLINE|bENLEND|bBSWP|bHWSWP)/* LCDSADDR1 register definition */#define bMODESEL        MODESEL		/* 0=Mono, 1=4-gray, 2=16-gray, 3=color */#define bOFFSIZE         0                       /* will use in virtual screen */#define bPAGEWIDTH       ((FR_WIDTH*BPP)/16)    /* LCD_XSIZE width to transfer to lcd */typedef struct FrameBuffer {	unsigned short	palette [FR_PALETTE];	unsigned char	pixel[FR_HEIGHT][(FR_WIDTH*BPP)/8];	int		row, col;} FB;struct font_header {   	unsigned char	type;		/* font type */        unsigned char	wide;		/* character width in pixels */        unsigned char	high;		/* char height in pixels */        unsigned char	baseline;	/* pixels from bottom of glyph */        unsigned char	count;		/* number of chars in font */        char		start;		/* starting char in font */};extern int do_kbd_init;extern int do_scroll;void initLCD(void);void clrScreen(void);void clrCharRow(int /* row */);void putcToFBrc(char /* c */, unsigned int /* row */, unsigned int /* col */);void setCursor(int /* r */, int /* c */);int  moveCursor(int /* r */, int /* c */);void scroll(void);void putcToFB(char /* c */);void putcToFBi(char /* c */);void putcToFBd(char /* c */);void putsToFB(char * /* s */);void setRC(int, int);void incRC(int, int /* int ri, int ci */);void setRow(int /* int r */);void setCol(int /* int c */);int  getCol(void);int  getRow(void);#endif /* LCD_HEADER */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -