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

📄 xunxiandongzuo8.lis

📁 mega8 对电机控制。采用mega8对电机控制。然后再用mega16 来控制mega8
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0746                   .dbline 96
 0746                   .dbline 96
 0746 F0C0              rjmp L54
 0748           L61:
 0748                   .dbline 98
 0748                   .dbline 99
 0748 02E6              ldi R16,98
 074A 10E0              ldi R17,0
 074C F1D0              rcall _risemotor
 074E                   .dbline 100
 074E 00EB              ldi R16,1200
 0750 14E0              ldi R17,4
 0752 7BD1              rcall _delay_ms
 0754                   .dbline 101
 0754 03E7              ldi R16,115
 0756 10E0              ldi R17,0
 0758 EBD0              rcall _risemotor
 075A                   .dbline 103
 075A                   .dbline 103
 075A E6C0              rjmp L54
 075C           L62:
 075C                   .dbline 105
 075C                   .dbline 106
 075C 07E6              ldi R16,103
 075E 10E0              ldi R17,0
 0760 07D1              rcall _pushmotor2
 0762                   .dbline 107
 0762 00ED              ldi R16,2000
 0764 17E0              ldi R17,7
 0766 71D1              rcall _delay_ms
 0768                   .dbline 108
 0768 03E7              ldi R16,115
 076A 10E0              ldi R17,0
 076C 01D1              rcall _pushmotor2
 076E                   .dbline 109
 076E                   .dbline 109
 076E DCC0              rjmp L54
 0770           L63:
 0770                   .dbline 111
 0770                   .dbline 112
 0770 02E6              ldi R16,98
 0772 10E0              ldi R17,0
 0774 FDD0              rcall _pushmotor2
 0776                   .dbline 113
 0776 00ED              ldi R16,2000
 0778 17E0              ldi R17,7
 077A 67D1              rcall _delay_ms
 077C                   .dbline 114
 077C 03E7              ldi R16,115
 077E 10E0              ldi R17,0
 0780 F7D0              rcall _pushmotor2
 0782                   .dbline 115
 0782                   .dbline 115
 0782 D2C0              rjmp L54
 0784           L64:
 0784                   .dbline 117
 0784                   .dbline 118
 0784 07E6              ldi R16,103
 0786 10E0              ldi R17,0
 0788 13D1              rcall _pushmotor1
 078A                   .dbline 119
 078A 0CED              ldi R16,1500
 078C 15E0              ldi R17,5
 078E 5DD1              rcall _delay_ms
 0790                   .dbline 120
 0790 03E7              ldi R16,115
 0792 10E0              ldi R17,0
 0794 0DD1              rcall _pushmotor1
 0796                   .dbline 122
 0796                   .dbline 122
 0796 C8C0              rjmp L54
 0798           L65:
 0798                   .dbline 126
 0798                   .dbline 127
 0798 33DC              rcall _L_PIDInit
 079A                   .dbline 128
 079A 2224              clr R2
 079C 22BE              out 0x32,R2
 079E                   .dbline 129
 079E                   .dbline 130
 079E 20920000          sts _num_H,R2
 07A2 3324              clr R3
 07A4 30920200          sts _Num_Speed+1,R3
 07A8 20920100          sts _Num_Speed,R2
 07AC                   .dbline 132
 07AC                   .dbline 132
 07AC BDC0              rjmp L54
 07AE           L66:
 07AE                   .dbline 134
 07AE                   .dbline 135
 07AE 2224              clr R2
 07B0 25BC              out 0x25,R2
 07B2                   .dbline 136
 07B2                   .dbline 138
 07B2 8FEF              ldi R24,255
 07B4 80930300          sts _PID_choice,R24
 07B8 C0D2              rcall _free_stop
 07BA                   .dbline 139
 07BA                   .dbline 139
 07BA B6C0              rjmp L54
 07BC           L67:
 07BC                   .dbline 141
 07BC                   .dbline 142
 07BC                   .dbline 143
 07BC                   .dbline 144
 07BC                   .dbline 145
 07BC                   .dbline 147
 07BC                   .dbline 148
 07BC A0900800          lds R10,_rev_buf+1
 07C0 BB24              clr R11
 07C2 BA2C              mov R11,R10
 07C4 AA24              clr R10
 07C6 20900900          lds R2,_rev_buf+2
 07CA 3324              clr R3
 07CC A20C              add R10,R2
 07CE B31C              adc R11,R3
 07D0 B0920100          sts _L_sPID+1,R11
 07D4 A0920000          sts _L_sPID,R10
 07D8 80E8              ldi R24,128
 07DA 80930300          sts _PID_choice,R24
 07DE 87E0              ldi R24,7
 07E0 85BD              out 0x25,R24
 07E2                   .dbline 149
 07E2                   .dbline 149
 07E2 A2C0              rjmp L54
 07E4           L70:
 07E4                   .dbline 151
 07E4                   .dbline 152
 07E4                   .dbline 153
 07E4                   .dbline 155
 07E4                   .dbline 156
 07E4                   .dbline 158
 07E4                   .dbline 159
 07E4                   .dbline 161
 07E4                   .dbline 163
 07E4 20900800          lds R2,_rev_buf+1
 07E8 3324              clr R3
 07EA 4424              clr R4
 07EC 5524              clr R5
 07EE FE01              movw R30,R28
 07F0 2082              std z+0,R2
 07F2 3182              std z+1,R3
 07F4 4282              std z+2,R4
 07F6 5382              std z+3,R5
 07F8 88E0              ldi R24,8
 07FA 90E0              ldi R25,0
 07FC FE01              movw R30,R28
 07FE 2080              ldd R2,z+0
 0800 3180              ldd R3,z+1
 0802 4280              ldd R4,z+2
 0804 5380              ldd R5,z+3
 0806 8A93              st -y,R24
 0808 8101              movw R16,R2
 080A 9201              movw R18,R4
 080C 00D0              rcall lsl32
 080E FE01              movw R30,R28
 0810 0083              std z+0,R16
 0812 1183              std z+1,R17
 0814 2283              std z+2,R18
 0816 3383              std z+3,R19
 0818 20900900          lds R2,_rev_buf+2
 081C 3324              clr R3
 081E 4424              clr R4
 0820 5524              clr R5
 0822 FE01              movw R30,R28
 0824 6080              ldd R6,z+0
 0826 7180              ldd R7,z+1
 0828 8280              ldd R8,z+2
 082A 9380              ldd R9,z+3
 082C 620C              add R6,R2
 082E 731C              adc R7,R3
 0830 841C              adc R8,R4
 0832 951C              adc R9,R5
 0834 FE01              movw R30,R28
 0836 6082              std z+0,R6
 0838 7182              std z+1,R7
 083A 8282              std z+2,R8
 083C 9382              std z+3,R9
 083E 88E0              ldi R24,8
 0840 90E0              ldi R25,0
 0842 FE01              movw R30,R28
 0844 2080              ldd R2,z+0
 0846 3180              ldd R3,z+1
 0848 4280              ldd R4,z+2
 084A 5380              ldd R5,z+3
 084C 8A93              st -y,R24
 084E 8101              movw R16,R2
 0850 9201              movw R18,R4
 0852 00D0              rcall lsl32
 0854 FE01              movw R30,R28
 0856 0083              std z+0,R16
 0858 1183              std z+1,R17
 085A 2283              std z+2,R18
 085C 3383              std z+3,R19
 085E 20900A00          lds R2,_rev_buf+3
 0862 3324              clr R3
 0864 4424              clr R4
 0866 5524              clr R5
 0868 FE01              movw R30,R28
 086A 6080              ldd R6,z+0
 086C 7180              ldd R7,z+1
 086E 8280              ldd R8,z+2
 0870 9380              ldd R9,z+3
 0872 620C              add R6,R2
 0874 731C              adc R7,R3
 0876 841C              adc R8,R4
 0878 951C              adc R9,R5
 087A FE01              movw R30,R28
 087C 6082              std z+0,R6
 087E 7182              std z+1,R7
 0880 8282              std z+2,R8
 0882 9382              std z+3,R9
 0884 88E0              ldi R24,8
 0886 90E0              ldi R25,0
 0888 FE01              movw R30,R28
 088A 2080              ldd R2,z+0
 088C 3180              ldd R3,z+1
 088E 4280              ldd R4,z+2
 0890 5380              ldd R5,z+3
 0892 8A93              st -y,R24
 0894 8101              movw R16,R2
 0896 9201              movw R18,R4
 0898 00D0              rcall lsl32
 089A FE01              movw R30,R28
 089C 0083              std z+0,R16
 089E 1183              std z+1,R17
 08A0 2283              std z+2,R18
 08A2 3383              std z+3,R19
 08A4 20900B00          lds R2,_rev_buf+4
 08A8 3324              clr R3
 08AA 4424              clr R4
 08AC 5524              clr R5
 08AE FE01              movw R30,R28
 08B0 6080              ldd R6,z+0
 08B2 7180              ldd R7,z+1
 08B4 8280              ldd R8,z+2
 08B6 9380              ldd R9,z+3
 08B8 620C              add R6,R2
 08BA 731C              adc R7,R3
 08BC 841C              adc R8,R4
 08BE 951C              adc R9,R5
 08C0 FE01              movw R30,R28
 08C2 6082              std z+0,R6
 08C4 7182              std z+1,R7
 08C6 8282              std z+2,R8
 08C8 9382              std z+3,R9
 08CA FE01              movw R30,R28
 08CC 2080              ldd R2,z+0
 08CE 3180              ldd R3,z+1
 08D0 4280              ldd R4,z+2
 08D2 5380              ldd R5,z+3
 08D4 30920500          sts _L_sPID+4+1,R3
 08D8 20920400          sts _L_sPID+4,R2
 08DC 50920700          sts _L_sPID+4+2+1,R5
 08E0 40920600          sts _L_sPID+4+2,R4
 08E4                   .dbline 169
 08E4           ;       switch( PID_choice )
 08E4           ;       {
 08E4           ;               case SPEED_SET :
 08E4           ;               { 
 08E4           ;                       temp_sint = v_PIDCalc ( &L_sPID);
 08E4                   .dbline 171
 08E4           ;                       break;
 08E4           ;               }
 08E4 80E9              ldi R24,144
 08E6 80930300          sts _PID_choice,R24
 08EA 87E0              ldi R24,7
 08EC 85BD              out 0x25,R24
 08EE                   .dbline 172
 08EE           ;               case DISTANCE_SET : 
 08EE                   .dbline 172
 08EE                   .dbline 173
 08EE           ;               {
 08EE                   .dbline 177
 08EE           ;                       temp_sint = s_PIDCalc( &L_sPID );
 08EE           ;                       break;
 08EE           ;               }
 08EE           ;       }
 08EE                   .dbline 178
 08EE           ;       //temp_sint = v_PIDCalc ( &L_sPID);
 08EE 1CC0              rjmp L54
 08F0           L53:
 08F0                   .dbline 180
 08F0           ;       Num_Speed = 0;
 08F0           ;       
 08F0                   .dbline 181
 08F0           ;       send_PWM( temp_sint );  //调节PWM的占空比       
 08F0 20901E00          lds R2,L46
 08F4 30901B00          lds R3,L43
 08F8 3214              cp R3,R2
 08FA 68F4              brsh L78
 08FC                   .dbline 182
 08FC           ;       
 08FC                   .dbline 183
 08FC           ; }
 08FC 80E0              ldi R24,<_send_buf
 08FE 90E0              ldi R25,>_send_buf
 0900 E32D              mov R30,R3
 0902 FF27              clr R31
 0904 E80F              add R30,R24
 0906 F91F              adc R31,R25
 0908 2080              ldd R2,z+0
 090A 2FB8              out 0xf,R2
 090C                   .dbline 184
 090C           ; 
 090C 832D              mov R24,R3
 090E 8F5F              subi R24,255    ; addi 1
 0910 80931B00          sts L43,R24
 0914                   .dbline 185
 0914           ; /*pwm脉宽调节*/
 0914 09C0              rjmp L79
 0916           L78:
 0916                   .dbline 187
 0916           ; void send_PWM(signed int num_pwm)
 0916           ; {
 0916                   .dbline 188
 0916           ;       if( num_pwm >= 0 )
 0916                   .dbline 189
 0916           ;               now_dir = GO_AHEAD;
 0916                   .dbline 190
 0916           ;       else
 0916                   .dbline 191
 0916           ;               now_dir = GO_BACK;
 0916 2224              clr R2
 0918 20921B00          sts L43,R2
 091C 20921C00          sts L44,R2
 0920 20921E00          sts L46,R2
 0924 20921D00          sts L45,R2
 0928                   .dbline 201
 0928           ;               
 0928           ;       if( now_dir == GO_AHEAD )       //判断正反转
 0928           ;       {                               
 0928           ;               //now_dir=GO_AHEAD,正向,       
 0928           ;               if(pre_dir != now_dir)  //pre_dir!=now_dir,换成正向,                                                           
 0928           ;               {       
 0928           ;                       PORTC |= 0x08;  //PC3->1,转向变为正             
 0928           ;                       pre_dir = now_dir;      //重载pre_dir   
 0928           ;               }
 0928           ;               
 0928           L79:
 0928    

⌨️ 快捷键说明

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