打印

请教AT93C56的使用

[复制链接]
1786|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yenongqing|  楼主 | 2007-4-29 15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, AN, ADDR, DDR, TE
AT93C56

void at93c56_write(u_char addr,u_char mybyte)
{
  u_char i;
  at93c56_ewen();
  CS=0;SK=0;CS=1;DI=1;SK=1;SK=0;
  DI=0;SK=1;SK=0;DI=1;SK=1;SK=0;
  for(i=0;i<8;i++)
  {
    DI=addr&0x80;
    SK=1;SK=0;addr<<=1;
  }
  for(i=0;i<8;i++)
  {
     DI=mybyte&0x80;
     SK=1;SK=0;mybyte<<=1;
  }
  CS=0;D=1;CS=1;
  SK=0;
  while(!D)
  {
    SK=1;SK=0;
  }
    SK=0;CS=0;
 at93c56_ewds();
   P3_4=0;
}
上面的是它的写入程序
下面为读出:
u_char at93c56_read(u_char addr)
{
  u_char i,result;
  CS=0;SK=0;CS=1;DI=1;SK=1;SK=0;
  DI=1;SK=1;SK=0;DI=0;SK=1;SK=0;


  for(i=0;i<8;i++)
  {
    DI=addr&0x80;
    SK=1;SK=0;addr<<=1;
  }
  CS=0;D=1;CS=1;
  SK=0;
  while(!D)
  {
  SK=1;SK=0;
  }
  SK=1;SK=0;
  result=0;
  for(i=0;i<8;i++)
  {
    result<<=1;
    result=result|D;
    SK=1;SK=0;
  }
  CS=0;  P3_5=0;
  return(result);    
}

主程序

void main()
{
  at93c56_write(0x04,0x01);
  fanyangan=at93c56_read(0x04);
  while(1);
}


返回结果不正确 fanyangan为0XFF

还希望有用过的大哥大姐们指导一二
小弟不胜感激

相关帖子

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

本版积分规则

15

主题

25

帖子

0

粉丝