📄 lcd_driver.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 + -