⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ocm240128.h

📁 OCM240128-7.rar
💻 H
字号:
/**********************************************************************************************
**  文件名称:       OCM240128.H
**  最后修改:       2009-10-26
**  版    本:       1.0
**  描    素:       OCM240128液晶驱动程序
**---------------------------------------------------------------------------------------------
**  作    者:       李雪川
**  创作日期:       2009-10-6-26
**  文件描述:       OCM240128液晶驱动程序,采用8位数据总线方式驱动
                          
------------------------硬件端口连接定义-------------------------------------------------------
**  OXM240128           MCU
**	FS					GND				字形选择0: 8*8 1: 6*8
**  C_D                 P2.6            =1选择指令, =0选择数据
**  _CE                 P2.7            片选=0有效
**  _RW                 P3.6(_RW)       总线控制读写
**  _RD                 P3.7(_RD)
**  PDAT                P0              8位总线数据端口
----------------------------------------------------------------------------------------------
**  全局变量:
        
**  主要函数:		
******************OCM240128内部有CGRAM 2K(256字节)空间*************************************
			使用内部字符发生器CGROM时低128字节为内部字符,CGROM的高128字节可自己定义
			禁止内部字符发生器CGROM时CGRAM256字节都用于用户字符定义
			通过void OCM_mode(uchar mod,uchar cg) cg参数控制
*******************************************************************************************
			void OCM_ac(uchar target, uint dat)				地址设置					
			void OCM_area(uchar target, uint int)			显示区域设置																				
			OCM_onewr(mod, dat)								单次写
			void OCM_autrd(uint, uchar num, uchar *p)		连续自动读
			void OCM_autwr(uadd, uchar num, uchar *p)		连续自动写)
			void OCM_picture(uint addr, uchar w, uchar h, uchar *tab)	图形显示
			void OCM_picture_clr(uint addr, uchar w, uchar h)			图形清除
			void OCM_line_clr(uint addr,uchar dat)						清除一行
			void OCM_clr(uchar dat)							清屏		
			void OCM_init(void)								初始化
                
**----------------------------------------------------------------------------------------------
**  硬件平台:       51系列单片机,总线方式驱动
**  软件平台:       Keil3.0
*************************************************************************************************/

#ifndef _OCM_240128_H
#define _OCM_240128_H

#include"reg52.h"
#include"compile.h"
#include"absacc.h"
#include"string.h"
						




#define C_Addr      XBYTE[0X7F00]          //指令选通地址单元
#define D_Addr      XBYTE[0X3F00]          //数据选通地址单元


/*	地址设置,设置的图形和文字首地址	*/
#define Text_Addr	0x0000
#define	Figure_Addr	0x0800

#define	EN_CGROM	1						//启用内部CGROM
#define	DIS_CGROM	0						//禁止内部CGROM

/* TEST_natule mod参数			*/
#define	Po_Disp_S	(1 << 3 | 0X00)					//正向显示 闪烁
#define Ne_Disp_S	(1 << 3 | 0X05)					//负向显示 闪烁
#define Po_Disp_N	(0 << 3 | 0X00)					//正向显示 不闪烁
#define Ne_Disp_N	(0 << 3 | 0X05)					//负向显示 不闪烁
#define Ne_HIDE		0X03							//禁止显示(正向)
#define Po_HIDE		0X04							//禁止显示(负向)



/*	2009-11-20	lixuechuan 添加子函数功能宏定义		*/
#define	CURSOR		0								//AC光标设置
#define	CGRAM		1								//AC CGRAM设置
#define DISP		2								//AC显示设置
#define	ADD			0								//单次读写后地址自加
#define	SUBB		1								//单次读写后地址自减
#define	UNMOV		2								//单次读写后地址不变


/*	2009-11-20	lixuechuan 添加子函数功能宏定义结束	*/




/*----------------------自动读写设置,自动读写时显示地址自动加一-------------------------*/
/*	启动进人自动读方式 	*/
#define	OCM_autrd_start()				\
{										\
	while (!OCM_busy(0));				\
	C_Addr = 0XB1;						\
}

/*	退出自动读方式 		*/
#define	OCM_autrd_stop()				\
{										\
	while (!OCM_busy(0));				\
	C_Addr = 0XB2;						\
}

/*	启动进人自动写方式 	*/
#define	OCM_autwr_start()				\
{										\
	while (!OCM_busy(0));				\
	C_Addr = 0XB0;						\
}

/*	退出自动写方式 		*/
#define	OCM_autwr_stop()				\
{										\
	while (!OCM_busy(0));				\
	C_Addr = 0XB2;						\
}
/*---------------------------------------------------------------------------------------------------*/










/******************************************************************************************
**  函数名称:           void 0CM_ac(uchar target, uint dat)
**  功能描述:           AC地址设置:光标地址,CGRAM地址,显示地址设置
                        双参数指令       
**  输入参数:           target: 0:  光标地址设置
                                1:  CGRAM地址设置
                                2:  显示地址设置(显示存储器的地址为, 该地址指针计
									数器为 16 位字长)
                                其他:默认为0:光标地址设置
						tartet:0			1				2
                        dat低位:  水平位置   偏置地址值  	低 8 位地址
                        dat高位:  垂直位置	  0				高 8 位地址
**  输出参数:           无
**  全局变量:           无
**  调用模块:           0XM240128.C文件内部调用
******************************************************************************************/
void OCM_ac(uchar target, uint dat);
/******************************************************************************************
**  函数名称:			void OCM_one_wr(uchar mod,uchar dat)
**  功能描述:			单次写液晶函数
**  输入参数:			mod:	mod =0: 地址加一	
								=1:地址减一		
								=2:	地址不变  
								其他: 地址不变 
						dat:	数据
**  输出参数:			无
**  全局变量:			无
**  调用模块:   		无
******************************************************************************************/
void OCM_onewr(uchar mod, uchar dat);
/******************************************************************************************
**  函数名称:			void OCM_autwr(uint addr, uchar num, uchar *p)
**  功能描述:			自动写液晶函数
**  输入参数:			addr:	液晶开始写的地址
						num:	自动写数据的个数
						*p:		写数据区
**  输出参数:			无
**  全局变量:			无
**  调用模块:   		无
******************************************************************************************/
void OCM_autwr(uint addr, uchar num, uchar *p);
/******************************************************************************************
**  函数名称:			uchar OCM_one_rd(uchar mod,uchar dat)
**  功能描述:			单次读液晶函数
**  输入参数:			mod:	mod =0: 地址加一	
								=1:地址减一		
								=2:	地址不变  
								其他: 地址不变 
**  输出参数:			uchar   读到的数据
**  全局变量:			无
**  调用模块:   		无
*******************************************************************************************/			
uchar OCM_onerd(uchar mod);
/******************************************************************************************
**  函数名称:			void OCM_picture(uint addr, uchar w, uchar h, uchar *tab)
**  功能描述:			图像显示
						图形的高和宽必须设置正确
**  输入参数:			addr: 显示起始地址
						h:	图像高(点单位)	横向取模方式	
						w:  图像宽(点单位)
						*tab:	地址必须是2维数组地址
**  输出参数:			无
**  全局变量:			无
**  调用模块:   		无
******************************************************************************************/
void OCM_picture(uint addr, uchar w, uchar h, uchar *tab);
/******************************************************************************************
**  函数名称:			void OCM_picture_lcr(uint addr, uchar w, uchar h)
**  功能描述:			清图像函数,清除图像
						图形的高和宽必须设置正确
**  输入参数:			addr: 显示起始地址
						h:	图像高(点单位)	横向取模方式	
						w:  图像宽(点单位)
**  输出参数:			无
**  全局变量:			无
**  调用模块:   		无
******************************************************************************************/
void OCM_picture_clr(uint addr, uchar w, uchar h);
/******************************************************************************************
**  函数名称:			void OCM_line_clr(uint addr,uchar dat)
**  功能描述:			单行清除数据
**  输入参数:			dat:		清屏数据
						addr:		地址
**  输出参数:			无
**  全局变量:			无
**  调用模块:   		无
******************************************************************************************/
void OCM_line_clr(uint addr,uchar dat);
/******************************************************************************************
**  函数名称:			void OCM_clr(uchar dat)
**  功能描述:			清屏函数
**  输入参数:			dat:		清屏数据
**  输出参数:			无
**  全局变量:			无
**  调用模块:   		无
******************************************************************************************/
void OCM_clr(uchar dat);
/******************************************************************************************
**  函数名称:			void OCM_init(void)
**  功能描述:			OCM240128初始化函数
**  输入参数:			无
**  输出参数:			无
**  全局变量:			无
**  调用模块:   		无
******************************************************************************************/
void OCM_init(void);


#endif











/*********************************END**********************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -