📄 lcd19264_h.h
字号:
/****************************************************************************
* 文 件 名:lcd19264driver.h
* 版 本: V1.0
* 功 能:字符液晶模块驱动程序,采用模拟总线方式工作。
* 连 接:
* D0 -- P0.9 // DB0
* . -- .
* . -- .
* . -- .
* D7 -- P0.16 // DB7
*
* R/S -- P0.3 // RS
* R/W -- P0.4 // RW
* E -- P0.5 // E
* CS1 -- P0.6 //CS1
* CS2 -- P0.7 //CS2
* CS3 -- P0.8 //CS3
*
* R/W 为0进行写操作,为1时进行读操作
* D/I 为1表示数据传送,为0表示命令传送
* E 读写脉冲
*
* 作者:黄振升
* 日期:2005/08/13
*---------------历史版本信息-------------------------------------------------
* 修 改 人: 黄振升
* 版 本:
* 日 期: 2006.10.31
* 描 述:
****************************************************************************/
/***********************************************************************
* 功能设定 *
***********************************************************************/
#define LCD19264_INTERFACE_EN 1 //19264液晶驱动函数使能
#define LCD19264_API_EN 1 //液晶图图形函数使能
#define TURNOVER_EN 0 //反色显示使能
/***********************************************************************
* 模拟总线宏 *
***********************************************************************/
/* 输出总线数据宏定义 */
#define LCD19264_BusLSB 13 // 数据总线最小Bit位置在P0.9上
#define LCD19264_BusData(dat) IO0CLR = (0XFF <<LCD19264_BusLSB); IO0SET = IO0SET|(dat<< LCD19264_BusLSB) //所需要管脚清零
/* 输出总线数据查询宏定义 */
#define LCD19264_BusData_Read() ((IO0PIN >> (LCD19264_BusLSB)) &0XFF)
/* 定义RS控制 */
#define LCD19264_DI 10 // DI在P0.3上
#define LCD19264_SDI() IO0SET = IO0SET |(1 << LCD19264_DI )
#define LCD19264_CDI() IO0CLR = IO0CLR |(1 << LCD19264_DI )
/* 定义RW控制 */
#define LCD19264_RW 11 // RW在P0.4上
#define LCD19264_SRW() IO0SET = IO0SET |(1 << LCD19264_RW)
#define LCD19264_CRW() IO0CLR = IO0CLR |(1 << LCD19264_RW)
/* 定义E控制 */
#define LCD19264_E 12 // E在P0.5上
#define LCD19264_SE() IO0SET = IO0SET |(1 << LCD19264_E)
#define LCD19264_CE() IO0CLR = IO0CLR |(1 << LCD19264_E)
/* 定义E控制 */
#define LCD19264_CS1 21 // CS1在P0.6上
#define LCD19264_SCS1() IO0SET = IO0SET |(1 << LCD19264_CS1)
#define LCD19264_CCS1() IO0CLR = IO0CLR |(1 << LCD19264_CS1)
/* 定义E控制 */
#define LCD19264_CS2 22 // CS2在P0.6上
#define LCD19264_SCS2() IO0SET = IO0SET |(1 << LCD19264_CS2)
#define LCD19264_CCS2() IO0CLR = IO0CLR |(1 << LCD19264_CS2)
/* 定义E控制 */
#define LCD19264_CS3 23 // CS3在P0.6上
#define LCD19264_SCS3() IO0SET = IO0SET |(1 << LCD19264_CS3)
#define LCD19264_CCS3() IO0CLR = IO0CLR |(1 << LCD19264_CS3)
void LCD19264_Writecommand_L(uint8 Command);
void LCD19264_Writecommand_M(uint8 Command);
void LCD19264_Writecommand_R(uint8 Command);
void LCD19264_Writedata(uint8 x,uint8 y,uint8 Data);
uint8 LCD19264_RDatalcd19264(uint8 x,uint8 y);
void LCD19264_Fix_point (void);
void LCD19264_Init(void);
void LCD19264_Cls(void);
void Lcd19264_Busy(void);
void LCD19264_Turn_over(void);
void LCD19264_single_cls(uint8 x);
void LCD19264_Point_cls (uint8 px,uint8 py);//输入坐标
void LCD19264_Point_save(uint8 px,uint8 py);//输入坐标
void LCD19264_Linehv(uint8 p1x,uint8 p1y, uint8 p2x,uint8 p2y);//输入起始坐标,结束坐标
void LCD19264_Squrt(uint8 p1x,uint8 p1y);//输入起始坐标
void LCD19264_3DSqurt(uint8 p1x,uint8 p1y);//输入起始坐标
void LCD19264_Cricle(uint8 px,uint8 py,uint8 r);//输入起始坐标,半径
//以下开始为删除用函数
void LCD19264_Cls_Squrt(uint8 p1x,uint8 p1y);//输入起始坐标
void LCD19264_Cls_3DSqurt(uint8 p1x,uint8 p1y);//输入起始坐标
void LCD19264_Cls_Linehv(uint8 p1x,uint8 p1y, uint8 p2x,uint8 p2y);
void LCD19264_Cls_Point (uint8 px,uint8 py);//输入坐标
//以下开始为字符用函数
/***********************************************************************************************
*** 写一个列16位
*********************************************************************************************/
void Lcd19264_Line (uint8 x,uint8 y,uint8 const *str);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 写,一个6X16 的字
*********************************************************************************************/
void Lcd19264_6X16 (uint8 x,uint8 y,uint8 const *str, uint8 n);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 写,一个8X16 的字
*********************************************************************************************/
void Lcd19264_8X16 (uint8 x,uint8 y,uint8 const *str, uint8 n);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 写N个8X16 的字,可反色turnover==1就反色显示
*********************************************************************************************/
void Lcd19264_8X16COVE (uint8 x,uint8 y,uint8 const *str, uint8 n,uint8 turnover);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 擦除,n个8X16 的字
*********************************************************************************************/
void Lcd19264_8X16_Cls (uint8 x,uint8 y, uint8 n);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 写,n个16X16 的字,横写
*********************************************************************************************/
void LCD19264_16X16 (uint8 x,uint8 y,uint8 const *str, uint8 n);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 写,n个32X32 的字,横写
*********************************************************************************************/
void LCD19264_32X32 (uint8 x,uint8 y,uint8 const *str, uint8 n);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 写,n个16X16 的字,竖写
*********************************************************************************************/
void LCD19264_16X16_L (uint8 x,uint8 y,uint8 const *str, uint8 n);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 反色显示n个16X16 的字,横
*********************************************************************************************/
void LCD19264_Turn_over_16X16(uint8 x,uint8 y, uint8 n);//输入坐标,数组指针,字符个数
/***********************************************************************************************
*** 反色显示n个8X16 的字,横
*********************************************************************************************/
void LCD19264_Turn_over_8X16(uint8 x,uint8 y, uint8 n);//输入坐标,数组指针,字符个数
/***********************************************************************
* 名 称:LCD19264_16X16_newline(uint8 x,uint8 y,uint8 const *str, uint8 n)
* 功 能:在目标坐标上写N个16X16的字,带换行,换行后将给换行靠前一个半字位置
* 入口参数:坐标字符个数
* 出口参数: 无
* 说 明:
***********************************************************************/
void LCD19264_16X16_newline_of(uint8 x,uint8 y,uint8 const *str, uint8 n,uint8 turn_over);
/***********************************************************************
* 名 称:LCD19264_16X16_newline(uint8 x,uint8 y,uint8 const *str, uint8 n)
* 功 能:在目标坐标上写N个16X16的字,带换行,换行后将给换行靠前一个半字位置
* 入口参数:坐标字符个数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -