打印

93C46存储芯片问题

[复制链接]
1466|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tao180539|  楼主 | 2012-9-14 16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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的程序哪里不行
我找了好长时间 就是发现不了

相关帖子

沙发
qq65411253| | 2012-9-14 18:32 | 只看该作者
楼主这样问,估计没有人愿意回答。
应当把软、硬件环境,“不行”的现象都表达出来,这样逛帖子的才好帮你分析。一般人都不会有耐心看你的程序的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

321

主题

515

帖子

3

粉丝