打印

关于89s52和at88sc0104通信问题?

[复制链接]
2269|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JOHN_LLCH|  楼主 | 2010-2-11 19:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
哪位高手帮我看看关于89s52和加密芯片at88sc0104通信问题在哪里?
主要是at88sc0104无ACK信号,不知问题在哪里?附89S52程序如下:
;//============================================
;//  mcu:89s52   加密芯片:at88sc0104  iic 连接
;//============================================
SDA        BIT      P3.2
SCL        BIT      P3.3
;//********************************************
         ORG    0000H
         LJMP   START
         ORG    100H
START:
         LCALL   IIC_Initial                 
         LCALL    Start_IIC  
         ;///send B4H=1011 0100 b
         SETB     SDA   ;//bit7=1
         LCALL    Delay
         SETB     SCL
         LCALL    Delay
         ;----------------
         CLR      SCL
         LCALL    Delay
         CLR      SDA  ;//bit6=0
         LCALL    Delay
         SETB     SCL
         LCALL    Delay
         ;-----------------
         CLR      SCL
         LCALL    Delay
         SETB     SDA   ;//bit5=1
         LCALL    Delay
         SETB      SCL
         LCALL    Delay
         ;------------------
         CLR       SCL
         LCALL    Delay
         SETB      SDA   ;//bit4=1
         LCALL    Delay
         SETB      SCL
         LCALL    Delay
         ;-----------------
         CLR      SCL
         LCALL    Delay
         CLR      SDA    ;//bit3=0
         LCALL    Delay
         SETB      SCL
         LCALL    Delay
         ;------------------
         CLR      SCL
         LCALL    Delay
         SETB     SDA   ;//bit2=1
         LCALL    Delay
         SETB      SCL
         LCALL    Delay
         ;-----------------
         CLR      SCL
         LCALL    Delay
         CLR      SDA   ;//bit1=0
         LCALL    Delay
         SETB      SCL
         LCALL    Delay
         ;------------------
         CLR      SCL
         LCALL    Delay
         CLR      SDA    ;//bit0=0
         LCALL    Delay
         SETB      SCL
         LCALL    Delay
         ;------------------
         CLR       SCL
         SETB      SDA
         LCALL     Delay         
         SETB      SCL   ;//9 scl high
        ;;; LCALL     Delay
         ;---------------------
         MOV      R0,#10H
         MOV      R1,#1
         ;=============WAIT  FOR ACK                       
L_Check_ACK_Loop:         
         MOV      C,SDA
         JNC      L_Is_ACK         
         DJNZ     R0,L_Check_ACK_Loop
         DJNZ     R1,L_Check_ACK_Loop
         MOV      P1,#11000011B  ;//led 0.1.6.7
G0:      SJMP     G0
L_Is_ACK:         
         MOV      P1,#00111100B  ;//led 2.3.4.5
G1:      SJMP     G1                 
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
IIC_Initial:
          SETB   SDA
          LCALL    Delay
          SETB   SCL    ;//1
          LCALL    Delay
          CLR    SCL
          LCALL    Delay
          SETB   SCL    ;//2
          LCALL    Delay
          CLR    SCL
          LCALL    Delay
          SETB   SCL    ;//3
          LCALL    Delay
          CLR    SCL  
          LCALL    Delay
          SETB   SCL    ;//4
          LCALL    Delay
          CLR    SCL
          LCALL    Delay
          SETB   SCL    ;//5
          LCALL    Delay
          CLR    SCL
          LCALL    Delay
          CLR    SDA
          LCALL    Delay
          SETB   SDA
          SETB   SCL
          LCALL  Delay
          RET
;//***************************************************
Start_IIC:
          SETB     SCL
          LCALL    Delay  
          SETB     SDA
          LCALL    Delay
          CLR      SDA
          LCALL    Delay
          CLR      SCL
          LCALL    Delay
          RET
;//================================
Delay:   
          nop
          nop
          ret                                 
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
          END

相关帖子

沙发
mohanwei| | 2010-2-23 12:16 | 只看该作者
最好直接用厂家提供的例程

使用特权

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

本版积分规则

6

主题

14

帖子

1

粉丝