#include <reg52.h>
#define uchar unsigned char
sbit SON = P2^6 ;// MISO
sbit SIN = P2^5 ;// MOSI
sbit SCKN = P2^7 ; // SCK
sbit CSN = P2^4;// 28J60-- CS
sfr WDT_CONTR=0xE1;
void InitSerial()
{
WDT_CONTR=0x00;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
// ET1=1;
SCON=0X50;
TR1=1;
ES=1;
EA=1;
}
void WriteByte(uchar temp)
{
idata uchar i;
for(i=0;i<8;i++)
{
SCKN=0;//delay_us(2);
SIN = temp & 0x80;
SCKN=1;//delay_us(2);
temp <<=1;
}
SCKN=0;
}
uchar ReadByte(void)
{
idata uchar i,dat1;
SCKN=0;dat1=0;
for(i=0;i<8;i++)
{
SCKN=1;//delay_us(2);
dat1 <<=1;
dat1 |= SON;
SCKN=0; //delay_us(2);
}
return dat1;
}
void SendString(char *px)
{
TI=0;
while(*px!='\0')
{
SBUF=*(px++);
while(!TI);
TI=0;
}
}
void delay()
{
unsigned int i=0;
uchar j=0;
for(j=0;j<200;j++)
for(i=0;i<500;i++);
}
void main()
{
P1=0XFF;
InitSerial();
CSN=0;
TI=0;
while(1)
{
WriteByte(0x01);
SBUF='a';
while(!TI);
TI=0;
delay();
P1=!P1;
}
}