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

📄 7290.h

📁 atmega32对ch375的读写程序
💻 H
字号:
#include <avr/io.h>
#include "i2c.h"
#include "i2c.c"
#include "styte.h"

#include <delay.c>



#define zlg7290 0x70 
//0x70是zlg7290的从地址 
#define SubKey 0x01 
//键值寄存器Key(地址:01H),码键值子地址 
#define SubCmdBuf 0x07 
//寄存器CmdBuf0(地址:07H),命令缓冲区子地址 
#define SubDpRam 0x10 
//显示缓冲区DpRam0(地址:0x10),显示子地址 
/*状态标志*/ 
uchar disp_buf[8]={0,0,0,0,0,0,0,0}; 
uchar rd[8]={1,2,3,4,5,6,7,8}; //1234-56-78 


/********************************************************************************************/ 
/*************************以下是对ZLG7290的定义和使用****************************************/ 
/********************************************************************************************/ 
/**************************ZLG7290库函数程序**************************************************/ 







/*ZLG7290的I2C接口传输速率可达32kbit/s,容易与处理器接口.并提供键盘中断信号,提高主处 
理器时间效率.ZLG7290的从地址 (slave address)为70H(01110000B).*/ 



/*ZLG7290B的I2C总线器件地址是70H(写操作)和71H(读操作).*/ 




/*ZLG7290提供两种控制方式:寄存器映象控制和命令解释控制, 
寄存器映象控制是指直接访问底层寄存器,实现基本控制功能,这些寄存器须字节操作 
命令解释控制是指通过解释命令缓冲区(CmdBuf0CmdBuf1)中的指令,间接访问底层寄存器实 
现扩展控制功能.如实现寄存器的位操作,对显示缓存循环,移位;对操作数译码等操作.*/ 



//***************寄存器映象控制******************// 
/*********************************************************************** 
** 函数名称: ZLG7290_SendData 
** 功能描述: 发送数据 
** 输 入:SubAdd : 输入数据 
** DATA : 输入值 
** 
** 输 出: 0 : Fail 
** 1 : OK 
** 全局变量: 无 
** 调用模块: delayMS 
**-------------------------------------------------------------------------------------------------- 
***********************************************************************/
//功能:向器件地址为zlg7290的ZLG7290芯片的SubAdd地址的寄存器写一字节Data 
uchar ZLG7290_SendData(uchar SubAdd,uchar Data) 
{ 
if(SubAdd>0x17)//0x17表示:DpRam0~7的最大地址,它的范围是(0x10~0x17),共八位数码管 
return 0;//超出于0x17的范围,即超出八位数码管数目就返回0 
twi_write_byte(zlg7290,SubAdd,Data);//twi_write_byte为发送一字节,zlg7290表示从机,SubAdd为地址,Data为数据 
DelayMs11(10); 
return 1; 
} 

//************发送命令函数***********************/ 
/*********************************************************************** 
** 函数名称: ZLG7290_SendCmd 
** 功能描述: 发送命令(对子地址7、8) 
** 输 入:DATA1 : 命令1 
** DATA2 : 命令2 
** 
** 输 出: 0 : Fail 
** 1 : OK 
** 全局变量: 无 
** 调用模块: TWI_Send_Mux、delayMS 
**-------------------------------------------------------------------------------------------------- 
***********************************************************************/ 

//功能:向命令缓冲区0x07、0x08发送命令,(0x07~0x08是CmdBuf0~2命令接口:包括译码,移位) 
// 寄存器CmdBuf0(地址:07H)和CmdBuf1(地址:08H)共同组成命令缓冲区。 
//通过向命令缓冲区写入相关的控制命令可以实现段寻址、下载显示数据、控制闪烁等功能 
uchar ZLG7290_SendCmd(uchar Data1,uchar Data2) 
{uchar Data[2]; 
Data[0]=Data1; 
Data[1]=Data2; 
twi_write_str(zlg7290,0x07,Data,2);//twi_write_str发送N个字节(这里N为2),zlg7290为从机,0x07是地址 
DelayMs11(10); 
return 1; 
} 

//**********向显示缓冲区送显示数据***************
/*********************************************************************** 
** 函数名称: ZLG7290_SendBuf 
** 功能描述: 向显示缓冲区发送数据 
** 输 入: * disp_buf : 要发送数据的起始地址 
** num : 发送个数 
** 
** 输 出: 无 
** 全局变量: 无 
** 调用模块: ZLG7290_SendCmd 
**-------------------------------------------------------------------------------------------------- 
***********************************************************************/ 

//功能:送显示数据。需要给出显示缓冲区首址和显示的数据个数(<8个) 
/*显示缓存寄存器(DpRam0~DpRam7):地址10H~17H,复位值00H~00H.缓存中一位置 
1表示该像素亮,DpRam7~DpRam0的显示内容对应Dig7~Dig0引脚 */ 
/*void ZLG7290_SendBuf(uchar *disp_buf,uchar num) 
{uchar i; 
for(i=0;i<num;i++) 
{ 
//ZLG7290_SendCmd(0x60+i,*disp_buf);//在第i位数码管译码并显示DpBuf[i] 
disp_buf++; 
DelayMs(10); 
} 
} 

/***********取得按键编号****************/
/*********************************************************************** 
** 函数名称: ZLG7290_GetKey 
** 功能描述: 读取键值 
** 输 入: 无 
** 
** 输 出: >0 键值 
** =0 无键按下 
** 全局变量: 无 
** 调用模块: TWI_Receive、delayMS 
** 
**------------------------------------------------------------------------------------------------- 
***********************************************************************/ 

/*uchar ZLG7290_GetKey() 
{uchar rece; 
rece=twi_read_byte(zlg7290,1);//键值寄存器Key地址是01H,所以此处Address=1;zlg7290为从机 
DelayMs(10); 
return rece; 
} */









⌨️ 快捷键说明

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