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

📄 d12-avr.lis

📁 D12固件程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0114           ;       }
 0114 0CC0              rjmp L21
 0116           L20:
 0116                   .dbline 92
 0116           ;       else if(i & 0x80)//D12_INT_SUSPENDCHANGE D12挂起
 0116 47FF              sbrs R20,7
 0118 01C0              rjmp L22
 011A                   .dbline 93
 011A           ;       {
 011A                   .dbline 95
 011A           ;               //if(D12_suspend)
 011A           ;               {
 011A                   .dbline 101
 011A           ;                         /** /
 011A           ;                         D12_suspend = 0;//处理挂起事务
 011A           ;                         D12_COMMAND = 0xf6;//发送恢复命令
 011A           ;                         D12_suspend = 1;//复位51输入引脚
 011A           ;                         /**/
 011A           ;               }
 011A                   .dbline 102
 011A           ;       }
 011A 09C0              rjmp L23
 011C           L22:
 011C                   .dbline 103
 011C           ;       else if(i & 0x40)//D12_INT_BUSRESET 总线复位
 011C 46FF              sbrs R20,6
 011E 02C0              rjmp L24
 0120                   .dbline 104
 0120           ;       {
 0120                   .dbline 105
 0120           ;               bus_reset();
 0120 0AD0              rcall _bus_reset
 0122                   .dbline 106
 0122           ;       }
 0122 05C0              rjmp L25
 0124           L24:
 0124                   .dbline 108
 0124           ;       else
 0124           ;       {
 0124                   .dbline 109
 0124           ;               i=D12_DATA; //D12_INT_EOT DMA操作已结束
 0124 4091007F          lds R20,32512
 0128                   .dbline 110
 0128           ;               if(i & 0x01)
 0128 40FF              sbrs R20,0
 012A 01C0              rjmp L26
 012C                   .dbline 111
 012C           ;               {
 012C                   .dbline 112
 012C           ;                       dma_eot();
 012C 05D0              rcall _dma_eot
 012E                   .dbline 113
 012E           ;               }
 012E           L26:
 012E                   .dbline 114
 012E           ;       }
 012E           L25:
 012E           L23:
 012E           L21:
 012E           L19:
 012E           L17:
 012E           L15:
 012E           L13:
 012E           L9:
 012E                   .dbline 116
 012E           ;       
 012E           ;       SREG = 0x80;//全局中断使能
 012E 80E8              ldi R24,128
 0130 8FBF              out 0x3f,R24
 0132                   .dbline -2
 0132                   .dbline 117
 0132           ; }
 0132           L7:
 0132 00D0              rcall pop_gset2
 0134                   .dbline 0 ; func end
 0134 0895              ret
 0136                   .dbsym l k 1 pc
 0136                   .dbsym l c 1 c
 0136                   .dbsym r j 22 c
 0136                   .dbsym r i 20 c
 0136                   .dbend
 0136                   .dbfunc e bus_reset _bus_reset fV
                        .even
 0136           _bus_reset::
 0136                   .dbline -1
 0136                   .dbline 120
 0136           ; 
 0136           ; void bus_reset(void)
 0136           ; {
 0136                   .dbline -2
 0136                   .dbline 121
 0136           ; }
 0136           L28:
 0136                   .dbline 0 ; func end
 0136 0895              ret
 0138                   .dbend
 0138                   .dbfunc e dma_eot _dma_eot fV
                        .even
 0138           _dma_eot::
 0138                   .dbline -1
 0138                   .dbline 124
 0138           ; 
 0138           ; void dma_eot(void)
 0138           ; {
 0138                   .dbline -2
 0138                   .dbline 125
 0138           ; }
 0138           L29:
 0138                   .dbline 0 ; func end
 0138 0895              ret
 013A                   .dbend
 013A                   .dbfunc e ReadEndpoint1 _ReadEndpoint1 fV
 013A           ;              n -> R20,R21
 013A           ;              j -> R20,R21
 013A           ;              i -> R22,R23
 013A           ;            buf -> R10,R11
 013A           ;            len -> R22,R23
                        .even
 013A           _ReadEndpoint1::
 013A 00D0              rcall push_gset3
 013C 5901              movw R10,R18
 013E B801              movw R22,R16
 0140                   .dbline -1
 0140                   .dbline 128
 0140           ; 
 0140           ; void ReadEndpoint1(unsigned int len,unsigned int * buf)
 0140           ; {
 0140                   .dbline 130
 0140           ;     unsigned int i,j,n;
 0140           ;       D12_COMMAND=2;
 0140 82E0              ldi R24,2
 0142 8093017F          sts 32513,R24
 0146                   .dbline 131
 0146           ;       D12_COMMAND=0xf0;
 0146 80EF              ldi R24,240
 0148 8093017F          sts 32513,R24
 014C                   .dbline 132
 014C           ;       j= D12_DATA;                                                            
 014C 4091007F          lds R20,32512
 0150 5527              clr R21
 0152                   .dbline 133
 0152           ;       j = D12_DATA;                                                           
 0152 4091007F          lds R20,32512
 0156 5527              clr R21
 0158                   .dbline 134
 0158           ;       if(j>len)
 0158 6417              cp R22,R20
 015A 7507              cpc R23,R21
 015C 08F4              brsh L31
 015E                   .dbline 135
 015E           ;        j=len;                                                 
 015E AB01              movw R20,R22
 0160           L31:
 0160                   .dbline 136
 0160           ;       for(i=0; i<j; i++)
 0160 6627              clr R22
 0162 7727              clr R23
 0164 0EC0              rjmp L36
 0166           L33:
 0166                   .dbline 137
 0166 02E0              ldi R16,2
 0168 10E0              ldi R17,0
 016A 9B01              movw R18,R22
 016C 00D0              rcall empy16s
 016E F801              movw R30,R16
 0170 EA0D              add R30,R10
 0172 FB1D              adc R31,R11
 0174 2090007F          lds R2,32512
 0178 3324              clr R3
 017A 3182              std z+1,R3
 017C 2082              std z+0,R2
 017E           L34:
 017E                   .dbline 136
 017E 6F5F              subi R22,255  ; offset = 1
 0180 7F4F              sbci R23,255
 0182           L36:
 0182                   .dbline 136
 0182 6417              cp R22,R20
 0184 7507              cpc R23,R21
 0186 78F3              brlo L33
 0188                   .dbline 138
 0188           ;               *(buf+i) = D12_DATA;
 0188           ;               if(Rshu[0]==0xa1 && Rshu[1]==0xa2 && Rshu[2]==0xa3)
 0188 80910000          lds R24,_Rshu
 018C 90910100          lds R25,_Rshu+1
 0190 813A              cpi R24,161
 0192 E0E0              ldi R30,0
 0194 9E07              cpc R25,R30
 0196 A1F4              brne L37
 0198 80910200          lds R24,_Rshu+2
 019C 90910300          lds R25,_Rshu+2+1
 01A0 823A              cpi R24,162
 01A2 E0E0              ldi R30,0
 01A4 9E07              cpc R25,R30
 01A6 61F4              brne L37
 01A8 80910400          lds R24,_Rshu+4
 01AC 90910500          lds R25,_Rshu+4+1
 01B0 833A              cpi R24,163
 01B2 E0E0              ldi R30,0
 01B4 9E07              cpc R25,R30
 01B6 21F4              brne L37
 01B8                   .dbline 139
 01B8           ;               {
 01B8                   .dbline 141
 01B8           ;               
 01B8           ;               adrstart=0xcc;
 01B8 8CEC              ldi R24,204
 01BA 809350FF          sts 65360,R24
 01BE                   .dbline 142
 01BE           ;               }
 01BE 33C0              rjmp L38
 01C0           L37:
 01C0                   .dbline 143
 01C0           ;               else if(Rshu[0]==0xb1 && Rshu[1]==0xb2 && Rshu[2]==0xb3)        
 01C0 80910000          lds R24,_Rshu
 01C4 90910100          lds R25,_Rshu+1
 01C8 813B              cpi R24,177
 01CA E0E0              ldi R30,0
 01CC 9E07              cpc R25,R30
 01CE 41F5              brne L41
 01D0 80910200          lds R24,_Rshu+2
 01D4 90910300          lds R25,_Rshu+2+1
 01D8 823B              cpi R24,178
 01DA E0E0              ldi R30,0
 01DC 9E07              cpc R25,R30
 01DE 01F5              brne L41
 01E0 80910400          lds R24,_Rshu+4
 01E4 90910500          lds R25,_Rshu+4+1
 01E8 833B              cpi R24,179
 01EA E0E0              ldi R30,0
 01EC 9E07              cpc R25,R30
 01EE C1F4              brne L41
 01F0                   .dbline 144
 01F0           ;               {
 01F0                   .dbline 145
 01F0           ;               adrstop=0xee;
 01F0 8EEE              ldi R24,238
 01F2 809345FF          sts 65349,R24
 01F6                   .dbline 146
 01F6           ;               Fifo1_Flag=0x00;
 01F6 2224              clr R2
 01F8 20920000          sts _Fifo1_Flag,R2
 01FC                   .dbline 147
 01FC           ;               Fifo2_Flag=0x00;
 01FC 20920000          sts _Fifo2_Flag,R2
 0200                   .dbline 149
 0200           ;               //DDRD=0xfb;
 0200           ;               PORTD=0xdd;
 0200 8DED              ldi R24,221
 0202 82BB              out 0x12,R24
 0204                   .dbline 150
 0204           ;               for(n=0;n<6;n++)
 0204 4427              clr R20
 0206 5527              clr R21
 0208 03C0              rjmp L48
 020A           L45:
 020A                   .dbline 151
 020A 0000              nop
 020C           L46:
 020C                   .dbline 150
 020C 4F5F              subi R20,255  ; offset = 1
 020E 5F4F              sbci R21,255
 0210           L48:
 0210                   .dbline 150
 0210 4630              cpi R20,6
 0212 E0E0              ldi R30,0
 0214 5E07              cpc R21,R30
 0216 C8F3              brlo L45
 0218                   .dbline 151
 0218           ;               cwait1;
 0218 0000              nop
 021A                   .dbline 152
 021A           ;               PORTD=0xdf;
 021A 8FED              ldi R24,223
 021C 82BB              out 0x12,R24
 021E                   .dbline 154
 021E           ;               
 021E           ;               }
 021E 03C0              rjmp L42
 0220           L41:
 0220                   .dbline 156
 0220           ;               else
 0220           ;               {
 0220                   .dbline 157
 0220           ;               D12_COMMAND=0xf2;
 0220 82EF              ldi R24,242
 0222 8093017F          sts 32513,R24
 0226                   .dbline 158
 0226           ;               }       
 0226           L42:
 0226           L38:
 0226                   .dbline 160
 0226           ;       
 0226           ;       D12_COMMAND=0xf2;
 0226 82EF              ldi R24,242
 0228 8093017F          sts 32513,R24
 022C                   .dbline -2
 022C                   .dbline 162
 022C           ;       
 022C           ; }     
 022C           L30:
 022C 00D0              rcall pop_gset3
 022E                   .dbline 0 ; func end
 022E 0895              ret
 0230                   .dbsym r n 20 i
 0230                   .dbsym r j 20 i
 0230                   .dbsym r i 22 i
 0230                   .dbsym r buf 10 pi
 0230                   .dbsym r len 22 i
 0230                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile G:\Backup\6月1日flag置(认为接近最终)\ilx511_usb\D12-AVR.c
 0000           _Rshu::
 0000                   .blkb 6
 0006                   .dbsym e Rshu _Rshu A[6:3]i

⌨️ 快捷键说明

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