哪位高手帮我看看关于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 |