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

📄 ps2simplesoft.lis

📁 ATmega16应用例子
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 01CE                   .dbfunc e I2C_RcvAckDat _I2C_RcvAckDat fc
 01CE           ;         pRdDat -> R16,R17
                        .even
 01CE           _I2C_RcvAckDat::
 01CE                   .dbline -1
 01CE                   .dbline 257
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE           ; 
 01CE                   .dbline 258
 01CE           ; 
 01CE 84EC              ldi R24,196
 01D0 86BF              out 0x36,R24
 01D2                   .dbline 259
 01D2           L57:
 01D2                   .dbline 259
 01D2           L58:
 01D2                   .dbline 259
 01D2           ; 
 01D2 26B6              in R2,0x36
 01D4 27FE              sbrs R2,7
 01D6 FDCF              rjmp L57
 01D8                   .dbline 259
 01D8                   .dbline 259
 01D8                   .dbline 260
 01D8           ; 
 01D8 81B1              in R24,0x1
 01DA 887F              andi R24,248
 01DC 8035              cpi R24,80
 01DE 11F0              breq L60
 01E0                   .dbline 261
 01E0           ; 
 01E0 0027              clr R16
 01E2 04C0              xjmp L56
 01E4           L60:
 01E4                   .dbline 262
 01E4           ; 
 01E4 23B0              in R2,0x3
 01E6 F801              movw R30,R16
 01E8 2082              std z+0,R2
 01EA                   .dbline 263
 01EA           ; 
 01EA 01E0              ldi R16,1
 01EC                   .dbline -2
 01EC           L56:
 01EC                   .dbline 0 ; func end
 01EC 0895              ret
 01EE                   .dbsym r pRdDat 16 pc
 01EE                   .dbend
 01EE                   .dbfunc e I2C_Write _I2C_Write fc
 01EE           ;            dat -> y+4
 01EE           ;        wordAdr -> R20
 01EE           ;         wrDAdr -> R22,R23
                        .even
 01EE           _I2C_Write::
 01EE 0E940000          xcall push_gset2
 01F2 422F              mov R20,R18
 01F4 B801              movw R22,R16
 01F6                   .dbline -1
 01F6                   .dbline 276
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6           ; 
 01F6                   .dbline 277
 01F6           ; 
 01F6 63DF              xcall _I2C_Start
 01F8 0023              tst R16
 01FA 11F4              brne L63
 01FC                   .dbline 278
 01FC           ; 
 01FC 0027              clr R16
 01FE 15C0              xjmp L62
 0200           L63:
 0200                   .dbline 280
 0200           ; 
 0200           ; 
 0200 8B01              movw R16,R22
 0202 85DF              xcall _I2C_SendWrDAdr_
 0204 0023              tst R16
 0206 11F4              brne L65
 0208                   .dbline 281
 0208           ; 
 0208 0027              clr R16
 020A 0FC0              xjmp L62
 020C           L65:
 020C                   .dbline 283
 020C           ; 
 020C           ; 
 020C 042F              mov R16,R20
 020E C1DF              xcall _I2C_SendDat
 0210 0023              tst R16
 0212 11F4              brne L67
 0214                   .dbline 284
 0214           ; 
 0214 0027              clr R16
 0216 09C0              xjmp L62
 0218           L67:
 0218                   .dbline 286
 0218           ; 
 0218           ; 
 0218 0C81              ldd R16,y+4
 021A BBDF              xcall _I2C_SendDat
 021C 0023              tst R16
 021E 11F4              brne L69
 0220                   .dbline 287
 0220           ; 
 0220 0027              clr R16
 0222 03C0              xjmp L62
 0224           L69:
 0224                   .dbline 289
 0224           ; 
 0224           ; 
 0224 84E9              ldi R24,148
 0226 86BF              out 0x36,R24
 0228                   .dbline 291
 0228           ; 
 0228           ; 
 0228 01E0              ldi R16,1
 022A                   .dbline -2
 022A           L62:
 022A 0E940000          xcall pop_gset2
 022E                   .dbline 0 ; func end
 022E 0895              ret
 0230                   .dbsym l dat 4 c
 0230                   .dbsym r wordAdr 20 c
 0230                   .dbsym r wrDAdr 22 i
 0230                   .dbend
 0230                   .dbfunc e I2C_Read _I2C_Read fc
 0230           ;         pRdDat -> y+6
 0230           ;         rdDAdr -> y+4
 0230           ;        wordAdr -> R20
 0230           ;         wrDAdr -> R22,R23
                        .even
 0230           _I2C_Read::
 0230 0E940000          xcall push_gset2
 0234 422F              mov R20,R18
 0236 B801              movw R22,R16
 0238                   .dbline -1
 0238                   .dbline 322
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238           ; 
 0238                   .dbline 323
 0238           ; 
 0238 42DF              xcall _I2C_Start
 023A 0023              tst R16
 023C 11F4              brne L72
 023E                   .dbline 324
 023E           ; 
 023E 0027              clr R16
 0240 21C0              xjmp L71
 0242           L72:
 0242                   .dbline 326
 0242           ; 
 0242           ; 
 0242 8B01              movw R16,R22
 0244 64DF              xcall _I2C_SendWrDAdr_
 0246 0023              tst R16
 0248 11F4              brne L74
 024A                   .dbline 327
 024A           ; 
 024A 0027              clr R16
 024C 1BC0              xjmp L71
 024E           L74:
 024E                   .dbline 329
 024E           ; 
 024E           ; 
 024E 042F              mov R16,R20
 0250 A0DF              xcall _I2C_SendDat
 0252 0023              tst R16
 0254 11F4              brne L76
 0256                   .dbline 330
 0256           ; 
 0256 0027              clr R16
 0258 15C0              xjmp L71
 025A           L76:
 025A                   .dbline 332
 025A           ; 
 025A           ; 
 025A 3EDF              xcall _I2C_Restart
 025C 0023              tst R16
 025E 11F4              brne L78
 0260                   .dbline 333
 0260           ; 
 0260 0027              clr R16
 0262 10C0              xjmp L71
 0264           L78:
 0264                   .dbline 335
 0264           ; 
 0264           ; 
 0264 0C81              ldd R16,y+4
 0266 6DDF              xcall _I2C_SendRdDAdr
 0268 0023              tst R16
 026A 11F4              brne L80
 026C                   .dbline 336
 026C           ; 
 026C 0027              clr R16
 026E 0AC0              xjmp L71
 0270           L80:
 0270                   .dbline 338
 0270           ; 
 0270           ; 
 0270 0E81              ldd R16,y+6
 0272 1F81              ldd R17,y+7
 0274 9CDF              xcall _I2C_RcvNAckDat
 0276 0023              tst R16
 0278 11F4              brne L82
 027A                   .dbline 339
 027A           ; 
 027A 0027              clr R16
 027C 03C0              xjmp L71
 027E           L82:
 027E                   .dbline 341
 027E           ; 
 027E           ; 
 027E 84E9              ldi R24,148
 0280 86BF              out 0x36,R24
 0282                   .dbline 343
 0282           ; 
 0282           ; 
 0282 01E0              ldi R16,1
 0284                   .dbline -2
 0284           L71:
 0284 0E940000          xcall pop_gset2
 0288                   .dbline 0 ; func end
 0288 0895              ret
 028A                   .dbsym l pRdDat 6 pc
 028A                   .dbsym l rdDAdr 4 c
 028A                   .dbsym r wordAdr 20 c
 028A                   .dbsym r wrDAdr 22 i
 028A                   .dbend
 028A                   .dbfunc e I2C_Read_ _I2C_Read_ fc
 028A           ;              i -> R20
 028A           ;            num -> R22
 028A           ;         pRdDat -> R10,R11
 028A           ;         rdDAdr -> y+8
 028A           ;        wordAdr -> R20
 028A           ;         wrDAdr -> R12,R13
                        .even
 028A           _I2C_Read_::
 028A 0E940000          xcall push_gset4
 028E 422F              mov R20,R18
 0290 6801              movw R12,R16
 0292 AA84              ldd R10,y+10
 0294 BB84              ldd R11,y+11
 0296 6C85              ldd R22,y+12
 0298                   .dbline -1
 0298                   .dbline 359
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298           ; 
 0298                   .dbline 362
 0298           ; 
 0298           ; 
 0298           ; 
 0298 12DF              xcall _I2C_Start
 029A 0023              tst R16
 029C 11F4              brne L85
 029E                   .dbline 363
 029E           ; 
 029E 0027              clr R16
 02A0 33C0              xjmp L84
 02A2           L85:
 02A2                   .dbline 365
 02A2           ; 
 02A2           ; 
 02A2 8601              movw R16,R12
 02A4 34DF              xcall _I2C_SendWrDAdr_
 02A6 0023              tst R16
 02A8 11F4              brne L87
 02AA                   .dbline 366
 02AA           ; 
 02AA 0027              clr R16
 02AC 2DC0              xjmp L84
 02AE           L87:
 02AE                   .dbline 368
 02AE           ; 
 02AE           ; 
 02AE 042F              mov R16,R20
 02B0 70DF              xcall _I2C_SendDat
 02B2 0023              tst R16
 02B4 11F4              brne L89
 02B6                   .dbline 369
 02B6           ; 
 02B6 0027              clr R16
 02B8 27C0              xjmp L84

⌨️ 快捷键说明

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