📄 i2c.asm
字号:
MOV b0_6,A
MOV A,_I2C[1]
AND A,01h
MOV b1_6,A
MOV A,b1_6
AND A,01h
MOV b1_6,A
CLR [0AH].0
RLC b1_6
MOV A,02h
ANDM A,b1_6
MOV A,b0_6
OR A,b1_6
MOV _I2C[1],A
L48:
#line 131 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 15 1 ; 131 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
INC CR7
L50:
#line 131 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR7
SUB A,0ffh
SNZ [0ah].0
JMP L47
#line 152 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,03h
MOV _ucWatch2,A
#line 152 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
L43:
RET
LOCAL b0_6 DB ?
LOCAL b1_6 DB ?
#line 126 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
LOCAL CR6 DB ? ; j
#pragma debug variable 8 15 CR6 j
#line 126 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
LOCAL CR7 DB ? ; i
#pragma debug variable 8 15 CR7 i
_SendByte ENDP
#line 156 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
@ReceiveByte .SECTION 'CODE'
PUBLIC _ReceiveByte
_ReceiveByte PROC
#pragma debug scope 21 1 ; 160 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 160 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,080h
MOV _I2C[1],A
#line 161 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,01h
MOV _I2C[4],A
#line 162 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CALL _PulseOut
#line 163 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR _I2C[2]
#line 165 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR CR12
#line 165 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L73
L70:
#pragma debug scope 22 21 ; 167 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 167 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0fdh
MOV b0_7,A
CLR b1_7
SZ [012H].7
SET b1_7.0
MOV A,01h
ANDM A,b1_7
CLR [0AH].0
RLC b1_7
MOV A,02h
ANDM A,b1_7
MOV A,b0_7
OR A,b1_7
MOV _I2C[1],A
#line 168 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [0AH].0
RLC _I2C[2]
#line 169 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR CR11
#line 169 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L79
L76:
#pragma debug scope 23 22 ; 171 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 171 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0feh
MOV b0_7,A
CLR b1_7
SZ [012H].7
SET b1_7.0
MOV A,b1_7
AND A,01h
MOV b1_7,A
MOV A,b1_7
AND A,01h
MOV b1_7,A
MOV A,b0_7
OR A,b1_7
MOV _I2C[1],A
#line 172 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SNZ _I2C[1].0
JMP L81
SZ _I2C[1].1
JMP L81
#pragma debug scope 24 23 ; 174 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 174 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[2]
AND A,0feh
MOV b0_7,A
CLR b1_7
SZ [012H].6
SET b1_7.0
MOV A,b1_7
AND A,01h
MOV b1_7,A
MOV A,b1_7
AND A,01h
MOV b1_7,A
MOV A,b0_7
OR A,b1_7
MOV _I2C[2],A
#line 175 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L78
L81:
#line 177 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 23 22 ; 177 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0fdh
MOV b0_7,A
MOV A,_I2C[1]
AND A,01h
MOV b1_7,A
MOV A,b1_7
AND A,01h
MOV b1_7,A
CLR [0AH].0
RLC b1_7
MOV A,02h
ANDM A,b1_7
MOV A,b0_7
OR A,b1_7
MOV _I2C[1],A
L77:
#line 169 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 22 21 ; 169 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
INC CR11
L79:
#line 169 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR11
SUB A,0ffh
SNZ [0ah].0
JMP L76
L78:
#line 179 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR11
XOR A,0ffh
SNZ [0ah].2
JMP L88
#line 180 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
#line 180 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L66
L88:
L71:
#line 165 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 21 1 ; 165 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
INC CR12
L73:
#line 165 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR12
SUB A,08h
SNZ [0ah].0
JMP L70
#line 183 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0fdh
MOV b0_7,A
CLR b1_7
SZ [012H].7
SET b1_7.0
MOV A,01h
ANDM A,b1_7
CLR [0AH].0
RLC b1_7
MOV A,02h
ANDM A,b1_7
MOV A,b0_7
OR A,b1_7
MOV _I2C[1],A
#line 184 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR CR12
#line 184 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L94
L91:
#pragma debug scope 25 21 ; 186 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 186 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0feh
MOV b0_7,A
CLR b1_7
SZ [012H].7
SET b1_7.0
MOV A,b1_7
AND A,01h
MOV b1_7,A
MOV A,b1_7
AND A,01h
MOV b1_7,A
MOV A,b0_7
OR A,b1_7
MOV _I2C[1],A
#line 187 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SNZ _I2C[1].0
JMP L96
SZ _I2C[1].1
JMP L96
#pragma debug scope 26 25 ; 189 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 189 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SZ [012H].6
JMP L93
#line 190 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
#line 190 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L66
L96:
#line 194 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 25 21 ; 194 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0fdh
MOV b0_7,A
MOV A,_I2C[1]
AND A,01h
MOV b1_7,A
MOV A,b1_7
AND A,01h
MOV b1_7,A
CLR [0AH].0
RLC b1_7
MOV A,02h
ANDM A,b1_7
MOV A,b0_7
OR A,b1_7
MOV _I2C[1],A
L92:
#line 184 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 21 1 ; 184 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
INC CR12
L94:
#line 184 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR12
SUB A,0ffh
SNZ [0ah].0
JMP L91
L93:
#line 196 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR12
XOR A,0ffh
SNZ [0ah].2
JMP L104
#line 197 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
#line 197 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L66
L104:
#line 199 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,01h
MOV _I2C[4],A
#line 200 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR _I2C[1]
#line 201 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CALL _PulseOut
#line 203 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C[3].6
#line 204 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 205 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C[3].7
#line 206 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 207 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
SET [05H].0
L66:
RET
LOCAL b0_7 DB ?
LOCAL b1_7 DB ?
#line 158 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
LOCAL CR11 DB ? ; j
#pragma debug variable 8 21 CR11 j
#line 157 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
LOCAL CR12 DB ? ; i
#pragma debug variable 8 21 CR12 i
_ReceiveByte ENDP
#line 211 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
@Send .SECTION 'CODE'
PUBLIC _Send
_Send PROC
#pragma debug scope 27 1 ; 213 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 213 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CALL _SendStart
MOV b0_8,A
SNZ b0_8.0
JMP L113
#pragma debug scope 28 27 ; 215 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 215 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SWAPA _I2C[5]
AND A,0F0H
MOV _I2C[1],A
#line 216 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[6]
ORM A,_I2C[1]
#line 217 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CALL _SendByte
MOV b0_8,A
SNZ b0_8.0
JMP L119
#pragma debug scope 29 28 ; 219 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 219 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[6]
MOV b0_8,A
MOV A,b0_8
XOR A,01h
SZ [0ah].2
JMP L124
MOV A,b0_8
XOR A,03h
SZ [0ah].2
JMP L134
#line 219 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L121
L124:
#pragma debug scope 30 29 ; 222 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 222 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR CR20
#line 222 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L128
L125:
#pragma debug scope 31 30 ; 224 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 224 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR20
ADD A,OFFSET _I2C[8]
MOV b0_8,A
MOV A,b0_8
MOV [01H],A
MOV A,[00H]
MOV b0_8,A
MOV A,b0_8
MOV _I2C[1],A
#line 225 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CALL _SendByte
MOV b0_8,A
SZ b0_8.0
JMP L132
#pragma debug scope 32 31 ; 226 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 226 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR20
MOV _ucWatch,A
#line 226 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L127
L132:
L126:
#line 222 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 30 29 ; 222 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
INC CR20
L128:
#line 222 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR20
SUB A,_I2C[7]
SNZ [0ah].0
JMP L125
L127:
#line 228 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
SET [05H].0
#line 228 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L112
L134:
#line 231 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR CR20
#line 231 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L138
L135:
#pragma debug scope 33 30 ; 233 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 233 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CALL _ReceiveByte
MOV b0_8,A
SZ b0_8.0
JMP L140
#line 234 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L137
L140:
#line 235 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR20
ADD A,OFFSET _I2C[8]
MOV b0_8,A
MOV A,b0_8
MOV [01H],A
MOV A,_I2C[2]
MOV [00H],A
L136:
#line 231 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -