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

📄 twi.lis

📁 mp3代码 要用的干净下啊 希望用东西共享啊
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 033C B1F4              brne L121
 033E                   .dbline 388
 033E           ;     {
 033E                   .dbline 389
 033E           ;       for(i=0;!EmptyQueue(&Twi_ReceiveBuffer); i++) 
 033E 4427              clr R20
 0340 0AC0              xjmp L128
 0342           L125:
 0342                   .dbline 390
 0342                   .dbline 391
 0342 00E0              ldi R16,<_Twi_ReceiveBuffer
 0344 10E0              ldi R17,>_Twi_ReceiveBuffer
 0346 0E940000          xcall _DeQueue
 034A 202F              mov R18,R16
 034C 00E0              ldi R16,<_Twi_LocalBuffer
 034E 10E0              ldi R17,>_Twi_LocalBuffer
 0350 0E940000          xcall _EnQueue
 0354                   .dbline 392
 0354           L126:
 0354                   .dbline 389
 0354 4395              inc R20
 0356           L128:
 0356                   .dbline 389
 0356 20900B00          lds R2,_Twi_ReceiveBuffer+2
 035A 2220              tst R2
 035C 91F7              brne L125
 035E                   .dbline 393
 035E 2224              clr R2
 0360 20921000          sts _Twi_ReceiveBuffer+7,R2
 0364                   .dbline 394
 0364 83E0              ldi R24,3
 0366 80931900          sts _Twi_LocalBuffer+7,R24
 036A                   .dbline 395
 036A           L121:
 036A                   .dbline -2
 036A           L120:
 036A 0E940000          xcall pop_gset1
 036E                   .dbline 0 ; func end
 036E 0895              ret
 0370                   .dbsym r i 20 c
 0370                   .dbend
 0370                   .dbfunc e Twi_SlaveTransmitService _Twi_SlaveTransmitService fc
 0370           ;              i -> R20
                        .even
 0370           _Twi_SlaveTransmitService::
 0370 0E940000          xcall push_gset1
 0374                   .dbline -1
 0374                   .dbline 409
 0374           ;          { 
 0374           ;                EnQueue(&Twi_LocalBuffer, DeQueue(&Twi_ReceiveBuffer)); 
 0374           ;                } 
 0374           ;       Twi_ReceiveBuffer.status=TWI_DATA_FREE;
 0374           ;       Twi_LocalBuffer.status=TWI_DATA_READY;
 0374           ;       }
 0374           ; } 
 0374           ; /*********************************************************************************************************
 0374           ; ** 函数名称:Twi_SlaveTransmitService
 0374           ; ** 功能描述:此函数在本机被选中为从读出时运行 
 0374           ; ** 输 入:  transmitDataLengthMax
 0374           ; ** 输  出:             
 0374           ; ** 全局变量: 
 0374           ; ** 调用模块: 
 0374           ; ** 说明:
 0374           ; ** 注意:    
 0374           ; ** 日 期:   2006年8月29日
 0374           ; ********************************************************************************************************/
 0374           ; uint8 Twi_SlaveTransmitService(void) 
 0374           ; { 
 0374                   .dbline 410
 0374           ;    uint8 i=0; 
 0374 4427              clr R20
 0376                   .dbline 411
 0376           ;    WDR(); //喂狗;
 0376 A895              wdr
 0378                   .dbline 416
 0378           ;    //此函数在本机被选中为从读出时运行 
 0378           ;    //要发送的数据存入发送缓冲区
 0378           ;     
 0378           ;    
 0378           ;    if ((Twi_LocalBuffer.status==TWI_DATA_SEND)&&Twi_SendBuffer.status==TWI_DATA_FREE)
 0378 80911900          lds R24,_Twi_LocalBuffer+7
 037C 8230              cpi R24,2
 037E 11F5              brne L133
 0380 20900700          lds R2,_Twi_SendBuffer+7
 0384 2220              tst R2
 0386 F1F4              brne L133
 0388                   .dbline 417
 0388           ;       {
 0388                   .dbline 418
 0388           ;         InitQueue(&Twi_SendBuffer);     //清除上次发送的信息
 0388 00E0              ldi R16,<_Twi_SendBuffer
 038A 10E0              ldi R17,>_Twi_SendBuffer
 038C 0E940000          xcall _InitQueue
 0390                   .dbline 419
 0390           ;         for(i=0; (Twi_LocalBuffer.count>0)&&(Twi_SendBuffer.errorcode!=QUEUE_OVERFLOW); i++) 
 0390 0AC0              xjmp L140
 0392           L137:
 0392                   .dbline 420
 0392                   .dbline 421
 0392 00E0              ldi R16,<_Twi_LocalBuffer
 0394 10E0              ldi R17,>_Twi_LocalBuffer
 0396 0E940000          xcall _DeQueue
 039A 202F              mov R18,R16
 039C 00E0              ldi R16,<_Twi_SendBuffer
 039E 10E0              ldi R17,>_Twi_SendBuffer
 03A0 0E940000          xcall _EnQueue
 03A4                   .dbline 422
 03A4           L138:
 03A4                   .dbline 419
 03A4 4395              inc R20
 03A6           L140:
 03A6                   .dbline 419
 03A6 2224              clr R2
 03A8 30901400          lds R3,_Twi_LocalBuffer+2
 03AC 2314              cp R2,R3
 03AE 20F4              brsh L143
 03B0 80910600          lds R24,_Twi_SendBuffer+6
 03B4 8130              cpi R24,1
 03B6 69F7              brne L137
 03B8           L143:
 03B8                   .dbline 423
 03B8           ;          { 
 03B8           ;                EnQueue(&Twi_SendBuffer,DeQueue(&Twi_LocalBuffer)); 
 03B8           ;          }
 03B8           ;         Twi_SendBuffer.status= TWI_DATA_SEND;
 03B8 82E0              ldi R24,2
 03BA 80930700          sts _Twi_SendBuffer+7,R24
 03BE                   .dbline 424
 03BE           ;         Twi_LocalBuffer.status=TWI_DATA_FREE; 
 03BE 2224              clr R2
 03C0 20921900          sts _Twi_LocalBuffer+7,R2
 03C4                   .dbline 425
 03C4           ;         } 
 03C4           L133:
 03C4                   .dbline 426
 03C4           ;    return i; 
 03C4 042F              mov R16,R20
 03C6                   .dbline -2
 03C6           L132:
 03C6 0E940000          xcall pop_gset1
 03CA                   .dbline 0 ; func end
 03CA 0895              ret
 03CC                   .dbsym r i 20 c
 03CC                   .dbend
                        .area vector(rom, abs)
                        .org 76
 004C 0C94E601          jmp _twi_isr
                        .area text(rom, con, rel)
 03CC                   .dbfile D:\桌面\mp3\TWI\TWI.c
 03CC                   .dbfunc e twi_isr _twi_isr fV
 03CC           ;         status -> R20
                        .even
 03CC           _twi_isr::
 03CC 0E940000          xcall push_lset
 03D0 0E940000          xcall push_gset2
 03D4                   .dbline -1
 03D4                   .dbline 441
 03D4           ; } 
 03D4           ; /*********************************************************************************************************
 03D4           ; ** 函数名称:
 03D4           ; ** 功能描述:Twi_ (TWI) 中断服务程序 
 03D4           ; ** 输 入:  
 03D4           ; ** 输  出:             
 03D4           ; ** 全局变量: 
 03D4           ; ** 调用模块: 
 03D4           ; ** 说明:
 03D4           ; ** 注意:    
 03D4           ; ** 日 期:   2006年8月29日
 03D4           ; ********************************************************************************************************/
 03D4           ; #pragma interrupt_handler twi_isr: iv_TWI
 03D4           ; void twi_isr(void) 
 03D4           ; { 
 03D4                   .dbline 444
 03D4           ;    //读状态位 
 03D4           ;    uint8 status; 
 03D4           ;           status = TWSR & TWSR_STATUS_MASK; 
 03D4 41B1              in R20,0x1
 03D6 487F              andi R20,248
 03D8                   .dbline 445
 03D8           ;    switch(status) 
 03D8 642F              mov R22,R20
 03DA 7727              clr R23
 03DC 6836              cpi R22,104
 03DE E0E0              ldi R30,0
 03E0 7E07              cpc R23,R30
 03E2 09F4              brne X4
 03E4 31C1              xjmp L168
 03E6           X4:
 03E6 88E6              ldi R24,104
 03E8 90E0              ldi R25,0
 03EA 8617              cp R24,R22
 03EC 9707              cpc R25,R23
 03EE 0CF4              brge X5
 03F0 6AC0              xjmp L191
 03F2           X5:
 03F2           L190:
 03F2 6033              cpi R22,48
 03F4 E0E0              ldi R30,0
 03F6 7E07              cpc R23,R30
 03F8 09F4              brne X6
 03FA F8C0              xjmp L157
 03FC           X6:
 03FC 80E3              ldi R24,48
 03FE 90E0              ldi R25,0
 0400 8617              cp R24,R22
 0402 9707              cpc R25,R23
 0404 0CF4              brge X7
 0406 2FC0              xjmp L193
 0408           X7:
 0408           L192:
 0408 6031              cpi R22,16
 040A E0E0              ldi R30,0
 040C 7E07              cpc R23,R30
 040E 09F4              brne X8
 0410 C5C0              xjmp L150
 0412           X8:
 0412 80E1              ldi R24,16
 0414 90E0              ldi R25,0
 0416 8617              cp R24,R22
 0418 9707              cpc R25,R23
 041A 7CF0              brlt L195
 041C           L194:
 041C 6030              cpi R22,0
 041E 6707              cpc R22,R23
 0420 09F4              brne X9
 0422 78C1              xjmp L189
 0424           X9:
 0424           X1:
 0424 6030              cpi R22,0
 0426 E0E0              ldi R30,0
 0428 7E07              cpc R23,R30
 042A 0CF4              brge X10
 042C 7AC1              xjmp L147
 042E           X10:
 042E           L196:
 042E 6830              cpi R22,8
 0430 E0E0              ldi R30,0
 0432 7E07              cpc R23,R30
 0434 09F4              brne X11
 0436 B2C0              xjmp L150
 0438           X11:
 0438 74C1              xjmp L147
 043A           L195:
 043A 6032              cpi R22,32
 043C E0E0              ldi R30,0
 043E 7E07              cpc R23,R30
 0440 09F4              brne X12
 0442 D4C0              xjmp L157
 0444           X12:
 0444 80E2              ldi R24,32
 0446 90E0              ldi R25,0
 0448 8617              cp R24,R22
 044A 9707              cpc R25,R23
 044C 34F0              brlt L198
 044E           L197:
 044E 6831              cpi R22,24
 0450 E0E0              ldi R30,0
 0452 7E07              cpc R23,R30
 0454 09F4              brne X13
 0456 AAC0              xjmp L151
 0458           X13:
 0458 64C1              xjmp L147
 045A           L198:
 045A 6832              cpi R22,40
 045C E0E0              ldi R30,0
 045E 7E07              cpc R23,R30
 0460 09F4              brne X14
 0462 A4C0              xjmp L151
 0464           X14:
 0464 5EC1              xjmp L147
 0466           L193:
 0466 6834              cpi R22,72
 0468 E0E0              ldi R30,0
 046A 7E07              cpc R23,R30
 046C 09F4              brne X15
 046E BEC0              xjmp L157
 0470           X15:
 0470 88E4              ldi R24,72
 0472 90E0              ldi R25,0
 0474 8617              cp R24,R22
 0476 9707              cpc R25,R23
 0478 84F0              brlt L200
 047A           L199:
 047A 6833              cpi R22,56
 047C E0E0              ldi R30,0
 047E 7E07              cpc R23,R30
 0480 09F4              brne X16
 0482 BCC0              xjmp L158
 0484           X16:
 0484 6833              cpi R22,56
 0486 E0E0              ldi R30,0
 0488 7E07              cpc R23,R30
 048A 0CF4              brge X17
 048C 4AC1              xjmp L147
 048E           X17:
 048E           L201:
 048E 6034              cpi R22,64
 0490 E0E0              ldi R30,0
 0492 7E07              cpc R23,R30
 0494 09F4              brne X18
 0496 BFC0              xjmp L160
 0498           X18:
 0498 44C1              xjmp L147
 049A           L200:
 049A 6835              cpi R22,88
 049C E0E0              ldi R30,0
 049E 7E07              cpc R23,R30
 04A0 09F4              brne X19
 04A2 9FC0              xjmp L156
 04A4           X19:
 04A4 88E5     

⌨️ 快捷键说明

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