📄 bsp.h
字号:
#define DIS_SW_DIS_ALL_OFF 0X00 // 所有都不显示
/* *************************** 显示开关设置指令 END ************************************************/
/* *************************** 光标形状设置指令 START **********************************************/
/*
*详细说明:该指令只包含一字节命令(COMMAND)。
* 指令的低三位说明光标所占的像素数。光标的长度固定为8个像素。
*/
#define LCD_CUR_SHP 0xA0 // 光标形状选择:0xA0-0xA7表示光标占的行数
#define CUR_SHP_1_LINE 0x00 // 光标占1行数
#define CUR_SHP_2_LINE 0x01 // 光标占2行数
#define CUR_SHP_3_LINE 0x02 // 光标占3行数
#define CUR_SHP_4_LINE 0x03 // 光标占4行数
#define CUR_SHP_5_LINE 0x04 // 光标占5行数
#define CUR_SHP_6_LINE 0x05 // 光标占6行数
#define CUR_SHP_7_LINE 0x06 // 光标占7行数
#define CUR_SHP_8_LINE 0x07 // 光标占8行数
/* *************************** 光标形状设置指令 END **********************************************/
/* *************************** 数据自动读写设置指令 START ****************************************/
/*
*详细说明:该指令只包含一字节命令(COMMAND)。
* 数据自动读写方式设置。执行该指令后MPU可以连续的读写显示缓冲区RAM的数据,每读写一次地址指针自动加1.自动读写结束时必须写入自动读写结束命令使控制器退出自动模式,接受其他指令。
*/
#define LCD_AUT_WR 0xB0 // 自动写设置
#define LCD_AUT_RD 0xB1 // 自动读设置
#define LCD_AUT_OVR 0xB2 // 自动读/写结束
/* *************************** 数据自动读写设置指令 END ****************************************/
/* *************************** 数据读写设置指令 START ****************************************/
/*
*详细说明:该指令包含一字节命令(COMMAND)。写指令包含一字节数据(DATA1)。读指令不包含数据。
* 数据读写方式设置。
*/
#define LCD_INC_WR 0xC0 // 数据一次写,地址加1(DATA1+COMMAND)
#define LCD_INC_RD 0xC1 // 数据一次读,地址加1(COMMAND)
#define LCD_DEC_WR 0xC2 // 数据一次写,地址减1(DATA1+COMMAND)
#define LCD_DEC_RD 0xC3 // 数据一次读,地址减1(COMMAND)
#define LCD_NOC_WR 0xC4 // 数据一次写,地址不变(DATA1+COMMAND)
#define LCD_NOC_RD 0xC5 // 数据一次读,地址不变(COMMAND)
/* *************************** 数据读写设置指令 END ****************************************/
/* *************************** 屏幕操作指令 START ****************************************/
#define LCD_SCN_RD 0xE0
/*
*详细说明:该指令只包含一字节命令(COMMAND)。
* 屏读。该指令用于将屏幕上地址指针处的文字和图形合成后显示的一个字节内容送到控制器的数据栈中,等待MPU读出。地址指针应该设置在图形区内。
*/
#define LCD_SCN_CP 0xE8
/*
*详细说明:该指令只包含一字节命令(COMMAND)。
* 屏拷贝。该指令用于将屏幕上地址指针(图形区内)开始的一行合成显示内容拷贝到相应的图形显示区的一组单元内。该指令不能用于文本特征方式下或者双屏LCD。
*/
/* *************************** 屏幕操作指令 END ****************************************/
/* *************************** 位操作指令 START ***************************************/
/*
*详细说明:该指令只包含一字节命令(COMMAND)。
* 该指令将显示缓冲区某单元的某一位置位或者清零。该单元地址由当前地址指针定义。
* D0-D2--定义D0-D7位,
* D3--1为置位,0为清除
*/
#define LCD_BIT_OP 0xF0
#define BIT_OP_SET 0X08 // 置位操作
#define BIT_OP_CLR 0X00 // 清零操作
#define BIT_OP_BIT_0 0X00 // D0
#define BIT_OP_BIT_1 0X01 // D1
#define BIT_OP_BIT_2 0X02 // D2
#define BIT_OP_BIT_3 0X03 // D3
#define BIT_OP_BIT_4 0X04 // D4
#define BIT_OP_BIT_5 0X05 // D5
#define BIT_OP_BIT_6 0X06 // D6
#define BIT_OP_BIT_7 0X07 // D7
/* *************************** 位操作指令 END ****************************************/
/*
*额外说明:(1)LCD模块一般实现了控制器和行 列驱动和显示缓冲区RAM的接口,同时用硬件设置了液晶屏的结构(单,双屏结构),
* 数据传输方式,显示串口的长度和宽度。字体选择引脚FS1=0字体8x8,FS1=1字体6x8。
* (2)像素240x128=(40列x6)x(16行x8),(可以显示640个字符)。
* (3)外部的RAM可以分成三种类型:文本区 图形区 字符发生区。
* (4)关于单扫描和双扫描是与单双屏幕有关。
* (5)应该同时读取STA0和STA1。
* (6)在自动模式下,STA0和STA1无效。所以在不同的模式下检测状态的方式不一样。
* (7)光标指针只有通过对应的命令改变,读写数据不改变。
* (8)CGRAM的起始地址以2k为边界。
* (9)文本和图形起始位置和区域大小与显示缓冲区RAM的关系。
* (10)文本特征只适用于文字显示,因为特征数据放在图形RAM。如果要设置为文本特征方式,那么文本和图形显示都要打开。
* (11)屏幕读命令适用于硬件设置的列数和软件设置的列数(文本区和图形区大小)相同的情况下。
* (12)屏幕拷贝命令在文本特征模式下无效。双扫描模式下无法使用该命令。适用于硬件设置的列数和软件设置的列数(文本区和图形区大小)相同的情况下。
*
*/
/* **************************** T6963C指令说明以及定义 END ************************************/
/*
*********************************************************************************************************
* LED moudle
*********************************************************************************************************
*/
#define GPIO1_LED1 DEF_BIT_18
#define GPIO1_LED2 DEF_BIT_19
#define GPIO1_LED3 DEF_BIT_20
#define GPIO1_LED4 DEF_BIT_21
#define GPIO1_LED5 DEF_BIT_22
#define GPIO1_LED6 DEF_BIT_23
#define GPIO1_LED7 DEF_BIT_24
#define GPIO1_LED8 DEF_BIT_25
#define GPIO1_LEDS (GPIO1_LED1 | GPIO1_LED2 | GPIO1_LED3 | GPIO1_LED4 | GPIO1_LED5 | GPIO1_LED6 | GPIO1_LED7 | GPIO1_LED8)
/*
*********************************************************************************************************
* PUSH BUTTON moudle
*********************************************************************************************************
*/
#define GPIO0_PB1 DEF_BIT_16
#define GPIO0_PB2 DEF_BIT_17
#define GPIO0_PB3 DEF_BIT_18
#define GPIO0_PB4 DEF_BIT_19
#define GPIO0_PB5 DEF_BIT_20
#define GPIO0_PB6 DEF_BIT_21
#define GPIO0_PB (GPIO0_PB1 | GPIO0_PB2 | GPIO0_PB3 | GPIO0_PB4 | GPIO0_PB5 | GPIO0_PB6)
/*
*********************************************************************************************************
* DEFINES
*********************************************************************************************************
*/
#define CPU_OSC_FREQ 11059200L
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*/
void BSP_Init (void);
void BSP_IntDisAll (void);
/*
*********************************************************************************************************
* LED SERVICES
*********************************************************************************************************
*/
void LED_On (CPU_INT08U led);
void LED_Off (CPU_INT08U led);
/*
*********************************************************************************************************
* LCD SERVICES
*********************************************************************************************************
*/
void LCD_Delay (CPU_INT16U delay);
CPU_INT08U LCD_Get_Status (void);
CPU_INT08U LCD_Read_Data (void);
void LCD_Write_Command (CPU_INT08U cmd);
void LCD_Write_Data (CPU_INT08U data);
void LCD_Initialize_Controller(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -