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

📄 lcd_driver.h

📁 STM32+ov7670
💻 H
字号:
# ifndef LCD_DRIVER_H_H_
# define LCD_DRIVER_H_H_

# include "lcd.h"
////////////////////////////////////////
# define R61514_EN		0

////////////////////////////////////////
////////////////////////////////////////
//i80控制端口宏定义						
//视硬件连接进行更改		
/*			
# define LCD_CS_BIT		PD7
# define LCD_RS_BIT		PB4
# define LCD_WR_BIT		PB5
# define LCD_RD_BIT		PB6
# define LCD_REST_BIT	PB7

# define LCD_CS_PORT	PORTD
# define LCD_RS_PORT	PORTB
# define LCD_WR_PORT	PORTB
# define LCD_RD_PORT	PORTB
# define LCD_REST_PORT	PORTB

# define LCD_CS_DDR		DDRD
# define LCD_RS_DDR		DDRB
# define LCD_WR_DDR		DDRB
# define LCD_RD_DDR		DDRB
# define LCD_REST_DDR	DDRB*/

////////////////(1)/////////////////////
//控制端口动作宏定义					
//使用异或操作,可能需要更改				
# define LCD_CS_L		(LCD_CS = 0)//LCD_CS_PORT &= ~BIT(LCD_CS_BIT)
# define LCD_CS_H		(LCD_CS = 1)//LCD_CS_PORT |= BIT(LCD_CS_BIT)

# define LCD_RS_L		(LCD_RS = 0)//LCD_RS_PORT &= ~BIT(LCD_RS_BIT)
# define LCD_RS_H		(LCD_RS = 1)//LCD_RS_PORT |= BIT(LCD_RS_BIT)

# define LCD_WR_L		(LCD_WR = 0)//LCD_WR_PORT &= ~BIT(LCD_WR_BIT)
# define LCD_WR_H		(LCD_WR = 1)//LCD_WR_PORT |= BIT(LCD_WR_BIT)

# define LCD_RD_L		(LCD_RD = 0)//LCD_RD_PORT &= ~BIT(LCD_RD_BIT)
# define LCD_RD_H		(LCD_RD = 1)//LCD_RD_PORT |= BIT(LCD_RD_BIT)

# define LCD_REST_L		(LCD_REST = 0)//LCD_REST_PORT &= ~BIT(LCD_REST_BIT)
# define LCD_REST_H		(LCD_REST = 1)//LCD_REST_PORT |= BIT(LCD_REST_BIT)

# define LCD_LED_ON		(LCD_LED = 1)
# define LCD_LED_OFF	(LCD_LED = 0)
////////////////////////////////////////
/*
/////////////////(2)////////////////////
//数据总线端口初始化宏定义				
//有8位和16位模式,根据需要进行更改		
# define DATA_L			PA0
# define DATA_L_PORT	PORTA
# define DATA_L_DDR		DDRA
# define DATA_L_PIN		PINA
# define DATA_L_IN		DDRA = 0x00
# define DATA_L_OUT		DDRA = 0xFF
//8位模式,只用了PA口,高8位不使用		
# define DATA_H			PA0
# define DATA_H_PORT	PORTA
# define DATA_H_DDR		DDRA
# define DATA_H_PIN		PINA
# define DATA_H_IN		DDRA = 0x00
# define DATA_H_OUT		DDRA = 0xFF
////////////////////////////////////////
*/
////////////////(3)/////////////////////
//关闭使能,以结束一次读写操作			
# define LCD_WR_END()	LCD_CS_H
//读GRAM时需要一个虚晃的读(Dummy Read)	
# define DUMMY_READ()	LCD_RD_L;LCD_RD_H;//LCD_RD_L;LCD_RD_H;
////////////////////////////////////////

///////////屏显示参数设置///////////////

# define LCD_CHAR_HORIZONTAL		0
//设置屏显示像素大小					
# define X_SIZE			240
# define Y_SIZE			320
//x和y的最大坐标值,坐标原点为(0, 0)		
# define X_END			(X_SIZE - 1)
# define Y_END			(Y_SIZE - 1)
//一个字符x*y的分别大小		
#if LCD_CHAR_HORIZONTAL > 0			
	# define CHAR_X_SIZE	8
	# define CHAR_Y_SIZE	16
	
	//横坐标能显示的字符数X_SIZE/CHAR_X_SIZE
	# define CHAR_X_NUM		30
	//纵坐标能显示的字符数Y_SIZE/CHAR_Y_SIZE
	# define CHAR_Y_NUM		20
#else
	# define CHAR_X_SIZE	16
	# define CHAR_Y_SIZE	8
		
	//横坐标能显示的字符数X_SIZE/CHAR_X_SIZE
	# define CHAR_X_NUM		15
	//纵坐标能显示的字符数Y_SIZE/CHAR_Y_SIZE
	# define CHAR_Y_NUM		40
#endif


////////////////////////////////////////
void LCD_DATA_OUT(u16 data);
u16 LCD_DATA_IN(void);
void LCD_WriteGRAM_EN(void);
void LCD_WriteRegister(u16 index, u16 data);
void LCD_DrawPoint(u16 x, u16 y, u16 color);
u16 LCD_GetPoint(u16 x, u16 y);
void LCD_SetWindow(u16 start_x,u16 start_y,
					u16 end_x,u16 end_y);
void LCD_SetCursor(u16 x,u16 y);
//LCD清屏函数						
void LCD_Clear(u16 color);
//液晶端口初始化,外部无需调用			
void LCD_PortInit(void);
//液晶驱动初始化						
void LCD_DriverInit(void);
# endif

⌨️ 快捷键说明

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