📄 bsp.h
字号:
#ifndef __BSP_H__
#define __BSP_H__
#include <cpu.h>
#include <lib_def.h>
/*
*********************************************************************************************************
* LCD moudle
*********************************************************************************************************
*/
/* EASYARM2131和LM4229的端口连接定义 */
#define GPIO0_LCD_DATA0 DEF_BIT_00 /* (GPIO Port 0.10): LCD Data 0 */
#define GPIO0_LCD_DATA1 DEF_BIT_01 /* (GPIO Port 0.10): LCD Data 1 */
#define GPIO0_LCD_DATA2 DEF_BIT_02 /* (GPIO Port 0.10): LCD Data 2 */
#define GPIO0_LCD_DATA3 DEF_BIT_03 /* (GPIO Port 0.10): LCD Data 3 */
#define GPIO0_LCD_DATA4 DEF_BIT_04 /* (GPIO Port 0.10): LCD Data 4 */
#define GPIO0_LCD_DATA5 DEF_BIT_05 /* (GPIO Port 0.11): LCD Data 5 */
#define GPIO0_LCD_DATA6 DEF_BIT_06 /* (GPIO Port 0.12): LCD Data 6 */
#define GPIO0_LCD_DATA7 DEF_BIT_07 /* (GPIO Port 0.13): LCD Data 7 */
#define GPIO0_LCD_CD DEF_BIT_08 /* (GPIO Port 0.00): LCD CD */
#define GPIO0_LCD_RD DEF_BIT_09 /* (GPIO Port 0.01): LCD RD */
#define GPIO0_LCD_WR DEF_BIT_10 /* (GPIO Port 0.02): LCD WR */
#define GPIO0_LCD_DATA (GPIO0_LCD_DATA7 | GPIO0_LCD_DATA6 | GPIO0_LCD_DATA5 | GPIO0_LCD_DATA4|GPIO0_LCD_DATA3 | GPIO0_LCD_DATA2 | GPIO0_LCD_DATA1 | GPIO0_LCD_DATA0)
/* **************************** T6963C指令说明以及定义 START ************************************/
/* ********************************* 指针设置指令 START ****************************************/
#define LCD_CUR_POS 0x21
/*
*详细说明:该指令包含两字节数据和一字节命令(DATA1+DATA2+COMMAND)。
* 主要对光标指针设置。
* DATA1 :表示光标在实际液晶屏幕上距离左上角的横向距离(字符个数)
* DATA2:表示光标在实际液晶屏幕上距离左上角的纵向距离(字符行数)
* COMMAND=0X21
*/
#define LCD_CGR_POS 0x22
/*
*详细说明:该指令包含两字节数据和一字节命令(DATA1+DATA2+COMMAND)。
* CGRAM偏离地址寄存器设置。主要设置CGRAM在64k显示缓冲区ram的最高5位地址。
* DATA1 的最低5位有效
* DATA2=0x00
* COMMAND=0X22
*/
#define LCD_ADR_POS 0x24
/*
*详细说明:该指令包含两字节数据和一字节命令(DATA1+DATA2+COMMAND)。
* 地址指针设置。主要设置显示缓冲区ram中的一个地址。
* DATA1= 地址低字节
* DATA2=地址高字节
* COMMAND=0X24
*/
/* *************************** 指针设置指令 END ****************************************************/
/* *************************** 显示区域设置指令 START ************************************************/
#define LCD_TXT_STP 0x40
/*
*详细说明:该指令包含两字节数据和一字节命令(DATA1+DATA2+COMMAND)。
* 文本区对应的RAM空间的首地址设置。该RAM单元内容决定屏幕左上角显示的字符。
* DATA1 =地址低字节
* DATA2=地址高字节
* COMMAND=0X40
*/
#define LCD_TXT_WID 0x41
/*
*详细说明:该指令包含两字节数据和一字节命令(DATA1+DATA2+COMMAND)。
* 文本区宽度设置(每行显示多少个文本字符)。单位:字节数/行(也就是字符数/行)。
* DATA1 =字节数
* DATA2=0x00
* COMMAND=0X41
*/
/*
关于文本区RAM地址和对应的显示位置的关系如下表
-----------------------------------------------------------------------------
|TH TH+1 --------------- TH+TA-1 |
|----------------------------------------------------------------------------
|TH+TA TH+TA+1 --------------- TH+2TA1 |
|----------------------------------------------------------------------------
| ---------------------------------------------------- |
|----------------------------------------------------------------------------
|TH+(N-1)TA TH+(N-1)TA+1 --------------- TH+NTA-1 |
-----------------------------------------------------------------------------
需要说明的是:显示文本只要在RAM单元写入字符码占用的RAM单元少。但是图形显示可以形象的理解占用的RAM是文本RAM的8倍。
*/
#define LCD_GRH_STP 0x42
/*
*详细说明:该指令包含两字节数据和一字节命令(DATA1+DATA2+COMMAND)。
* 图形区对应的RAM空间的首地址设置。该RAM单元内容决定屏幕左上角显示的图形。
* DATA1 =地址低字节
* DATA2=地址高字节
* COMMAND=0X42
*/
#define LCD_GRH_WID 0x43
/*
*详细说明:该指令包含两字节数据和一字节命令(DATA1+DATA2+COMMAND)。
* 图形区宽度设置。单位:字节数/行。
* DATA1 =字节数
* DATA2=0x00
* COMMAND=0X43
*/
/* *************************** 显示区域设置指令 END ************************************************/
/* *************************** 显示方式设置指令 START ************************************************/
/*
*详细说明:该指令只包含一字节命令(COMMAND)。
*命令的第四位是字符发生器的选择位:
* 1-----外部字符发生器(CGRAM)。内部的字符发生器被屏蔽,字符代码全部提供给外部发生器使用,范围是0x00--0xff。
* 0-----内部字符发生器(CGROM)。当字符代码在0x00--ox7f时选择内部字符,当字符代码为0x80-oxff时自动选择外部字符。
*当文本方式和图形方式都打开时,合成的显示方式才有效。
*文本特征的说明:将图形区改为文本特征区。该区大小和文本区大小相同。每个字节作为对应文本区的每个字符显示特征,包括字符显示与不显示,字符闪烁以及字符反向显示。
*在文本特征内,每个字符的文本特征码由一个字节的低四位组成(* * * * D3 D2 D1 D0):D3字符闪烁控制,D3=1为闪烁,D3=0不闪烁。D2D1D0=000,正常显示,=101反向显示,=011禁止显示。
*启用文本特征方式时可以在原来的图形和文本区之外用显示区域设置指令另外开辟一个区域作为文本特征区,以保持原图形区域的数据。
*/
#define LCD_MOD_SET 0X80
/*
*基本设置模式命令
*/
#define MODE_OR 0x00
/*
*合成显示方式:逻辑或
*/
#define MODE_XOR 0x01
/*
*合成显示方式:逻辑异或
*/
#define MODE_AND 0x03
/*
*合成显示方式:逻辑与
*/
#define MODE_TCH 0x04
/*
*显示方式:文本特征
*/
#define MODE_CGRAM 0X08
/*
*外部RAM字符发生器
*/
#define MODE_CGROM 0X00
/*
*内部ROM字符发生器
*/
/* *************************** 显示方式设置指令 END ************************************************/
/* *************************** 显示开关设置指令 START ************************************************/
/*
*详细说明:该指令只包含一字节命令(COMMAND)。
* D0=1/0,光标闪烁启用/禁用
* D1=1/0,光标显示启用/禁用
* D2=1/0,文本显示启用/禁用(打开后再使用)
* D3=1/0,图形显示启用/禁用(打开后再使用)
*/
#define LCD_DIS_SW 0x90
#define DIS_SW_BLINK_ON 0X01 // 光标闪烁
#define DIS_SW_CRUSOR_ON 0X02 // 光标显示
#define DIS_SW_TEXT_ON 0X04 // 文字显示
#define DIS_SW_GRAPHIC_ON 0X08 // 图形显示
#define DIS_SW_BLINK_OFF 0X00 // 光标不闪烁
#define DIS_SW_CRUSOR_OFF 0X00 // 光标不显示
#define DIS_SW_TEXT_OFF 0X00 // 文字不显示
#define DIS_SW_GRAPHIC_OFF 0X00 // 图形不显示
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -