导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→初学者:求助!![babyjames]

 *第4107篇: 初学者:求助!!

  
楼 主:babyjames 2002年7月17日17:24
 初学者:求助!!
你们好!有件事想请你们这些高手帮帮我,我有个24lc02b的iic总线的读写应用程序.用伟福
仿真器仿真时就是得不到结果,不知错在哪里,你能救救我吗?我的生死就靠这个程序了.

MTD EQU 30H ;发送数据缓冲区
MRD EQU 40H ;接收数据缓冲区
NUMBYT EQU 51H ;传送字节数
SLA EQU 52H ;器件读/写地址
SCL EQU P1.1
SDA EQU P1.0
ORG 0000H
AJMP MAIN
ORG 0080H
MAIN:
MOV SP,#60H
MOV 30H,#10H
MOV 31H,#02H
MOV 32H,#04H
MOV 33H,#06H
MOV 34H,#08H
MOV 35H,#0AH
MOV SLA,#0A0H
MOV NUMBYT,#06H
LCALL WRNBYT
MOV SLA,#0A1H
MOV NUMBYT,#06H
LCALL RDNBYT
RET

START:
SETB SDA
NOP
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SDA
NOP
NOP
NOP
NOP
NOP
CLR SCL
NOP
RET
STOP:
CLR SDA
NOP
SETB SCL
NOP
NOP
NOP
NOP
NOP
SETB SDA
NOP
NOP
NOP
NOP
CLR SDA
NOP
CLR SCL
RET
MACK:
CLR SDA
NOP
NOP
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
NOP
NOP
SETB SDA
NOP
RET

MNACK:
SETB SDA
NOP
NOP
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
NOP
NOP
CLR SDA
NOP
RET
CACK:
SETB SDA
NOP
NOP
SETB SCL
CLR F0
NOP
NOP
MOV C,SDA
JNC CEND
SETB F0
CEND:
NOP
CLR SCL
NOP
RET
WRBYT:
MOV R0,#08H
WLP:
RLC A
JC WR1
AJMP WR0
WLP1:
DJNZ R0,WLP
NOP
RET
WR1:
SETB SDA
NOP
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
NOP
NOP
CLR SDA
AJMP WLP1
WR0:
CLR SDA
NOP
SETB SCL
NOP
NOP
NOP
NOP
NOP
CLR SCL
AJMP WLP1
RDBYT:
MOV R0,#08H
RLP:
SETB SDA
NOP
SETB SCL
NOP
NOP
MOV C,SDA
MOV A,R2
RLC A
MOV R2,A
NOP
CLR SCL
NOP
NOP
DJNZ R0,RLP
RET

WRNBYT:
MOV A,NUMBYT
MOV R3,A
LCALL START
MOV A,SLA
LCALL WRBYT
LCALL CACK
JB F0,WRNBYT
MOV R1,#MTD
WRDA:
MOV A,@R1
LCALL WRBYT
LCALL CACK
JB F0,WRNBYT
INC R1
DJNZ R3,WRDA
LCALL STOP
RET

RDNBYT:
MOV R3,NUMBYT
LCALL START
MOV A,SLA
LCALL RDBYT
LCALL CACK
JB F0,RDNBYT
RDN:
MOV R1,#MRD
RDN1:
LCALL RDBYT
MOV @R1,A
DJNZ R3,ACK
LCALL MNACK
LCALL STOP
RET
ACK:
LCALL MACK
INC R1
SJMP RDN1


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:C51编程:有谁知道51的芯片有没有掉电复位锁定检测功能?

[下一篇主题]:初学者:51tcp/ip