导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教有关DS1307与C51进行IIC通信的问题

* 83907: 请教有关DS1307与C51进行IIC通信的问题

   darkang 
darkang发表的帖子 

 请教有关DS1307与C51进行IIC通信的问题
我在读写时钟芯片DS1307时,C51与其进行IIC通信没有应答,芯片地址码没问题,是什么原因,清高手指点一下,谢谢!
我的程序是:
unsigned char IICCheckAcknowledge()    /*IIC总线检测从机应答位*/
{
    unsigned char SDAState;
    SDA=1;        /*SDA=1; 线与吗?应为SDA=0?*/
 SCL=0;
    _nop_();
 _nop_();
 SCL=1;
    IICAckFlag=0;
    SDAState=SDA;
    if(SDAState==0)     /*应答正常*/
      {
    SCL=0;
    _nop_();
    _nop_();
    return(IICAckFlag);
      }
  else 
   {
       IICAckFlag=1;      /*应答不正常*/
    SCL=0;
       _nop_();
    _nop_();
    return(IICAckFlag);
   } 

就是当SCL高电平时,检测到SDA低电平就算是DS1307应答了 
IICAckFlag=0;是应答标志,先置0,如果没有应答则置1
SDAState=SDA;是采样时钟脉冲为高电平时的SDA状态,如果为高则没有应答,为低,则有应答。
这个程序有问题吗?
会不会跟电气特性不稳定有关系?
 


发表时间:2005年9月20日22:25:16

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  83933.[详细]顶一下,也遇到相似问题。
摘要:顶一下,也遇到相似问题。......(24字)
- [applet_sona][1035次] 2005年9月21日

  85995.[详细]我也是一个51刚上手不久的新手
摘要:发一个DS1307汇编程序给你参考一下:  ORG 000H AJMP PK ORG 03H AJMP TION1 ORG 000......(6542字)
- [jackedison84][1071次] 2005年11月22日

[上一篇帖子]:求援MC68332单片机中文说明书求援MC68332单片机中文说明书,
[下一篇帖子]:[原创] 我自己写的多线程调度器更新了~针对2410SAOS 0.11