void WriteEnable93C46(void)
{
unsigned char i=0;
unsigned char dump=0xc0; //11******b
CS=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=1;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=0;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=0;
_nop_();
_nop_();
CLK=1; //begin
_nop_();
_nop_();
for(i=0;i<7;i++)
{
DI=(dump&&0x80);
CLK=0;
_nop_();
_nop_();
//if((dump&0x80)==0x80) //按位与
// DI=1;
//else
// DI=0;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
dump=(dump<<1);
}
CLK=0;
CS=0;
}
void delay(unsigned char num)
{
unsigned char i;
for(i=0;i<num;i++)
_nop_();
}
unsigned char Read93c46Data(unsigned char address)
{
unsigned char dump=0;
unsigned char i=0;
CS=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=1;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=1;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=0;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
address=(address<<1); //后7位有效
for(i=0;i<7;i++)
{
DI=(address&&0x80);
CLK=0;
_nop_();
_nop_();
//if((address&0x80)==0x80)
// DI=1;
//else
// DI=0;
//DI=(address&&0x80);
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
address=(address<<1);
}
DO=1;
for(i=0;i<8;i++)
{
CLK=0;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
dump=(dump<<1);
if(DO==1)
dump|=0x01;
_nop_();
_nop_();
}
CLK=0;
CS=0;
return dump;
}
void Write93c46Data(unsigned char address , unsigned char dat)
{
unsigned char i=0;
CS=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=1;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=0;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
DI=1;
_nop_();
_nop_();
CLK=1; //begin
address=(address<<1); //后7位有效
for(i=0;i<7;i++)
{
DI=(address&&0x80);
CLK=0;
_nop_();
_nop_();
//if((address&0x80)==0x80)
// DI=1;
//else
// DI=0;
//DI=(address&&0x80);
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
address=address<<1;
}
for(i=0;i<8;i++)
{
DI=(dat&&0x80);
CLK=0;
_nop_();
_nop_();
/*
if((dat&0x80)==0x80)
DI=1;
else
DI=0;
*/
// DI=(dat&&0x80);
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
dat=dat<<1;
}
CLK=0;
CS=0;
_nop_();
_nop_();
}
大家看看 我的这个关于93C46的程序哪里不行
我找了好长时间 就是发现不了 |