📄 i2c.asm
字号:
#pragma debug scope 1 1
#line 9 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
__latched EQU [02aH]
__vol EQU [029H]
__dah EQU [028H]
__dal EQU [027H]
__voicec EQU [026H]
__tmr3c EQU [025H]
__tmr3l EQU [024H]
__tmr2c EQU [022H]
__tmr2l EQU [021H]
__tmr2h EQU [020H]
__tbhp EQU [01fH]
__intch EQU [01eH]
__latch1l EQU [01dH]
__latch1m EQU [01cH]
__latch1h EQU [01bH]
__latch0l EQU [01aH]
__latch0m EQU [019H]
__latch0h EQU [018H]
__pcc EQU [017H]
__pc EQU [016H]
__pbc EQU [015H]
__pb EQU [014H]
__pac EQU [013H]
__pa EQU [012H]
__tmr1c EQU [011H]
__tmr1l EQU [010H]
__tmr1h EQU [0fH]
__tmr0c EQU [0eH]
__tmr0l EQU [0dH]
__tmr0h EQU [0cH]
__intc EQU [0bH]
__status EQU [0aH]
__wdts EQU [09H]
__tblh EQU [08H]
__tblp EQU [07H]
__pcl EQU [06H]
__acc EQU [05H]
__mp1 EQU [03H]
__iar1 EQU [02H]
__mp0 EQU [01H]
__iar0 EQU [00H]
@SYSTEM_INITIAL .SECTION 'CODE'
PUBLIC _SYSTEM_INITIAL
_SYSTEM_INITIAL PROC
#pragma debug scope 2 1 ; 10 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 10 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CALL _SPEECH_INITIAL
#line 11 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET __pac
#line 12 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,0f0h
MOV __pbc,A
#line 13 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,03h
MOV __pcc,A
#line 14 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,080h
MOV __tmr1c,A
#line 15 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET [0BH].0
#line 16 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET [0BH].2
#line 17 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [0BH].3
#line 18 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET [01EH].0
#line 19 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [01EH].1
#line 21 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,090h
MOV __tmr2c,A
#line 22 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,0fch
MOV __tmr2h,A
#line 23 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,018h
MOV __tmr2l,A
#line 25 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [011H].4
#line 26 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [022H].4
#line 27 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [025H].4
L4:
RET
_SYSTEM_INITIAL ENDP
#line 31 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
@GameInitial .SECTION 'CODE'
PUBLIC _GameInitial
_GameInitial PROC
#pragma debug scope 3 1 ; 32 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 32 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,0e0h
MOV _I2C[3],A
L5:
RET
_GameInitial ENDP
#line 39 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
@INTERRUPT_TIMER1_I2C .SECTION 'CODE'
PUBLIC _INTERRUPT_TIMER1_I2C
_INTERRUPT_TIMER1_I2C PROC
#line 41 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
mov _ucI2CAcc,a
#line 42 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
mov a,[0ah]
#line 43 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
mov _ucI2CStatus,a
#pragma debug scope 4 1 ; 45 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 45 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SNZ _I2C.0
JMP L8
#pragma debug scope 5 4 ; 47 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 47 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [0AH].0
RRCA _I2C
MOV b0_3,A
SNZ b0_3.0
JMP L10
#pragma debug scope 6 5 ; 49 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 49 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [012H].7
#line 50 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR _I2C[3].7
#line 51 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 53 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SNZ _I2C[1].7
JMP L14
#pragma debug scope 7 6 ; 55 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 55 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C[3].6
#line 56 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 57 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 6 5 ; 57 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L11
L14:
#pragma debug scope 8 6 ; 60 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 60 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [012H].6
#line 61 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR _I2C[3].6
#line 62 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 64 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 5 4 ; 64 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L11
L10:
#pragma debug scope 9 5 ; 67 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 67 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C[3].7
#line 68 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 69 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR _I2C.0
L11:
#line 71 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 5 4 ; 71 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C
MOV b0_3,A
MOV A,b0_3
AND A,0fdh
MOV b1_3,A
CLR [0AH].0
RRCA b0_3
MOV b0_3,A
MOV A,b0_3
AND A,01h
MOV b0_3,A
CPL b0_3
MOV A,b0_3
AND A,01h
MOV b0_3,A
CLR [0AH].0
RLC b0_3
MOV A,02h
ANDM A,b0_3
MOV A,b1_3
OR A,b0_3
MOV _I2C,A
L8:
#line 74 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
mov a,_ucI2CStatus
#line 75 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
mov [0ah],a
#line 76 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
mov a,_ucI2CAcc
#line 77 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
reti
L7:
RET
LOCAL b0_3 DB ?
LOCAL b1_3 DB ?
_INTERRUPT_TIMER1_I2C ENDP
#line 83 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
@PulseOut .SECTION 'CODE'
PUBLIC _PulseOut
_PulseOut PROC
#pragma debug scope 10 1 ; 84 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 84 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,0b0h
MOV __tmr1l,A
#line 85 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET __tmr1h
#line 86 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET [011H].4
#line 87 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET [0BH].3
#line 88 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C.1
#line 88 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L25
L24:
#pragma debug scope 11 10 ; 91 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 91 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C.0
#line 91 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L29
L28:
#pragma debug scope 12 11 ; 94 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 94 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET [011H].4
#line 95 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET [0BH].3
L29:
#line 92 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 11 10 ; 92 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SZ _I2C.0
JMP L28
#line 97 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [0AH].0
RLC _I2C[1]
#line 99 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C[1].0
#line 100 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
DEC _I2C[4]
L25:
#line 89 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 10 1 ; 89 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SZ _I2C[4]
JMP L24
#line 102 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [011H].4
#line 103 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [0BH].3
L23:
RET
_PulseOut ENDP
#line 107 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
@SendStart .SECTION 'CODE'
PUBLIC _SendStart
_SendStart PROC
#pragma debug scope 13 1 ; 108 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 108 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C[3].7
#line 109 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 110 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SET _I2C[3].6
#line 111 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 113 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SNZ [012H].7
JMP L39
SNZ [012H].6
JMP L39
#pragma debug scope 14 13 ; 115 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 115 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [012H].6
#line 116 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR _I2C[3].6
#line 117 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[3]
MOV __pac,A
#line 118 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 13 1 ; 118 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L40
L39:
#line 120 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
#line 120 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L34
L40:
#line 121 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
SET [05H].0
L34:
RET
_SendStart ENDP
#line 125 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
@SendByte .SECTION 'CODE'
PUBLIC _SendByte
_SendByte PROC
#pragma debug scope 15 1 ; 127 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 127 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
MOV _ucWatch3,A
#line 127 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,09h
MOV _I2C[4],A
#line 128 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CALL _PulseOut
#line 130 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0fdh
MOV b0_6,A
CLR b1_6
SZ [012H].7
SET b1_6.0
MOV A,01h
ANDM A,b1_6
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
#line 131 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR CR7
#line 131 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L50
L47:
#pragma debug scope 16 15 ; 133 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 133 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0feh
MOV b0_6,A
CLR b1_6
SZ [012H].7
SET b1_6.0
MOV A,b1_6
AND A,01h
MOV b1_6,A
MOV A,b1_6
AND A,01h
MOV b1_6,A
MOV A,b0_6
OR A,b1_6
MOV _I2C[1],A
#line 134 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SNZ _I2C[1].0
JMP L52
SZ _I2C[1].1
JMP L52
#pragma debug scope 17 16 ; 136 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 136 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SZ [012H].6
JMP L56
#pragma debug scope 18 17 ; 138 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 138 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR CR6
#line 138 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L61
L58:
#pragma debug scope 19 18 ; 140 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 140 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
SNZ [012H].6
JMP L62
SNZ [012H].7
JMP L62
#line 141 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
SET [05H].0
#line 141 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L43
L62:
L59:
#line 138 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 18 17 ; 138 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
INC CR6
L61:
#line 138 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,CR6
SUB A,0ffh
SNZ [0ah].0
JMP L58
#line 143 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,01h
MOV _ucWatch2,A
#line 143 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
#line 143 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L43
L56:
#pragma debug scope 20 17 ; 147 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#line 147 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,02h
MOV _ucWatch2,A
#line 147 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
CLR [05H]
#line 147 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
JMP L43
L52:
#line 150 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
#pragma debug scope 16 15 ; 150 "F:\我的文档\产品资料\DCT\I2C\I2C.C"
MOV A,_I2C[1]
AND A,0fdh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -