⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.asm

📁 HT单片机模拟I2C通讯
💻 ASM
字号:
#pragma debug scope 1 1
#line 16 "E:\HT\IIC\MAIN.C"
#line 19 "E:\HT\IIC\MAIN.C"
L2 .SECTION INPAGE'CODE'
l_2:
MOV [06h],A
_2:
RET A,18
RET A,32
RET A,40
RET A,254
RET A,22
RET A,69
RET A,152
RET A,115
RET A,85
RET A,1
__acsr EQU [023H]
__adcr EQU [022H]
__adrh EQU [021H]
__adrl EQU [020H]
__pwm EQU [01aH]
__pdc EQU [019H]
__pd EQU [018H]
__pbc EQU [015H]
__pb EQU [014H]
__pac EQU [013H]
__pa EQU [012H]
__tmrc EQU [0eH]
__tmr EQU [0dH]
__intc EQU [0bH]
__status EQU [0aH]
__tblh EQU [08H]
__tblp EQU [07H]
__pcl EQU [06H]
__acc EQU [05H]
__mp EQU [01H]
__iar EQU [00H]
@MAIN .SECTION 'CODE'
_main PROC
begin:
#pragma debug scope 2 1 ; 19 "E:\HT\IIC\MAIN.C"
#line 19 "E:\HT\IIC\MAIN.C"
MOV A,10
MOV RH,A
MOV A,OFFSET CR5
MOV [01H],A
MOV A,1
ADD A,OFFSET l_2
MOV T2,A
ASB32:
MOV A,T2
CALL l_2
MOV [00H],A
INC [01H]
INC T2
SDZ RH
JMP ASB32
#line 20 "E:\HT\IIC\MAIN.C"
MOV A,020h
MOV CR4,A
#line 21 "E:\HT\IIC\MAIN.C"
CALL _Init
#line 21 "E:\HT\IIC\MAIN.C"
JMP L4
L3:
#pragma debug scope 3 2 ; 24 "E:\HT\IIC\MAIN.C"
#line 24 "E:\HT\IIC\MAIN.C"
MOV A,0ah
MOV I2C_Write_N0,A
MOV A,CR4
MOV I2C_Write_N1,A
MOV A,OFFSET CR5
MOV I2C_Write_N2,A
CALL _I2C_Write_N
#line 25 "E:\HT\IIC\MAIN.C"
CLR CR1
#line 25 "E:\HT\IIC\MAIN.C"
JMP L9
L6:
#pragma debug scope 4 3 ; 27 "E:\HT\IIC\MAIN.C"
#line 27 "E:\HT\IIC\MAIN.C"
MOV A,CR1
ADD A,OFFSET CR3
MOV b0_1,A
MOV A,b0_1
MOV [01H],A
MOV A,00h
MOV [00H],A
L7:
#line 25 "E:\HT\IIC\MAIN.C"
#pragma debug scope 3 2 ; 25 "E:\HT\IIC\MAIN.C"
INC CR1
L9:
#line 25 "E:\HT\IIC\MAIN.C"
MOV A,CR1
SUB A,0ah
SNZ [0ah].0
JMP L6
#line 29 "E:\HT\IIC\MAIN.C"
MOV A,0ah
MOV I2C_Read_N0,A
MOV A,CR4
MOV I2C_Read_N1,A
MOV A,OFFSET CR3
MOV I2C_Read_N2,A
CALL _I2C_Read_N
#line 33 "E:\HT\IIC\MAIN.C"
CLR CR1
#line 33 "E:\HT\IIC\MAIN.C"
JMP L13
L10:
#pragma debug scope 5 3 ; 35 "E:\HT\IIC\MAIN.C"
#line 35 "E:\HT\IIC\MAIN.C"
CALL _I2C_Start
#line 36 "E:\HT\IIC\MAIN.C"
MOV A,0a0h
MOV I2C_Write_Byte0,A
CALL _I2C_Write_Byte
#line 37 "E:\HT\IIC\MAIN.C"
CALL _I2C_Ack
MOV b0_1,A
MOV A,b0_1
CLR b0_1
SZ [05H]
SET b0_1.0
CLR CR2
SZ b0_1
SET CR2
#line 38 "E:\HT\IIC\MAIN.C"
SZ CR2
JMP L14
#pragma debug scope 6 5 ; 40 "E:\HT\IIC\MAIN.C"
#line 40 "E:\HT\IIC\MAIN.C"
MOV A,CR4
ADD A,CR1
MOV b0_1,A
MOV A,b0_1
MOV I2C_Write_Byte0,A
CALL _I2C_Write_Byte
#line 41 "E:\HT\IIC\MAIN.C"
CALL _I2C_Ack
MOV b0_1,A
MOV A,b0_1
CLR b0_1
SZ [05H]
SET b0_1.0
CLR CR2
SZ b0_1
SET CR2
#line 42 "E:\HT\IIC\MAIN.C"
SZ CR2
JMP L16
#pragma debug scope 7 6 ; 44 "E:\HT\IIC\MAIN.C"
#line 44 "E:\HT\IIC\MAIN.C"
MOV A,CR1
ADD A,OFFSET CR5
MOV b0_1,A
MOV A,b0_1
MOV [01H],A
MOV A,[00H]
MOV b0_1,A
MOV A,b0_1
MOV I2C_Write_Byte0,A
CALL _I2C_Write_Byte
#line 45 "E:\HT\IIC\MAIN.C"
CALL _I2C_Ack
MOV b0_1,A
MOV A,b0_1
CLR b0_1
SZ [05H]
SET b0_1.0
CLR CR2
SZ b0_1
SET CR2
#line 46 "E:\HT\IIC\MAIN.C"
CALL _I2C_Stop
L16:
L14:
L11:
#line 33 "E:\HT\IIC\MAIN.C"
#pragma debug scope 3 2 ; 33 "E:\HT\IIC\MAIN.C"
INC CR1
L13:
#line 33 "E:\HT\IIC\MAIN.C"
MOV A,CR1
SUB A,0ah
SNZ [0ah].0
JMP L10
#line 52 "E:\HT\IIC\MAIN.C"
CLR CR1
#line 52 "E:\HT\IIC\MAIN.C"
JMP L21
L18:
#pragma debug scope 8 3 ; 54 "E:\HT\IIC\MAIN.C"
#line 54 "E:\HT\IIC\MAIN.C"
MOV A,CR1
ADD A,OFFSET CR3
MOV b0_1,A
MOV A,b0_1
MOV [01H],A
MOV A,00h
MOV [00H],A
L19:
#line 52 "E:\HT\IIC\MAIN.C"
#pragma debug scope 3 2 ; 52 "E:\HT\IIC\MAIN.C"
INC CR1
L21:
#line 52 "E:\HT\IIC\MAIN.C"
MOV A,CR1
SUB A,0ah
SNZ [0ah].0
JMP L18
#line 58 "E:\HT\IIC\MAIN.C"
CLR CR1
#line 58 "E:\HT\IIC\MAIN.C"
JMP L25
L22:
#pragma debug scope 9 3 ; 60 "E:\HT\IIC\MAIN.C"
#line 60 "E:\HT\IIC\MAIN.C"
CALL _I2C_Start
#line 61 "E:\HT\IIC\MAIN.C"
MOV A,0a0h
MOV I2C_Write_Byte0,A
CALL _I2C_Write_Byte
#line 62 "E:\HT\IIC\MAIN.C"
CALL _I2C_Ack
MOV b0_1,A
MOV A,b0_1
CLR b0_1
SZ [05H]
SET b0_1.0
CLR CR2
SZ b0_1
SET CR2
#line 63 "E:\HT\IIC\MAIN.C"
SZ CR2
JMP L26
#pragma debug scope 10 9 ; 65 "E:\HT\IIC\MAIN.C"
#line 65 "E:\HT\IIC\MAIN.C"
MOV A,CR4
ADD A,CR1
MOV b0_1,A
MOV A,b0_1
MOV I2C_Write_Byte0,A
CALL _I2C_Write_Byte
#line 66 "E:\HT\IIC\MAIN.C"
CALL _I2C_Ack
MOV b0_1,A
MOV A,b0_1
CLR b0_1
SZ [05H]
SET b0_1.0
CLR CR2
SZ b0_1
SET CR2
#line 67 "E:\HT\IIC\MAIN.C"
SZ CR2
JMP L28
#pragma debug scope 11 10 ; 69 "E:\HT\IIC\MAIN.C"
#line 69 "E:\HT\IIC\MAIN.C"
CALL _I2C_Start
#line 70 "E:\HT\IIC\MAIN.C"
MOV A,0a1h
MOV I2C_Write_Byte0,A
CALL _I2C_Write_Byte
#line 71 "E:\HT\IIC\MAIN.C"
CALL _I2C_Ack
MOV b0_1,A
MOV A,b0_1
CLR b0_1
SZ [05H]
SET b0_1.0
CLR CR2
SZ b0_1
SET CR2
#line 72 "E:\HT\IIC\MAIN.C"
SZ CR2
JMP L30
#pragma debug scope 12 11 ; 74 "E:\HT\IIC\MAIN.C"
#line 74 "E:\HT\IIC\MAIN.C"
CALL _I2C_Read_Byte
MOV b0_1,A
MOV A,CR1
ADD A,OFFSET CR3
MOV b1_1,A
MOV A,b1_1
MOV [01H],A
MOV A,b0_1
MOV [00H],A
#line 75 "E:\HT\IIC\MAIN.C"
CALL _I2C_Stop
L30:
L28:
L26:
L23:
#line 58 "E:\HT\IIC\MAIN.C"
#pragma debug scope 3 2 ; 58 "E:\HT\IIC\MAIN.C"
INC CR1
L25:
#line 58 "E:\HT\IIC\MAIN.C"
MOV A,CR1
SUB A,0ah
SNZ [0ah].0
JMP L22
L4:
#line 22 "E:\HT\IIC\MAIN.C"
#pragma debug scope 2 1 ; 22 "E:\HT\IIC\MAIN.C"
JMP L3
L1:
#line 81 "E:\HT\IIC\MAIN.C"
JMP $
LOCAL b0_1 DB ?
LOCAL b1_1 DB ?
#line 17 "E:\HT\IIC\MAIN.C"
LOCAL CR1 DB ? ; i
#pragma debug variable 8 2 CR1 i
#line 18 "E:\HT\IIC\MAIN.C"
LOCAL CR2 DBIT ; ack
#pragma debug variable 2 2 CR2 ack
#line 17 "E:\HT\IIC\MAIN.C"
LOCAL CR3 DB 10 DUP (?) ; rd_data
#pragma debug variable 4 2 CR3 rd_data
#line 17 "E:\HT\IIC\MAIN.C"
LOCAL CR4 DB ? ; addr
#pragma debug variable 8 2 CR4 addr
#line 19 "E:\HT\IIC\MAIN.C"
LOCAL CR5 DB 10 DUP (?) ; wr_data
#pragma debug variable 4 2 CR5 wr_data
_main ENDP
EXTERN I2C_Write_Byte0:BYTE
EXTERN I2C_Read_N2:BYTE
EXTERN I2C_Read_N1:BYTE
EXTERN I2C_Read_N0:BYTE
EXTERN I2C_Write_N2:BYTE
EXTERN I2C_Write_N1:BYTE
EXTERN I2C_Write_N0:BYTE
EXTERN _I2C_Read_N:NEAR
EXTERN _I2C_Write_N:NEAR
EXTERN _I2C_Ack:NEAR
EXTERN _I2C_Read_Byte:NEAR
EXTERN _I2C_Write_Byte:NEAR
EXTERN _I2C_Stop:NEAR
EXTERN _I2C_Start:NEAR
EXTERN _Init:NEAR
#line 15 "E:\HT\IIC\MAIN.C"
STARTSEC .SECTION 'CODE'
STARTUP:
RET
EXTERN RH:BYTE
EXTERN T2:BYTE
#line 15 "E:\HT\IIC\MAIN.C"
@CODE .SECTION AT 0 'CODE'
JMP begin
@DUMMY PROC
CALL _main
@DUMMY ENDP
ROMBANK 0 @DUMMYNOP 
@DUMMYNOP .SECTION AT 07ffh 'CODE'
nop

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -