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

📄 spi.c.bak

📁 一个基于XMODEM协议的下载字库的程序
💻 BAK
字号:

#define SPI_GLOBAL
#include "config.h"

unsigned char bdata gg;
sbit ggbit0 = gg^0;
sbit ggbit1 = gg^1;
sbit ggbit2 = gg^2;
sbit ggbit3 = gg^3;
sbit ggbit4 = gg^4;
sbit ggbit5 = gg^5;
sbit ggbit6 = gg^6;
sbit ggbit7 = gg^7;

void SPI_SendChar(INT8U ch)
{
	INT8U data i=8;
	
	while(i--)
	{
		SCK = 0;
		if((ch & 0x80) == 0x80)	SI = 1;
		else					SI = 0;
		SCK = 1;
		ch <<= 1;
	}
}

INT8U SPI_ReadChar(void)
{
	INT8U data i=8, ch=0;
	
	while(i--)
	{
		ch <<= 1;
		SCK = 1;
		SCK = 0;
		
		if(SO == 1)	ch |= 0x01;
		else		ch &= 0xFE;
	}
	SCK = 1;
	
	return ch;
}

INT8U SPI_ReadStatus(void)
{
	INT8U data ch;
	
	CS = 0;
	SPI_SendChar(RDSR_INST);
JREAD_STATUS0:
	ch = SPI_ReadChar();
	if((ch & 0x01) == 1)	goto JREAD_STATUS0;
	CS = 1;
	
	return ch;
}

void SPI_EnPro(void)
{
	CS = 0;
	SPI_SendChar(PREN_INST);
	CS = 1;
	SPI_ReadStatus();
}

void SPI_DisPro(void)
{
	CS = 0;
	SPI_SendChar(PRDI_INST);
	CS = 1;
	SPI_ReadStatus();
}

void SPI_WriteStatus(INT8U st)
{
	SPI_EnPro();
	CS = 0;
	SPI_SendChar(PRSR_INST);
	SPI_SendChar(st);
	CS = 1;
	SPI_ReadStatus();
}

void SPI_EraseBulk(void)
{
	SPI_WriteStatus(0x00);	//关闭NX25P40写保护
	SPI_EnPro();
	CS = 0;
	SPI_SendChar(BULK_ERASE);
	CS = 1;
	SPI_ReadStatus();
}







void vProgramSPI(void)
{

}

⌨️ 快捷键说明

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