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

📄 zlg7290.c

📁 致远的MagicARM2410上的关于ARM的所有实验代码
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                     
**                                 http://www.zyinside.com
**
**--------------File Info-------------------------------------------------------------------------------
** File Name: ZLG7290.C
** Last modified Date: 2006-01-13
** Last Version: v1.1
** Description: ZLG7290操作软件包。
**------------------------------------------------------------------------------------------------------
** Created By: 叶皓贲
** Created date: 2003-03-04  
** Version: v1.0
** Descriptions:
**
**------------------------------------------------------------------------------------------------------
** Modified by:黄绍斌
** Modified date:2006-01-13
** Version:v1.1
** Description:
**
********************************************************************************************************/
#define  IN_ZLG7290
#include  "config.h"

#define  ZLG7290 	0x70 		/* ZLG7290的IIC地址 */


// ZLG7290寄存器地址(子地址)
#define  SubKey  	0x01 
#define  SubCmdBuf 	0x07
#define  SubDpRam 	0x10



/*********************************************************************************************************
** Function name: DelayMS
** Descriptions: 长软件延时
** Input: i    延时参数,值越大时延时越久
** Output: 无
** Created by: 叶皓贲
** Created Date: 2003-03-04 
**-------------------------------------------------------------------------------------------------------
** Modified by: 黄绍斌
** Modified Date: 2006-01-13
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void DelayMS(uint32 dly)
{  
    uint8  i;

    for(; dly>0; dly--) 
      for(i=0; i<100; i++);
}



/*********************************************************************************************************
** Function name: ZLG7290_SendData
** Descriptions: 发送数据
** Input: SubAdd 	输入数据
**        DATA 	 	输入值
** Output: 0 表示Fail
**         1 表示OK
** Created by: 叶皓贲
** Created Date: 2003-03-04 
**-------------------------------------------------------------------------------------------------------
** Modified by: 黄绍斌
** Modified Date: 2006-01-13
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
unsigned char ZLG7290_SendData(unsigned char SubAdd,unsigned char Data)
{
    unsigned char suba[2];
    
	if(SubAdd>0x17) return 0;
	
	suba[0] = 1;                        // 子地址个数, chg by HSB
	suba[1] = SubAdd;                   // 子地址,  chg by HSB
	ISendStr(ZLG7290, suba, &Data, 1);  // chg by HSB
	DelayMS(10);
	return 1;
}



/*********************************************************************************************************
** Function name: ZLG7290_SendCmd
** Descriptions: 发送命令(对子地址7、8)
** Input: DATA1    命令1
**        DATA2    命令2
** Output: 0 表示Fail
**         1 表示OK
** Created by: 叶皓贲
** Created Date: 2003-03-04 
**-------------------------------------------------------------------------------------------------------
** Modified by: 黄绍斌
** Modified Date: 2006-01-13
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
unsigned char ZLG7290_SendCmd(unsigned char Data1,unsigned char Data2)
{
    unsigned char Data[2];
    unsigned char suba[2];
    
	Data[0] = Data1;
	Data[1] = Data2;
	suba[0] = 1;                        // chg by HSB
	suba[1] = SubCmdBuf;                // chg by HSB
	ISendStr(ZLG7290, suba, Data, 2);   // chg by HSB
	DelayMS(10);
	
	return(1);
}  



/*********************************************************************************************************
** Function name: ZLG7290_SendBuf
** Descriptions: 向显示缓冲区发送数据
** Input: *disp_buf  	要发送数据的起始地址
**         num 			发送个数
** Output: 无
** Created by: 叶皓贲
** Created Date: 2003-03-04 
**-------------------------------------------------------------------------------------------------------
** Modified by: 黄绍斌
** Modified Date: 2006-01-13
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
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++;
	}
}



/*********************************************************************************************************
** Function name: ZLG7290_GetKey
** Descriptions: 读取键值
** Input: 无
** Output: >0 表示键值  (低8位为键码,高8位为按键次数)
**         =0 表示无键按下
** Created by: 叶皓贲
** Created Date: 2003-03-04 
**-------------------------------------------------------------------------------------------------------
** Modified by: 黄绍斌
** Modified Date: 2006-01-13
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
unsigned short	ZLG7290_GetKey(void)
{
    unsigned char rece[2];    
    unsigned char suba[2];
    
    rece[0] = rece[1] =  0;             // chg by HSB
	suba[0] = 1;                        // chg by HSB
	suba[1] = SubKey;                   // chg by HSB    	
	IRcvStr(ZLG7290, suba, rece, 2);    // chg by HSB   
	DelayMS(10);
	
	return (rece[0] | (rece[1]<<8));    // chg by HSB   
}


/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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