📄 24cxx.asm
字号:
LACK 8224
OR *
SACL * ,AR1
.line 9
;>>>> delay(2* T_EEDLY ); //for (k = 17;k > 0;k--){ } // 软件延时5.1us //
LACK 4
SACL *+
CALL _delay
MAR *-,AR3
.line 10
;>>>> SDA_H; // // (IOPC1)SDA=1 //
LARK AR3,28826
LACK 257
OR *
SACL * ,AR1
.line 11
;>>>> delay(2* T_EEDLY ); //for (k = 17;k > 0;k--){ } // 软件延时5.1us//
;>>>> // SCL_L; // // SCL=0 //
LACK 4
SACL *+
CALL _delay
MAR *-
EPI0_7:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 243,000000000H,1
.sym _II2CStart,_II2CStart,32,2,0
.globl _II2CStart
.func 248
;>>>> void II2CStart()
;>>>> int k;
******************************************************
* FUNCTION DEF : _II2CStart
******************************************************
_II2CStart:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,2
LAR AR0,*0+,AR3
.sym _k,1,4,1,16
.line 4
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL *
.line 5
;>>>> SDADIR_O;
LACK 2312
OR *
SACL * ,AR1
.line 6
;>>>> delay(2* T_EEDLY );
LACK 4
SACL *+
CALL _delay
MAR *-,AR3
.line 7
;>>>> SDA_H;
LARK AR3,28826
LACK 257
OR *
SACL *
.line 8
;>>>> SCL_H;
LACK 8224
OR *
SACL * ,AR1
.line 9
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 10
;>>>> SDA_L;
LARK AR3,28826
LACK 65534
AND *
SACL * ,AR1
.line 11
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 12
;>>>> SCL_L;
;>>>> // delay(5);
;>>>> // SDA_H;
LARK AR3,28826
LACK 65503
AND *
SACL * ,AR1
EPI0_8:
.line 16
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 263,000000000H,2
.sym _II2CSendByte,_II2CSendByte,32,2,0
.globl _II2CSendByte
.func 269
;>>>> void II2CSendByte(int data)
******************************************************
* FUNCTION DEF : _II2CSendByte
******************************************************
_II2CSendByte:
LF9 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,4
LAR AR0,*0+,AR3
.sym _data,-3+LF9,4,9,16
.sym _flag,1,4,1,16
.sym _sz,2,4,1,16
.sym _k,3,4,1,16
.line 2
;>>>> int flag,sz,k;
.line 4
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL *
.line 5
;>>>> SDADIR_O;
LACK 2312
OR *
SACL * ,AR2
.line 7
;>>>> for(flag = 0x0080;flag != 0x00;flag = flag/2)
LACK 128
LARK AR2,1
MAR *0+
SACL *
SSXM
LAC *
BZ L9
MAR * ,AR3
L8:
.line 9
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL * ,AR1
.line 10
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR2
.line 11
;>>>> sz = data & flag;
SSXM
LARK AR2,1
MAR *0+
LAC *
SBRK 4-LF9
AND *
ADRK 5-LF9
SACL *
.line 12
;>>>> if(sz == 0)
LAC *
BNZ L10
.line 14
;>>>> SDA_L;
;>>>> else
LARK AR3,28826
LACK 65534
MAR * ,AR3
AND *
SACL *
B L11
L10:
.line 18
;>>>> SDA_H;
LARK AR3,28826
LACK 257
MAR * ,AR3
OR *
SACL *
L11:
.line 20
;>>>> delay( T_EEDLY );
MAR * ,AR1
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 21
;>>>> SCL_H ;
LARK AR3,28826
LACK 8224
OR *
SACL * ,AR1
.line 22
;>>>> delay(2* T_EEDLY );
LACK 4
SACL *+
CALL _delay
MAR *-
.line 7
LACK 2
SACL *+,AR2
SSXM
LARK AR2,1
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
SACL *
SSXM
LAC * ,AR3
BNZ L8
L9:
.line 24
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
MAR * ,AR3
AND *
SACL * ,AR1
EPI0_9:
.line 25
SBRK 5
LAR AR0,*-
PSHD *
RET
.endfunc 293,000000000H,4
.sym _II2CRecAck,_II2CRecAck,36,2,0
.globl _II2CRecAck
.func 298
;>>>> int II2CRecAck()
;>>>> int k;
******************************************************
* FUNCTION DEF : _II2CRecAck
******************************************************
_II2CRecAck:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,2
LAR AR0,*0+,AR3
.sym _k,1,4,1,16
.line 4
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL * ,AR1
.line 5
;>>>> delay( T_EEDLY );
;>>>> //
LACK 2
SACL *+
CALL _delay
MAR *-
.line 7
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 8
;>>>> SCL_H;
LARK AR3,28826
LACK 8224
OR *
SACL * ,AR1
.line 9
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 10
;>>>> SDADIR_I;
LARK AR3,28826
LACK 65270
AND *
SACL * ,AR1
.line 11
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 12
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL *
.line 13
;>>>> k = PB & 0x01;
LACK 1
AND * ,AR2
LARK AR2,1
MAR *0+
SACL *
.line 14
;>>>> return(k);
SSXM
LAC *
EPI0_10:
.line 15
MAR * ,AR1
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 312,000000000H,2
.sym _II2CRecByte,_II2CRecByte,36,2,0
.globl _II2CRecByte
.func 318
;>>>> int II2CRecByte()
******************************************************
* FUNCTION DEF : _II2CRecByte
******************************************************
_II2CRecByte:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,4
LAR AR0,*0+,AR2
.sym _k,1,4,1,16
.sym _flag,2,4,1,16
.sym _sz,3,4,1,16
.line 3
;>>>> int k = 0;
;>>>> int flag;
;>>>> int sz;
LACK 0
LARK AR2,1
MAR *0+
SACL *+,AR3
.line 7
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL *
.line 8
;>>>> SDADIR_I;
LACK 65270
AND *
SACL * ,AR2
.line 9
;>>>> for(flag = 0x0080;flag != 0x00; flag = flag/2)
LACK 128
SACL *
SSXM
LAC *
BZ L13
MAR * ,AR1
L12:
.line 11
;>>>> delay(2* T_EEDLY );
LACK 4
SACL *+
CALL _delay
MAR *-,AR3
.line 12
;>>>> SCL_H;
LARK AR3,28826
LACK 8224
OR *
SACL * ,AR1
.line 13
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 14
;>>>> sz = PB & 0x0001;
LARK AR3,28826
LACK 1
AND * ,AR2
LARK AR2,3
MAR *0+
SACL *
.line 15
;>>>> if(sz == 0x0001)
SSXM
LAC *
SUBK 1
BNZ L14
.line 16
;>>>> k = k | flag;
MAR *-
LAC *-
OR *
SACL *
L14:
.line 17
;>>>> delay( T_EEDLY );
MAR * ,AR1
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 18
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL * ,AR1
.line 9
LACK 2
SACL *+,AR2
SSXM
LARK AR2,2
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
SACL *
SSXM
LAC * ,AR1
BNZ L12
L13:
.line 20
;>>>> return(k);
MAR * ,AR2
MAR *-
LAC *
EPI0_11:
.line 21
MAR * ,AR1
SBRK 5
LAR AR0,*-
PSHD *
RET
.endfunc 338,000000000H,4
.sym _II2CAck,_II2CAck,32,2,0
.globl _II2CAck
.func 343
;>>>> void II2CAck()
******************************************************
* FUNCTION DEF : _II2CAck
******************************************************
_II2CAck:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL * ,AR1
.line 4
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 5
;>>>> SDADIR_O;
LARK AR3,28826
LACK 2312
OR *
SACL * ,AR1
.line 6
;>>>> delay(0);
LACK 0
SACL *+
CALL _delay
MAR *-,AR3
.line 7
;>>>> SDA_L;
LARK AR3,28826
LACK 65534
AND *
SACL * ,AR1
.line 8
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 9
;>>>> SCL_H;
LARK AR3,28826
LACK 8224
OR *
SACL * ,AR1
.line 10
;>>>> delay(2* T_EEDLY );
LACK 4
SACL *+
CALL _delay
MAR *-,AR3
.line 11
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL * ,AR1
EPI0_12:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 355,000000000H,1
.sym _II2CNoAck,_II2CNoAck,32,2,0
.globl _II2CNoAck
.func 360
;>>>> void II2CNoAck()
******************************************************
* FUNCTION DEF : _II2CNoAck
******************************************************
_II2CNoAck:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL * ,AR1
.line 4
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 5
;>>>> SDADIR_O;
LARK AR3,28826
LACK 2312
OR *
SACL * ,AR1
.line 6
;>>>> delay(0);
LACK 0
SACL *+
CALL _delay
MAR *-,AR3
.line 7
;>>>> SDA_H;
LARK AR3,28826
LACK 257
OR *
SACL * ,AR1
.line 8
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 9
;>>>> SCL_H;
LARK AR3,28826
LACK 8224
OR *
SACL * ,AR1
.line 10
;>>>> delay(2* T_EEDLY );
LACK 4
SACL *+
CALL _delay
MAR *-,AR3
.line 11
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL * ,AR1
EPI0_13:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 372,000000000H,1
.sym _II2CStop,_II2CStop,32,2,0
.globl _II2CStop
.func 376
;>>>> void II2CStop()
******************************************************
* FUNCTION DEF : _II2CStop
******************************************************
_II2CStop:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 4
;>>>> SCL_L;
LARK AR3,28826
LACK 65503
AND *
SACL *
.line 5
;>>>> SDADIR_O;
LACK 2312
OR *
SACL * ,AR1
.line 6
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 7
;>>>> SDA_L;
LARK AR3,28826
LACK 65534
AND *
SACL * ,AR1
.line 8
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 9
;>>>> SCL_H;
LARK AR3,28826
LACK 8224
OR *
SACL * ,AR1
.line 10
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-,AR3
.line 11
;>>>> SDA_H;
LARK AR3,28826
LACK 257
OR *
SACL * ,AR1
.line 12
;>>>> delay( T_EEDLY );
LACK 2
SACL *+
CALL _delay
MAR *-
EPI0_14:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 388,000000000H,1
.sym _read_LC256,_read_LC256,36,2,0
.globl _read_LC256
.func 608
;>>>> int read_LC256(int *array,int adress,int control,int n) // 读数据映绦
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -