📄 基于stc单片机的zlg7290读写程序(改自周立功软件包).txt
字号:
基于STC单片机的zlg7290读写程序(改自周立功软件包)2007-08-13 23:20#include "REG51.h"
#include "viic_c51.h"
#define zlg7290 0x70 //ZLG7290的IIC地址
#define SubKey 0x01
#define SubCmdBuf 0x07
#define SubDpRam 0x10
/*********************************************************************************************************
** 函数名称: DelayNS
** 功能描述: 长软件延时
** 输 入: i : 延时参数,值越大时延时越久
**
** 输 出: 无
** 全局变量: 无
** 调用模块: 无
********************************************************************************************************/
void delayMS(unsigned char i)
{
unsigned char j,k;
for(k=0;k<i;k++)
for(j=0;j<60;j++);
}
/*********************************************************************************************************
** 函数名称: 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++;
}
}
说明:使用该函数时请包含我的IIC驱动包。
该程序主要实现了对7290内部寄存器的读写,至于写的数值的意义,请到周立功网站上下载数据手册!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -