#define zlg7290 0x70 //ZLG7290的IIC地址
#define SubKey 0x01
#define SubCmdBuf 0x07
#define SubDpRam 0x10
/*********************************************************************************************************
** 函数名称: DelayNS
** 功能描述: 长软件延时
** 输 入: i : 延时参数,值越大时延时越久
**
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
**
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void delayMS(uint32 dly)
{ uint32 i;
for(; dly>0; dly--)
for(i=0; i<500; i++);
}
/*********************************************************************************************************
** 函数名称: ZLG7290_SendData
** 功能描述: 发送数据
** 输 入:SubAdd : 输入数据
** DATA : 输入值
**
** 输 出: 0 : Fail
** 1 : OK
** 全局变量: 无
** 调用模块: delayMS
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
unsigned char ZLG7290_SendData(unsigned char SubAdd,unsigned char Data)
{
if(SubAdd>0x17)
return 0;
ISendStr(zlg7290,SubAdd,&Data,1);
delayMS(10);
return 1;
}
/*********************************************************************************************************
** 函数名称: ZLG7290_SendCmd
** 功能描述: 发送命令(对子地址7、8)
** 输 入:DATA1 : 命令1
** DATA2 : 命令2
**
** 输 出: 0 : Fail
** 1 : OK
** 全局变量: 无
** 调用模块: ISendStr、delayMS
**
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
unsigned char ZLG7290_SendCmd(unsigned char Data1,unsigned char Data2)
{
unsigned char Data[2];
Data[0]=Data1;
Data[1]=Data2;
ISendStr(zlg7290,0x07,Data,2);
delayMS(10);
return 1;
}
/*********************************************************************************************************
** 函数名称: ZLG7290_SendBuf
** 功能描述: 向显示缓冲区发送数据
** 输 入: * disp_buf : 要发送数据的起始地址
** num : 发送个数
**
** 输 出: 无
** 全局变量: 无
** 调用模块: ZLG7290_SendCmd
**
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void ZLG7290_SendBuf(unsigned char * disp_buf,unsigned char num)
{
unsigned char i;
for(i=0;i<num;i++)
{
ZLG7290_SendCmd(0x60+i,*disp_buf);
disp_buf++;
}
}
/*********************************************************************************************************
** 函数名称: ZLG7290_GetKey
** 功能描述: 读取键值
** 输 入: 无
**
** 输 出: >0 键值
** =0 无键按下
** 全局变量: 无
** 调用模块: IRcvStr、delayMS
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
unsigned char ZLG7290_GetKey(void)
{
unsigned char rece;
rece=0;
IRcvStr(zlg7290,0x01,&rece,1);
delayMS(10);
return rece;
}