📄 m16i2crw24c02.lis
字号:
028E ; }
028E ; }
028E ; }
028E ; }
028E ; }
028E ; }
028E ; }
028E ; }
028E ; }
028E .dbline 379
028E ; }
028E ; }
028E ; }
028E E5DE xcall _I2C_Start
0290 0023 tst R16
0292 11F4 brne L99
0294 .dbline 380
0294 ; }
0294 0027 clr R16
0296 33C0 xjmp L98
0298 L99:
0298 .dbline 382
0298 ; }
0298 ; }
0298 8601 movw R16,R12
029A 07DF xcall _I2C_SendWrDAdr_
029C 0023 tst R16
029E 11F4 brne L101
02A0 .dbline 383
02A0 ; }
02A0 0027 clr R16
02A2 2DC0 xjmp L98
02A4 L101:
02A4 .dbline 385
02A4 ; }
02A4 ; }
02A4 042F mov R16,R20
02A6 43DF xcall _I2C_SendDat
02A8 0023 tst R16
02AA 11F4 brne L103
02AC .dbline 386
02AC ; }
02AC 0027 clr R16
02AE 27C0 xjmp L98
02B0 L103:
02B0 .dbline 388
02B0 ; }
02B0 ; }
02B0 E1DE xcall _I2C_Restart
02B2 0023 tst R16
02B4 11F4 brne L105
02B6 .dbline 389
02B6 ; }
02B6 0027 clr R16
02B8 22C0 xjmp L98
02BA L105:
02BA .dbline 391
02BA ; }
02BA ; }
02BA 0885 ldd R16,y+8
02BC 10DF xcall _I2C_SendRdDAdr
02BE 0023 tst R16
02C0 11F4 brne L107
02C2 .dbline 392
02C2 ; }
02C2 0027 clr R16
02C4 1CC0 xjmp L98
02C6 L107:
02C6 .dbline 394
02C6 ; }
02C6 ; }
02C6 4427 clr R20
02C8 0AC0 xjmp L112
02CA L109:
02CA .dbline 395
02CA ; }
02CA 042F mov R16,R20
02CC 1127 clr R17
02CE 0A0D add R16,R10
02D0 1B1D adc R17,R11
02D2 4BDF xcall _I2C_RcvAckDat
02D4 0023 tst R16
02D6 11F4 brne L113
02D8 .dbline 396
02D8 ; }
02D8 0027 clr R16
02DA 11C0 xjmp L98
02DC L113:
02DC L110:
02DC .dbline 394
02DC 4395 inc R20
02DE L112:
02DE .dbline 394
02DE 862F mov R24,R22
02E0 8150 subi R24,1
02E2 4817 cp R20,R24
02E4 90F3 brlo L109
02E6 .dbline 398
02E6 ; }
02E6 ; }
02E6 042F mov R16,R20
02E8 1127 clr R17
02EA 0A0D add R16,R10
02EC 1B1D adc R17,R11
02EE 2DDF xcall _I2C_RcvNAckDat
02F0 0023 tst R16
02F2 11F4 brne L115
02F4 .dbline 399
02F4 ; }
02F4 0027 clr R16
02F6 03C0 xjmp L98
02F8 L115:
02F8 .dbline 401
02F8 ; }
02F8 ; }
02F8 84E9 ldi R24,148
02FA 86BF out 0x36,R24
02FC .dbline 403
02FC ; }
02FC ; }
02FC 01E0 ldi R16,1
02FE .dbline -2
02FE L98:
02FE 0E940000 xcall pop_gset4
0302 .dbline 0 ; func end
0302 0895 ret
0304 .dbsym r i 20 c
0304 .dbsym r num 22 c
0304 .dbsym r pRdDat 10 pc
0304 .dbsym l rdDAdr 8 c
0304 .dbsym r wordAdr 20 c
0304 .dbsym r wrDAdr 12 i
0304 .dbend
0304 .dbfile F:\job\M16学习板\I2C读写24C02(实验十)\M16I2CRW24C02.c
0304 .dbfunc e Uart0Init _Uart0Init fV
.even
0304 _Uart0Init::
0304 .dbline -1
0304 .dbline 29
0304 .dbline 30
0304 2224 clr R2
0306 2AB8 out 0xa,R2
0308 .dbline 31
0308 82E0 ldi R24,2
030A 8BB9 out 0xb,R24
030C .dbline 32
030C 86E8 ldi R24,134
030E 80BD out 0x20,R24
0310 .dbline 33
0310 8CE0 ldi R24,12
0312 89B9 out 0x9,R24
0314 .dbline 34
0314 88E9 ldi R24,152
0316 8AB9 out 0xa,R24
0318 .dbline -2
0318 L117:
0318 .dbline 0 ; func end
0318 0895 ret
031A .dbend
.area vector(rom, abs)
.org 44
002C 0C948D01 jmp _UartRecvData
.area text(rom, con, rel)
031A .dbfile F:\job\M16学习板\I2C读写24C02(实验十)\M16I2CRW24C02.c
031A .dbfunc e UartRecvData _UartRecvData fV
031A ; temp1 -> R16
.even
031A _UartRecvData::
031A 0A93 st -y,R16
031C 0FB7 in R16,0x3f
031E 0A93 st -y,R16
0320 .dbline -1
0320 .dbline 44
0320 .dbline 46
0320 0CB1 in R16,0xc
0322 .dbline -2
0322 L118:
0322 0991 ld R16,y+
0324 0FBF out 0x3f,R16
0326 0991 ld R16,y+
0328 .dbline 0 ; func end
0328 1895 reti
032A .dbsym r temp1 16 c
032A .dbend
032A .dbfunc e UartTransmitData _UartTransmitData fV
032A ; i -> R20,R21
032A ; len -> R18,R19
032A ; SendData -> R16,R17
.even
032A _UartTransmitData::
032A 0E940000 xcall push_gset1
032E .dbline -1
032E .dbline 56
032E .dbline 58
032E 4427 clr R20
0330 5527 clr R21
0332 09C0 xjmp L123
0334 X0:
0334 .dbline 59
0334 L124:
0334 .dbline 60
0334 L125:
0334 .dbline 60
0334 5D9B sbis 0xb,5
0336 FECF rjmp L124
0338 .dbline 61
0338 FA01 movw R30,R20
033A E00F add R30,R16
033C F11F adc R31,R17
033E 2080 ldd R2,z+0
0340 2CB8 out 0xc,R2
0342 .dbline 62
0342 L121:
0342 .dbline 58
0342 4F5F subi R20,255 ; offset = 1
0344 5F4F sbci R21,255
0346 L123:
0346 .dbline 58
0346 4217 cp R20,R18
0348 5307 cpc R21,R19
034A A0F3 brlo L125
034C .dbline -2
034C L119:
034C 0E940000 xcall pop_gset1
0350 .dbline 0 ; func end
0350 0895 ret
0352 .dbsym r i 20 i
0352 .dbsym r len 18 i
0352 .dbsym r SendData 16 pc
0352 .dbend
0352 .dbfunc e InitDevices _InitDevices fV
.even
0352 _InitDevices::
0352 .dbline -1
0352 .dbline 71
0352 .dbline 72
0352 F894 cli
0354 .dbline 73
0354 D7DF xcall _Uart0Init
0356 .dbline 74
0356 7894 sei
0358 .dbline -2
0358 L127:
0358 .dbline 0 ; func end
0358 0895 ret
035A .dbend
035A .dbfunc e main _main fV
035A ; temp2 -> y+5
035A ; j -> R20,R21
035A ; i -> R22
.even
035A _main::
035A 2D97 sbiw R28,13
035C .dbline -1
035C .dbline 78
035C .dbline 85
035C 40ED ldi R20,2000
035E 57E0 ldi R21,7
0360 .dbline 86
0360 F8DF xcall _InitDevices
0362 L129:
0362 .dbline 87
0362 L130:
0362 .dbline 87
0362 1A01 movw R2,R20
0364 4150 subi R20,1
0366 5040 sbci R21,0
0368 2220 tst R2
036A D9F7 brne L129
036C 3320 tst R3
036E C9F7 brne L129
0370 X1:
0370 .dbline 88
0370 .dbline 89
0370 67EA ldi R22,167
0372 L132:
0372 .dbline 90
0372 L133:
0372 .dbline 90
0372 262E mov R2,R22
0374 3324 clr R3
0376 6150 subi R22,1
0378 2220 tst R2
037A D9F7 brne L132
037C .dbline 91
037C .dbline 92
037C 88E0 ldi R24,8
037E 8C83 std y+4,R24
0380 CE01 movw R24,R28
0382 0596 adiw R24,5
0384 9B83 std y+3,R25
0386 8A83 std y+2,R24
0388 81EA ldi R24,161
038A 8883 std y+0,R24
038C 2227 clr R18
038E 00EA ldi R16,160
0390 10E0 ldi R17,0
0392 76DF xcall _I2C_Read_
0394 .dbline 93
0394 40ED ldi R20,2000
0396 57E0 ldi R21,7
0398 L135:
0398 .dbline 94
0398 L136:
0398 .dbline 94
0398 1A01 movw R2,R20
039A 4150 subi R20,1
039C 5040 sbci R21,0
039E 2220 tst R2
03A0 D9F7 brne L135
03A2 3320 tst R3
03A4 C9F7 brne L135
03A6 X2:
03A6 .dbline 95
03A6 .dbline 96
03A6 67EA ldi R22,167
03A8 L138:
03A8 .dbline 97
03A8 L139:
03A8 .dbline 97
03A8 262E mov R2,R22
03AA 3324 clr R3
03AC 6150 subi R22,1
03AE 2220 tst R2
03B0 D9F7 brne L138
03B2 .dbline 98
03B2 .dbline 99
03B2 28E0 ldi R18,8
03B4 30E0 ldi R19,0
03B6 8E01 movw R16,R28
03B8 0B5F subi R16,251 ; offset = 5
03BA 1F4F sbci R17,255
03BC B6DF xcall _UartTransmitData
03BE L141:
03BE .dbline 100
03BE L142:
03BE .dbline 100
03BE FFCF xjmp L141
03C0 X3:
03C0 .dbline -2
03C0 L128:
03C0 2D96 adiw R28,13
03C2 .dbline 0 ; func end
03C2 0895 ret
03C4 .dbsym l temp2 5 A[8:8]c
03C4 .dbsym r j 20 i
03C4 .dbsym r i 22 c
03C4 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -