QQ 群欢迎你加入 164238254 我们一起进步
#include<C8051F020.h>
#define TRY_TIME 800 //向 SD 卡写入命令之后,读取 SD 卡的回应次数,即读 TRY_TIME
//SD 卡同步时钟 输入 P0^0//SD 卡同步数据 输入 p0^2
sbit SD_CS=P0^4;//SD 卡片选 //SD 卡同步数据 输出 P0^1
typedef unsigned char uchar;
typedef unsigned int uint;
unsigned long laddr;
unsigned char SD_Reset();
unsigned char SD_Init();
unsigned char SD_Read_Sector(unsigned long addr);
unsigned char pbuf[10]; //数据缓冲区
unsigned char pbu[10];
uchar k;
void delay(unsigned int time)
{
while(time--);
}
void spi_cfg(uchar spicfg,uchar spickr,uchar spicn)
{SPI0CFG=spicfg;
SPI0CKR=spickr;
SPI0CN=spicn;
P0=0xff;
SPIEN=1;
}
void inti(void)
{WDTCN=0xde;
WDTCN=0xad;
XBR0=0x02;
XBR1=0x00;
XBR2=0x40;
OSCICN=0x17;
P0MDOUT=0x1f;
P1MDOUT=0xff;
}
void SD_spi_write(unsigned char x)
{
SPIF=0;
SPI0DAT=x;
while(TXBSY);
//P1=0x00;