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

📄 motor_master.lis

📁 用ICC编写的程序包括SPI
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00D0                   .dbline 97
 00D0           ;                        qep_data1[j++]=c;
 00D0 1C01              movw R2,R24
 00D2 0196              adiw R24,1
 00D4 9983              std y+1,R25
 00D6 8883              std y+0,R24
 00D8 80E0              ldi R24,<_qep_data1
 00DA 90E0              ldi R25,>_qep_data1
 00DC F101              movw R30,R2
 00DE E80F              add R30,R24
 00E0 F91F              adc R31,R25
 00E2 E082              std z+0,R14
 00E4           L18:
 00E4                   .dbline 98
 00E4           L13:
 00E4                   .dbline 91
 00E4 0A80              ldd R0,y+2
 00E6 0394              inc R0
 00E8 0A82              std y+2,R0
 00EA           L15:
 00EA                   .dbline 91
 00EA 8A81              ldd R24,y+2
 00EC 8A30              cpi R24,10
 00EE 20F4              brsh L20
 00F0 81E0              ldi R24,1
 00F2 90E0              ldi R25,0
 00F4 6C01              movw R12,R24
 00F6 02C0              xjmp L21
 00F8           L20:
 00F8 CC24              clr R12
 00FA DD24              clr R13
 00FC           L21:
 00FC 8881              ldd R24,y+0
 00FE 9981              ldd R25,y+1
 0100 8330              cpi R24,3
 0102 E0E0              ldi R30,0
 0104 9E07              cpc R25,R30
 0106 1CF4              brge L22
 0108 61E0              ldi R22,1
 010A 70E0              ldi R23,0
 010C 02C0              xjmp L23
 010E           L22:
 010E 6627              clr R22
 0110 7727              clr R23
 0112           L23:
 0112 1601              movw R2,R12
 0114 2622              and R2,R22
 0116 3722              and R3,R23
 0118 2220              tst R2
 011A 09F0              breq X5
 011C C7CF              xjmp L12
 011E           X5:
 011E 3320              tst R3
 0120 09F0              breq X6
 0122 C4CF              xjmp L12
 0124           X6:
 0124           X1:
 0124                   .dbline 99
 0124           ;                       }
 0124           ;                 getSPIchar();
 0124 0E940000          xcall _getSPIchar
 0128                   .dbline 101
 0128           ;       
 0128           ;                 putSPIchar(0x00);
 0128 0027              clr R16
 012A 0E940000          xcall _putSPIchar
 012E                   .dbline 102
 012E           ;                 getSPIchar();
 012E 0E940000          xcall _getSPIchar
 0132                   .dbline 104
 0132           ;                 
 0132           ;                 NOP();
 0132 0000              nop
 0134                   .dbline 105
 0134           ;                 putSPIchar(0xaa);
 0134 0AEA              ldi R16,170
 0136 0E940000          xcall _putSPIchar
 013A                   .dbline 106
 013A           ;                 getSPIchar();
 013A 0E940000          xcall _getSPIchar
 013E                   .dbline 107
 013E           ;                 putSPIchar(0x02);
 013E 02E0              ldi R16,2
 0140 0E940000          xcall _putSPIchar
 0144                   .dbline 108
 0144           ;                 getSPIchar();
 0144 0E940000          xcall _getSPIchar
 0148                   .dbline 109
 0148           ;                 putSPIchar(0x00);
 0148 0027              clr R16
 014A 0E940000          xcall _putSPIchar
 014E                   .dbline 110
 014E           ;                 for(i=0,j=-1;i<10&j<3;i++)
 014E 0024              clr R0
 0150 0A82              std y+2,R0
 0152 8FEF              ldi R24,-1
 0154 9FEF              ldi R25,-1
 0156 9983              std y+1,R25
 0158 8883              std y+0,R24
 015A 1FC0              xjmp L27
 015C           L24:
 015C                   .dbline 111
 015C           ;                  {
 015C                   .dbline 112
 015C           ;                    if((c=getSPIchar())==0x56)
 015C 0E940000          xcall _getSPIchar
 0160 E02E              mov R14,R16
 0162 0635              cpi R16,86
 0164 21F4              brne L28
 0166                   .dbline 113
 0166           ;                         j=0;
 0166 0024              clr R0
 0168 1124              clr R1
 016A 1982              std y+1,R1
 016C 0882              std y+0,R0
 016E           L28:
 016E                   .dbline 114
 016E           ;                        putSPIchar(0x44);
 016E 04E4              ldi R16,68
 0170 0E940000          xcall _putSPIchar
 0174                   .dbline 115
 0174           ;                        if(j>=0)
 0174 8881              ldd R24,y+0
 0176 9981              ldd R25,y+1
 0178 8030              cpi R24,0
 017A E0E0              ldi R30,0
 017C 9E07              cpc R25,R30
 017E 54F0              brlt L30
 0180                   .dbline 116
 0180           ;                        qep_data2[j++]=c;
 0180 1C01              movw R2,R24
 0182 0196              adiw R24,1
 0184 9983              std y+1,R25
 0186 8883              std y+0,R24
 0188 80E0              ldi R24,<_qep_data2
 018A 90E0              ldi R25,>_qep_data2
 018C F101              movw R30,R2
 018E E80F              add R30,R24
 0190 F91F              adc R31,R25
 0192 E082              std z+0,R14
 0194           L30:
 0194                   .dbline 117
 0194           L25:
 0194                   .dbline 110
 0194 0A80              ldd R0,y+2
 0196 0394              inc R0
 0198 0A82              std y+2,R0
 019A           L27:
 019A                   .dbline 110
 019A 8A81              ldd R24,y+2
 019C 8A30              cpi R24,10
 019E 18F4              brsh L32
 01A0 61E0              ldi R22,1
 01A2 70E0              ldi R23,0
 01A4 02C0              xjmp L33
 01A6           L32:
 01A6 6627              clr R22
 01A8 7727              clr R23
 01AA           L33:
 01AA 8881              ldd R24,y+0
 01AC 9981              ldd R25,y+1
 01AE 8330              cpi R24,3
 01B0 E0E0              ldi R30,0
 01B2 9E07              cpc R25,R30
 01B4 24F4              brge L34
 01B6 81E0              ldi R24,1
 01B8 90E0              ldi R25,0
 01BA 6C01              movw R12,R24
 01BC 02C0              xjmp L35
 01BE           L34:
 01BE CC24              clr R12
 01C0 DD24              clr R13
 01C2           L35:
 01C2 1B01              movw R2,R22
 01C4 2C20              and R2,R12
 01C6 3D20              and R3,R13
 01C8 2220              tst R2
 01CA 09F0              breq X7
 01CC C7CF              xjmp L24
 01CE           X7:
 01CE 3320              tst R3
 01D0 09F0              breq X8
 01D2 C4CF              xjmp L24
 01D4           X8:
 01D4           X2:
 01D4                   .dbline 118
 01D4           ;                       }
 01D4           ;                 getSPIchar();
 01D4 0E940000          xcall _getSPIchar
 01D8                   .dbline 119
 01D8           ;                 NOP();
 01D8 0000              nop
 01DA                   .dbline 120
 01DA           ;                 PORTB|=BIT(SS);
 01DA C49A              sbi 0x18,4
 01DC                   .dbline 121
 01DC           ;                 NOP();
 01DC 0000              nop
 01DE                   .dbline 122
 01DE           ;                 }
 01DE           L10:
 01DE                   .dbline 123
 01DE           ;                 if(set_pwm)
 01DE AA20              tst R10
 01E0 C1F0              breq L36
 01E2                   .dbline 124
 01E2           ;                 {
 01E2                   .dbline 125
 01E2           ;                 PORTB&=~BIT(SS);
 01E2 C498              cbi 0x18,4
 01E4                   .dbline 126
 01E4           ;                 putSPIchar(0x55);
 01E4 05E5              ldi R16,85
 01E6 0E940000          xcall _putSPIchar
 01EA                   .dbline 127
 01EA           ;                 getSPIchar();
 01EA 0E940000          xcall _getSPIchar
 01EE                   .dbline 128
 01EE           ;                 putSPIchar(pwm[0]);
 01EE 00910000          lds R16,_pwm
 01F2 0E940000          xcall _putSPIchar
 01F6                   .dbline 129
 01F6           ;                 getSPIchar();
 01F6 0E940000          xcall _getSPIchar
 01FA                   .dbline 130
 01FA           ;         putSPIchar(pwm[1]);
 01FA 00910100          lds R16,_pwm+1
 01FE 0E940000          xcall _putSPIchar
 0202                   .dbline 131
 0202           ;                 getSPIchar();
 0202 0E940000          xcall _getSPIchar
 0206                   .dbline 132
 0206           ;                 putSPIchar(0x00);
 0206 0027              clr R16
 0208 0E940000          xcall _putSPIchar
 020C                   .dbline 133
 020C           ;                 getSPIchar();
 020C 0E940000          xcall _getSPIchar
 0210                   .dbline 134
 0210           ;                 PORTB|=BIT(SS);
 0210 C49A              sbi 0x18,4
 0212                   .dbline 135
 0212           ;                 }
 0212           L36:
 0212                   .dbline 136
 0212           L8:
 0212                   .dbline 80
 0212 20900000          lds R2,_timeflag
 0216 2220              tst R2
 0218 09F0              breq X9
 021A 2DCF              xjmp L7
 021C           X9:
 021C                   .dbline 137
 021C           L5:
 021C                   .dbline 78
 021C FACF              xjmp L8
 021E           X3:
 021E                   .dbline -2
 021E           L3:
 021E 2396              adiw R28,3
 0220                   .dbline 0 ; func end
 0220 0895              ret
 0222                   .dbsym r t 20 c
 0222                   .dbsym r set_pwm 10 c
 0222                   .dbsym r SPI_flag 20 c
 0222                   .dbsym r c 14 c
 0222                   .dbsym l i 2 c
 0222                   .dbsym l j 0 I
 0222                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\IccAvr_Pro\Motor_master.c
 0000           _qep_data2::
 0000                   .blkb 3
 0003                   .dbsym e qep_data2 _qep_data2 A[3:3]c
 0003           _qep_data1::
 0003                   .blkb 3
 0006                   .dbsym e qep_data1 _qep_data1 A[3:3]c

⌨️ 快捷键说明

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