📄 lcdsed1335.h
字号:
/**************************************************************/
#define DATA_RES_SEND P7
sbit WE= P3^6;
sbit RD= P3^7;
sbit CS= P2^0;
sbit A0= P3^0;
/******************************0*********************************/
#define GUI_LCD_XMAX 320 /* 定义液晶x轴的点数 */
#define GUI_LCD_YMAX 240 /* 定义液晶y轴的点数 */
/* 定义LCD地址 */
#define LCD_BASE_ADD 0x8000
#define LCD320240_COM XBYTE[LCD_BASE_ADD+1]
#define LCD320240_DAT XBYTE[LCD_BASE_ADD]
/* SED1335 命令定义 */
#define LCD_SYS_SET 0x40 /* 初始化,显示窗口设置 参数8个 */
#define LCD_SLEEP_IN 0x53 /* 空闲操作 参数0个 */
#define LCD_DIS_ON 0x59 /* 显示开 参数1个 */
#define LCD_DIS_OFF 0x58 /* 显示关 参数1个 */
#define LCD_SCR_OLL 0x44 /* 设置显示区域,卷动 参数10个 */
#define LCD_CSR_FOM 0x5D /* 设置光标形状 参数2个 */
#define LCD_CGR_ADD 0x50 /* 设置CGRAM起始地址 参数2个 */
#define LCD_CSR_DIR 0x4C /* 设置光标移动方向 参数0个 */
#define LCD_DOT_DIR 0x5A /* 设置点单元卷动位置 参数1个 */
#define LCD_DIS_OVR 0x5B /* 设置合成显示方式 参数1个 */
#define LCD_CSR_WR 0x46 /* 设置光标位置 参数2个 */
#define LCD_CSR_RD 0x47 /* 读出光标位置 参数2个 */
#define LCD_MEM_WR 0x42 /* 写入显示缓冲区 */
#define LCD_MEM_RD 0x43 /* 从显示缓冲区读出 */
#define GET_LOW_BYTE(DAT) ((unsigned char)(DAT&0xff)) /*取DAT的低8位*/
#define GET_HIG_BYTE(DAT) ((unsigned char)(DAT>>8)) /*取DAT的高8位*/
#define paraP9 0x28 // 对于320 X 240
/*********************************************************************** 名称:LCD_WriteCommand()
* 功能:写命令子程序。(发送命令前,不检查液晶模块的状态)
* 入口参数:command 要写入LCD的命令字
* 出口参数:无
* 说明:函数会设置LCD数据总线为输出方式
***********************************************************************/
#define LCD_WriteCommand(command) {WE=1;A0=1;RD=1;DATA_RES_SEND=command;WE=0;_nop_();WE=1;_nop_();_nop_();_nop_();}
//#define LCD_WriteCommand(command) LCD320240_COM = (unsigned char)command;
/**********************************************************************
* 名称:LCD_WriteData()
* 功能:写数据子程序。(发送数据前,不检查液晶模块的状态)
* 入口参数:dat 要写入LCD的数据
* 出口参数:无
* 说明:函数会设置LCD数据总线为输出方式
***********************************************************************/
#define LCD_WriteData(dat) {WE=1;A0=0;RD=1;DATA_RES_SEND=dat;WE=0;_nop_();WE=1;_nop_();_nop_();_nop_();}
//#define LCD_WriteData(dat) LCD320240_DAT = (unsigned char)dat;
/**********************************************************************
* 名称:LCD_ReadState()
* 功能:读取状态字子程序。
* 入口参数:无
* 出口参数:返回值即为读出的状态字
* 说明:函数会设置LCD数据总线为输入方式
***********************************************************************/
#define LCD_ReadState(status) {P74OUT = 0x00;DATA_RES_SEND=0xff;A0=0;RD=1;WE=1;RD=0;_nop_();_nop_();_nop_();status=DATA_RES_SEND;_nop_();RD=1;P74OUT = 0xff;}
//#define LCD_ReadState(status) status=LCD320240_COM;
/***********************************************************************
* 名称:LCD_ReadData()
* 功能:读取数据子程序。
* 入口参数:无
* 出口参数:返回值即为读出的数据
* 说明:函数会设置LCD数据总线为输入方式
***********************************************************************/
#define LCD_ReadData(dat) {P74OUT = 0x00;DATA_RES_SEND=0xff;RD=1;A0=1;WE=1;RD=0;dat=DATA_RES_SEND;RD=1;_nop_();_nop_();_nop_();P74OUT = 0xff;}
//#define LCD_ReadData(dat) dat = LCD320240_DAT;
void SED1335_Init(void);
void LCD_FillAll(unsigned char dat);
void LCD_CLS(unsigned int addr_begin,unsigned int len);
void LCD_Wr_Area(unsigned char X,unsigned char Y,unsigned char Height,unsigned char Length,unsigned char *ptr,unsigned char form);
void SED1335_WMrite(unsigned char *p,unsigned int LEN);
void SED1335_Sleep(char flg_sleep,unsigned char P1);
void SED1335_OnOff(char OnOff,unsigned char CurOnOff);
void SED1335_Scroll(unsigned int SAD1,unsigned int SAD2,unsigned int SAD3,unsigned int SAD4,unsigned char SL1,unsigned char SL2);
void SED1335_CsrForm(unsigned char CRX,unsigned char CRY,unsigned char Disp_Form);
void SED1335_CspDir(Cur_Direct dic);
void SED1335_Oylay(Txt_Graph SAD1,Txt_Graph SAD3,OVlay_Form form);
void SED1335_CsRw(unsigned int cur_addr);
unsigned int SED1335_CsRr(void);
unsigned char *SED1335_MRead(unsigned int LEN);
void DelayMs(unsigned int Time);
void LCD_PutPix(unsigned int X,unsigned int Y);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -