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

📄 zlg7289.c

📁 基于51单片机的语音存储与回放系统具有录制方便
💻 C
字号:
#include<reg51.h>
#include"Config.h"
#include"Config.c"
#include"TimeDLY.h"
#include"zlg7289.h"


//函数:SPI_WriteOneByte()
//功能:向SPI总线写数据
//说明:写入的数据长度为1字节
void SPI_WriteOneByte(INT8U Wdata)
{
	INT8U i;
	for(i=0;i<8;i++)
	{
		ZLG7289DIO = (bit)(Wdata&0x80);
		ZLG7289CLK = 1;
		Wdata <<= 1;
		nNop(1);
		ZLG7289CLK = 0;
		nNop(1);
		
		}
	}


//函数:SPI_ReadOneByte()
//功能:从SPI总线读数据
//说明:返回1字节数据
INT8U SPI_ReadOneByte()
{
	INT8U i,temp;
	ZLG7289DIO = 1;			//将I/O切换到输入状态
	for(i=0;i<8;i++)
	{
		ZLG7289CLK = 1;
		nNop(5);
		temp <<= 1;
		if(ZLG7289DIO) temp++;
		ZLG7289CLK	=	0;
		nNop(5);
		}
	return temp;
	}

//函数:ZLG7289_Instruc()
//功能:执行ZLG7289纯指令
//说明:指令长度为1字节
void ZLG7289_Instruc(INT8U Instruc)
{
	INT8U i;
	i = IE;
	IE &= 0xfa;							// Disable external interrupt;
	ZLG7289CS = 0;
	nNop(5);
	SPI_WriteOneByte(Instruc);
	ZLG7289CS = 1;
	nNop(5);
	IE = i;								
	}


//函数:ZLG7289_Instruc_Data
//功能:执行ZLG7289带数据指令
//说明:指令长度以及数据长度均为1字节
void ZLG7289_Instruc_Data(INT8U Instruc,INT8U Data)
{
	INT8U i;
	i = IE;
	IE &= 0xfa;
	ZLG7289CS = 0;
	nNop(5);
	SPI_WriteOneByte(Instruc);
	nNop(5);
	SPI_WriteOneByte(Data);
	ZLG7289CS = 1;
	nNop(5);
	IE = i;
	}



//函数:ZLG7289_ReadKey()
//功能:执行ZLG7289读键盘指令
//说明:返回1字节的按键号
//			按键号的范围为:0 ~ 63(即0x0 ~ 0x3f)
//			若没有按按键被按下了,返回255(即0xff)
INT8U ZLG7289_ReadKey()
{
	INT8U Key;
	ZLG7289CS = 0;
	nNop(10);
	SPI_WriteOneByte(0x15);
	nNop(5);
	Key = SPI_ReadOneByte();
	nNop(1);
	ZLG7289CS = 1;
	nNop(5);
	return Key;
	}

⌨️ 快捷键说明

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