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

📄 step_seq.asm

📁 mega48 microsteeeper基于mega48 步进马达细分程序
💻 ASM
字号:
; *************************************************************************
;
;    Filename: step_seq.asm
;
;    Date: 07/22/05
;
;    Author: Aaron Garber 
; 
; *************************************************************************
;
;   License: 
;   
;   This software can be used and modified for personal or non-commercial use only. 
;   
;   Please contact avr.stmd@gmail.com if you wish to use this code
;   for any commercial purpose usage of this software.
;
;   Please contact avr.stmd@gmail.com with any bug fixes or functional improvements.
;                                                                       
;   Use this code at your own risk as there is no guarantee that it will work for you.
;
; *************************************************************************.cseg

.org 0x700     ; stick the tables near the end of memory

; ***** Stepping Sequence Lookup Tables **********************************
; format:   db b'xy'        where 'x' is the direction pin of the B driver chip.
;                           where 'y' is the direction pin on the A driver chip.
;           db b'xxxxyyyyy' where the most significant nibble 'xxxx' are the pins of the B Driver (M4-M3-M2-M1) chip.
;                           where the least significant nibble 'yyyy' are the pins of the A Driver (M4-M3-M2-M1) chip.
;           

; *************************************************************************

; Stepping Sequence for Full Step Drive (1 Phase On Wave Drive)
; 90 degrees electrical per full step

seq_full_wave:              ; 4 entries in table
    .db 0b11, 0b00001111    ;   0 degrees
    .db 0b10, 0b11110000    ;  90 degrees
    .db 0b00, 0b00001111    ; 180 degrees
    .db 0b01, 0b11110000    ; 270 degrees

; *************************************************************************    

; Stepping Sequence for Full Step Drive (Both Phases On)
; 90 degrees electrical per full step

seq_full_both:              ; 4 entries in table
    .db 0b11, 0b11111111    ;   0 degrees
    .db 0b10, 0b11111111    ;  90 degrees
    .db 0b00, 0b11111111    ; 180 degrees
    .db 0b01, 0b11111111    ; 270 degrees

; *************************************************************************

; Stepping Sequence for Half Step Drive with Torque Compensation											
; 90 degrees electrical per full step / 2 microsteps per full step = 45.0 degrees electrical per microstep											

seq_half:                   ; 8 entries in table
    .db 0b11, 0b00001111    ;   0 degrees
    .db 0b11, 0b10111011    ;  45 degrees
    .db 0b10, 0b11110000    ;  90 degrees
    .db 0b10, 0b10111011    ; 135 degrees
    .db 0b00, 0b00001111    ; 180 degrees
    .db 0b00, 0b10111011    ; 225 degrees
    .db 0b01, 0b11110000    ; 270 degrees
    .db 0b01, 0b10111011    ; 315 degrees

; *************************************************************************

; Stepping Sequence for Quarter Step Drive with Torque Compensation											
; 90 degrees electrical per full step / 4 microsteps per full step = 22.5 degrees electrical per microstep											

seq_quarter:                ; 16 entries in table
    .db 0b11, 0b00001111    ;   0.0 degrees
    .db 0b11, 0b01101110    ;  22.5 degrees
    .db 0b11, 0b10111011    ;  45.0 degrees
    .db 0b11, 0b11100110    ;  67.5 degrees
    .db 0b10, 0b11110000    ;  90.0 degrees
    .db 0b10, 0b11100110    ; 112.5 degrees
    .db 0b10, 0b10111011    ; 135.0 degrees
    .db 0b10, 0b01101110    ; 157.5 degrees
    .db 0b00, 0b00001111    ; 180.0 degrees
    .db 0b00, 0b01101110    ; 202.5 degrees
    .db 0b00, 0b10111011    ; 225.0 degrees
    .db 0b00, 0b11100110    ; 247.5 degrees
    .db 0b01, 0b11110000    ; 270.0 degrees
    .db 0b01, 0b11100110    ; 292.5 degrees
    .db 0b01, 0b10111011    ; 315.0 degrees
    .db 0b01, 0b01101110    ; 337.5 degrees

; *************************************************************************
      
; Stepping Sequence for Sixth Step Drive with Torque Compensation											
; 90 degrees electrical per full step / 6 microsteps per full step = 15 degrees electrical per microstep											

seq_sixth:                  ; 24 entries in table
    .db 0b11, 0b00001111    ;  0 degrees
    .db 0b11, 0b01001110    ; 15 degrees
    .db 0b11, 0b10001101    ; 30 degrees
    .db 0b11, 0b10111011    ; 45 degrees
    .db 0b11, 0b11011000    ; 60 degrees
    .db 0b11, 0b11100100    ; 75 degrees
    .db 0b10, 0b11110000    ; 90 degrees
    .db 0b10, 0b11100100    ; 105 degrees
    .db 0b10, 0b11011000    ; 120 degrees
    .db 0b10, 0b10111011    ; 135 degrees
    .db 0b10, 0b10001101    ; 150 degrees
    .db 0b10, 0b01001110    ; 165 degrees
    .db 0b00, 0b00001111    ; 180 degrees
    .db 0b00, 0b01001110    ; 195 degrees
    .db 0b00, 0b10001101    ; 210 degrees
    .db 0b00, 0b10111011    ; 225 degrees
    .db 0b00, 0b11011000    ; 240 degrees
    .db 0b00, 0b11100100    ; 255 degrees
    .db 0b01, 0b11110000    ; 270 degrees
    .db 0b01, 0b11100100    ; 285 degrees
    .db 0b01, 0b11011000    ; 300 degrees
    .db 0b01, 0b10111011    ; 315 degrees
    .db 0b01, 0b10001101    ; 330 degrees
    .db 0b01, 0b01001110    ; 345 degrees

; *************************************************************************

; Stepping Sequence for Eighth Step Drive with Torque Compensation											
; 90 degrees electrical per full step / 8 microsteps per full step = 11.25 degrees electrical per microstep											

seq_eighth:                 ; 32 entries in table
    .db 0b11, 0b00001111    ;   0.00 degrees
    .db 0b11, 0b00111111    ;  11.25 degrees
    .db 0b11, 0b01101110    ;  22.50 degrees
    .db 0b11, 0b10001100    ;  33.75 degrees
    .db 0b11, 0b10111011    ;  45.00 degrees
    .db 0b11, 0b11001000    ;  56.25 degrees
    .db 0b11, 0b11100110    ;  67.50 degrees
    .db 0b11, 0b11110011    ;  78.75 degrees
    .db 0b10, 0b11110000    ;  90.00 degrees
    .db 0b10, 0b11110011    ; 101.25 degrees
    .db 0b10, 0b11100110    ; 112.50 degrees
    .db 0b10, 0b11001000    ; 123.75 degrees
    .db 0b10, 0b10111011    ; 135.00 degrees
    .db 0b10, 0b10001100    ; 146.25 degrees
    .db 0b10, 0b01101110    ; 157.50 degrees
    .db 0b10, 0b00111111    ; 168.75 degrees
    .db 0b00, 0b00001111    ; 180.00 degrees
    .db 0b00, 0b00111111    ; 191.25 degrees
    .db 0b00, 0b01101110    ; 202.50 degrees
    .db 0b00, 0b10001100    ; 213.75 degrees
    .db 0b00, 0b10111011    ; 225.00 degrees
    .db 0b00, 0b11001000    ; 236.25 degrees
    .db 0b00, 0b11100110    ; 247.50 degrees
    .db 0b00, 0b11110011    ; 258.75 degrees
    .db 0b01, 0b11110000    ; 270.00 degrees
    .db 0b01, 0b11110011    ; 281.25 degrees
    .db 0b01, 0b11100110    ; 292.50 degrees
    .db 0b01, 0b11001000    ; 303.75 degrees
    .db 0b01, 0b10111011    ; 315.00 degrees
    .db 0b01, 0b10001100    ; 326.25 degrees
    .db 0b01, 0b01101110    ; 337.50 degrees
    .db 0b01, 0b00111111    ; 348.75 degrees

; *************************************************************************

; Stepping Sequence for Tenth Step Drive with Torque Compensation											
; 90 degrees electrical per full step / 10 microsteps per full step = 9.0 degrees electrical per microstep											

seq_tenth:                  ; 40 entries in table
    .db 0b11, 0b00001111    ;  0 degrees
    .db 0b11, 0b00101111    ;  9 degrees
    .db 0b11, 0b01011110    ;  18 degrees
    .db 0b11, 0b01111101    ;  27 degrees
    .db 0b11, 0b10011100    ;  36 degrees
    .db 0b11, 0b10111011    ;  45 degrees
    .db 0b11, 0b11001001    ;  54 degrees
    .db 0b11, 0b11010111    ;  63 degrees
    .db 0b11, 0b11100101    ;  72 degrees
    .db 0b11, 0b11110010    ;  81 degrees
    .db 0b10, 0b11110000    ;  90 degrees
    .db 0b10, 0b11110010    ;  99 degrees
    .db 0b10, 0b11100101    ; 108 degrees
    .db 0b10, 0b11010111    ; 117 degrees
    .db 0b10, 0b11001001    ; 126 degrees
    .db 0b10, 0b10111011    ; 135 degrees
    .db 0b10, 0b10011100    ; 144 degrees
    .db 0b10, 0b01111101    ; 153 degrees
    .db 0b10, 0b01011110    ; 162 degrees
    .db 0b10, 0b00101111    ; 171 degrees
    .db 0b00, 0b00001111    ; 180 degrees
    .db 0b00, 0b00101111    ; 189 degrees
    .db 0b00, 0b01011110    ; 198 degrees
    .db 0b00, 0b01111101    ; 207 degrees
    .db 0b00, 0b10011100    ; 216 degrees
    .db 0b00, 0b10111011    ; 225 degrees
    .db 0b00, 0b11001001    ; 234 degrees
    .db 0b00, 0b11010111    ; 243 degrees
    .db 0b00, 0b11100101    ; 252 degrees
    .db 0b00, 0b11110010    ; 261 degrees
    .db 0b01, 0b11110000    ; 270 degrees
    .db 0b01, 0b11110010    ; 279 degrees
    .db 0b01, 0b11100101    ; 288 degrees
    .db 0b01, 0b11010111    ; 297 degrees
    .db 0b01, 0b11001001    ; 306 degrees
    .db 0b01, 0b10111011    ; 315 degrees
    .db 0b01, 0b10011100    ; 324 degrees
    .db 0b01, 0b01111101    ; 333 degrees
    .db 0b01, 0b01011110    ; 342 degrees
    .db 0b01, 0b00101111    ; 351 degrees

; *************************************************************************

; Steppig Sequence for Twelfth Step Drive with Torque Compensation											
; 90 degress electrical per full step / 12 microsteps per full step = 7.5 degrees electricer m palicrostep	

seq_twelfth:                ; 48 entries in table
    .db 0b11, 0b00001111    ;   0.0 degrees
    .db 0b11, 0b00101111    ;   7.5 degrees
    .db 0b11, 0b01001110    ;  15.0 degrees
    .db 0b11, 0b01101110    ;  22.5 degrees
    .db 0b11, 0b10001101    ;  30.0 degrees
    .db 0b11, 0b10011100    ;  37.5 degrees
    .db 0b11, 0b10111011    ;  45.0 degrees
    .db 0b11, 0b11001001    ;  52.5 degrees
    .db 0b11, 0b11011000    ;  60.0 degrees
    .db 0b11, 0b11100110    ;  67.5 degrees
    .db 0b11, 0b11100100    ;  75.0 degrees
    .db 0b11, 0b11110010    ;  82.5 degrees
    .db 0b10, 0b11110000    ;  90.0 degrees
    .db 0b10, 0b11110010    ;  97.5 degrees
    .db 0b10, 0b11100100    ; 105.0 degrees
    .db 0b10, 0b11100110    ; 112.5 degrees
    .db 0b10, 0b11011000    ; 120.0 degrees
    .db 0b10, 0b11001001    ; 127.5 degrees
    .db 0b10, 0b10111011    ; 135.0 degrees
    .db 0b10, 0b10011100    ; 142.5 degrees
    .db 0b10, 0b10001101    ; 150.0 degrees
    .db 0b10, 0b01101110    ; 157.5 degrees
    .db 0b10, 0b01001110    ; 165.0 degrees
    .db 0b10, 0b00101111    ; 172.5 degrees
    .db 0b00, 0b00001111    ; 180.0 degrees
    .db 0b00, 0b00101111    ; 187.5 degrees
    .db 0b00, 0b01001110    ; 195.0 degrees
    .db 0b00, 0b01101110    ; 202.5 degrees
    .db 0b00, 0b10001101    ; 210.0 degrees
    .db 0b00, 0b10011100    ; 217.5 degrees
    .db 0b00, 0b10111011    ; 225.0 degrees
    .db 0b00, 0b11001001    ; 232.5 degrees
    .db 0b00, 0b11011000    ; 240.0 degrees
    .db 0b00, 0b11100110    ; 247.5 degrees
    .db 0b00, 0b11100100    ; 255.0 degrees
    .db 0b00, 0b11110010    ; 262.5 degrees
    .db 0b01, 0b11110000    ; 270.0 degrees
    .db 0b01, 0b11110010    ; 277.5 degrees
    .db 0b01, 0b11100100    ; 285.0 degrees
    .db 0b01, 0b11100110    ; 292.5 degrees
    .db 0b01, 0b11011000    ; 300.0 degrees
    .db 0b01, 0b11001001    ; 307.5 degrees
    .db 0b01, 0b10111011    ; 315.0 degrees
    .db 0b01, 0b10011100    ; 322.5 degrees
    .db 0b01, 0b10001101    ; 330.0 degrees
    .db 0b01, 0b01101110    ; 337.5 degrees
    .db 0b01, 0b01001110    ; 345.0 degrees
    .db 0b01, 0b00101111    ; 352.5 degrees

; *************************************************************************

; Stepping Sequence for Sixteenth Step Drive with Torque Compensation											
; 90 degrees electrical per full step / 16 microsteps per full step = 5.625 degrees electrical per microstep											

seq_sixteenth:              ; 64 entries in table
    .db 0b11, 0b00001111    ;   0.000 degrees
    .db 0b11, 0b00011111    ;   5.625 degrees
    .db 0b11, 0b00111111    ;  11.250 degrees
    .db 0b11, 0b01001110    ;  16.875 degrees
    .db 0b11, 0b01101110    ;  22.500 degrees
    .db 0b11, 0b01111101    ;  28.125 degrees
    .db 0b11, 0b10001100    ;  33.750 degrees
    .db 0b11, 0b10101100    ;  39.375 degrees
    .db 0b11, 0b10111011    ;  45.000 degrees
    .db 0b11, 0b11001010    ;  50.625 degrees
    .db 0b11, 0b11001000    ;  56.250 degrees
    .db 0b11, 0b11010111    ;  61.875 degrees
    .db 0b11, 0b11100110    ;  67.500 degrees
    .db 0b11, 0b11100100    ;  73.125 degrees
    .db 0b11, 0b11110011    ;  78.750 degrees
    .db 0b11, 0b11110001    ;  84.375 degrees
    .db 0b10, 0b11110000    ;  90.000 degrees
    .db 0b10, 0b11110001    ;  95.625 degrees
    .db 0b10, 0b11110011    ; 101.250 degrees
    .db 0b10, 0b11100100    ; 106.875 degrees
    .db 0b10, 0b11100110    ; 112.500 degrees
    .db 0b10, 0b11010111    ; 118.125 degrees
    .db 0b10, 0b11001000    ; 123.750 degrees
    .db 0b10, 0b11001010    ; 129.375 degrees
    .db 0b10, 0b10111011    ; 135.000 degrees
    .db 0b10, 0b10101100    ; 140.625 degrees
    .db 0b10, 0b10001100    ; 146.250 degrees
    .db 0b10, 0b01111101    ; 151.875 degrees
    .db 0b10, 0b01101110    ; 157.500 degrees
    .db 0b10, 0b01001110    ; 163.125 degrees
    .db 0b10, 0b00111111    ; 168.750 degrees
    .db 0b10, 0b00011111    ; 174.375 degrees
    .db 0b00, 0b00001111    ; 180.000 degrees
    .db 0b00, 0b00011111    ; 185.625 degrees
    .db 0b00, 0b00111111    ; 191.250 degrees
    .db 0b00, 0b01001110    ; 196.875 degrees
    .db 0b00, 0b01101110    ; 202.500 degrees
    .db 0b00, 0b01111101    ; 208.125 degrees
    .db 0b00, 0b10001100    ; 213.750 degrees
    .db 0b00, 0b10101100    ; 219.375 degrees
    .db 0b00, 0b10111011    ; 225.000 degrees
    .db 0b00, 0b11001010    ; 230.625 degrees
    .db 0b00, 0b11001000    ; 236.250 degrees
    .db 0b00, 0b11010111    ; 241.875 degrees
    .db 0b00, 0b11100110    ; 247.500 degrees
    .db 0b00, 0b11100100    ; 253.125 degrees
    .db 0b00, 0b11110011    ; 258.750 degrees
    .db 0b00, 0b11110001    ; 264.375 degrees
    .db 0b01, 0b11110000    ; 270.000 degrees
    .db 0b01, 0b11110001    ; 275.625 degrees
    .db 0b01, 0b11110011    ; 281.250 degrees
    .db 0b01, 0b11100100    ; 286.875 degrees
    .db 0b01, 0b11100110    ; 292.500 degrees
    .db 0b01, 0b11010111    ; 298.125 degrees
    .db 0b01, 0b11001000    ; 303.750 degrees
    .db 0b01, 0b11001010    ; 309.375 degrees
    .db 0b01, 0b10111011    ; 315.000 degrees
    .db 0b01, 0b10101100    ; 320.625 degrees
    .db 0b01, 0b10001100    ; 326.250 degrees
    .db 0b01, 0b01111101    ; 331.875 degrees
    .db 0b01, 0b01101110    ; 337.500 degrees
    .db 0b01, 0b01001110    ; 343.125 degrees
    .db 0b01, 0b00111111    ; 348.750 degrees
    .db 0b01, 0b00011111    ; 354.375 degrees

; *************************************************************************

⌨️ 快捷键说明

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