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

* 9105: 初学者:求助!!

   babyjames 
babyjames发表的帖子 

 初学者:求助!!
你们好!有件事想请你们这些高手帮帮我,我有个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



发表时间:2002年7月17日17:24:00

  
回复该帖

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

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

[上一篇帖子]:C51编程:有谁知道51的芯片有没有掉电复位锁定检测功能?
[下一篇帖子]:初学者:51tcp/ip老古先生