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

📄 snsles2431.lst

📁 汇编语言开发的BLDC驱动程序。 基于PIC18F1330单片机。
💻 LST
📖 第 1 页 / 共 5 页
字号:
MPASM  5.15                    SNSLES2431.ASM   2-22-2008  14:34:38         PAGE 17


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                      00655    ; movlw   0x18
                      00656   ;  movwf   HIGH_OL_SPEEDL
                      00657    ; movff   HIGH_OL_SPEEDH,  TMR1H             
                      00658    ; movff   HIGH_OL_SPEEDL,  TMR1L
                      00659    ; call        SET_SEQUENCE_COUNT
                      00660    ; retfie  FAST       
                      00661   
                      00662     
0002DA ECF4 F000      00663     call        UPDATE_SEQUENCE
0002DE 92A3           00664         bcf             PIE3,IC1IE
0002E0 8206           00665     bsf         FLAGS_SRLS,SWITCH_SENSORLESS
0002E2 AA04           00666     btfss       FLAGS1,FWD_REV
0002E4 EF76 F001      00667     goto    REV
0002E8 EFAC F001      00668     goto    FWD
0002EC                00669 REV
0002EC 0E06           00670     movlw   0x06
0002EE 623D           00671     cpfseq  BEMF_ZC
0002F0 D006           00672     bra     Y1
0002F2 0E02           00673     movlw   b'00000010'
0002F4 6E6A           00674     movwf   OVDCONS
0002F6 0E04           00675     movlw   b'00000100'
0002F8 6E6B           00676         movwf   OVDCOND
0002FA EFE2 F001      00677     goto    Set_Time
0002FE                00678 Y1 
0002FE 0E05           00679     movlw   0x05
000300 623D           00680     cpfseq  BEMF_ZC
000302 D006           00681     bra     Y2
000304 0E08           00682     movlw   b'00001000'
000306 6E6A           00683     movwf   OVDCONS
000308 0E10           00684     movlw   b'00010000'
00030A 6E6B           00685         movwf   OVDCOND
00030C EFE2 F001      00686     goto    Set_Time
000310                00687 Y2
000310 0E04           00688     movlw   0x04
000312 623D           00689     cpfseq  BEMF_ZC
000314 D006           00690     bra     Y3
000316 0E02           00691     movlw   b'00000010'
000318 6E6A           00692     movwf   OVDCONS
00031A 0E10           00693     movlw   b'00010000'
00031C 6E6B           00694         movwf   OVDCOND
00031E EFE2 F001      00695     goto    Set_Time
000322                00696 Y3
000322 0E03           00697     movlw   0x03
000324 623D           00698     cpfseq  BEMF_ZC
000326 D006           00699     bra     Y4
000328 0E20           00700     movlw   b'00100000'
00032A 6E6A           00701     movwf   OVDCONS
00032C 0E01           00702     movlw   b'00000001'
00032E 6E6B           00703         movwf   OVDCOND
000330 EFE2 F001      00704     goto    Set_Time
000334                00705 Y4
000334 0E02           00706     movlw   0x02
000336 623D           00707     cpfseq  BEMF_ZC
MPASM  5.15                    SNSLES2431.ASM   2-22-2008  14:34:38         PAGE 18


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

000338 D006           00708     bra     Y5
00033A 0E20           00709     movlw   b'00100000'
00033C 6E6A           00710     movwf   OVDCONS
00033E 0E04           00711     movlw   b'00000100'
000340 6E6B           00712         movwf   OVDCOND
000342 EFE2 F001      00713     goto    Set_Time
000346                00714 Y5
000346 0E01           00715     movlw   0x01
000348 623D           00716     cpfseq  BEMF_ZC
00034A 0012           00717     return
00034C 0E08           00718     movlw   b'00001000'
00034E 6E6A           00719     movwf   OVDCONS
000350 0E01           00720     movlw   b'00000001'
000352 6E6B           00721         movwf   OVDCOND
000354 EFE2 F001      00722     goto    Set_Time
000358                00723 FWD 
000358 0E01           00724     movlw   0x01
00035A 623D           00725     cpfseq  BEMF_ZC
00035C D006           00726     bra     J1
00035E 0E20           00727     movlw   b'00100000'
000360 6E6A           00728     movwf   OVDCONS
000362 0E01           00729     movlw   b'00000001'
000364 6E6B           00730         movwf   OVDCOND
000366 EFE2 F001      00731     goto    Set_Time
00036A                00732 J1
00036A 0E02           00733     movlw   0x02
00036C 623D           00734     cpfseq  BEMF_ZC
00036E D006           00735     bra     J2
000370 0E02           00736     movlw   b'00000010'
000372 6E6A           00737     movwf   OVDCONS
000374 0E04           00738     movlw   b'00000100'
000376 6E6B           00739         movwf   OVDCOND
000378 EFE2 F001      00740     goto    Set_Time
00037C                00741 J2   
00037C 0E03           00742     movlw   0x03
00037E 623D           00743     cpfseq  BEMF_ZC
000380 D006           00744     bra     J3
000382 0E20           00745     movlw   b'00100000'
000384 6E6A           00746     movwf   OVDCONS
000386 0E04           00747     movlw   b'00000100'
000388 6E6B           00748         movwf   OVDCOND
00038A EFE2 F001      00749     goto    Set_Time 
00038E                00750 J3
00038E 0E04           00751     movlw   0x04
000390 623D           00752     cpfseq  BEMF_ZC
000392 D006           00753     bra     J4
000394 0E08           00754     movlw   b'00001000'
000396 6E6A           00755     movwf   OVDCONS
000398 0E10           00756     movlw   b'00010000'
00039A 6E6B           00757         movwf   OVDCOND
00039C EFE2 F001      00758     goto    Set_Time
0003A0                00759 J4
0003A0 0E05           00760     movlw   0x05
MPASM  5.15                    SNSLES2431.ASM   2-22-2008  14:34:38         PAGE 19


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0003A2 623D           00761     cpfseq  BEMF_ZC
0003A4 D006           00762     bra     J5
0003A6 0E08           00763     movlw   b'00001000'
0003A8 6E6A           00764     movwf   OVDCONS
0003AA 0E01           00765     movlw   b'00000001'
0003AC 6E6B           00766         movwf   OVDCOND
0003AE EFE2 F001      00767     goto    Set_Time
0003B2                00768 J5
0003B2 0E06           00769     movlw   0x06
0003B4 623D           00770     cpfseq  BEMF_ZC
0003B6 0011           00771     retfie      FAST
0003B8 0E02           00772     movlw   b'00000010'
0003BA 6E6A           00773     movwf   OVDCONS
0003BC 0E10           00774     movlw   b'00010000'
0003BE 6E6B           00775         movwf   OVDCOND
0003C0 EFE2 F001      00776     goto    Set_Time
0003C4                00777 Set_Time
                      00778    
0003C4 C00D FFCF      00779         movff   VELOCITY_READH,TMR1H
0003C8 C00E FFCE      00780         movff   VELOCITY_READL,TMR1L 
                      00781     ;movlw   0xe0
                      00782     ;movwf   TMR1H
                      00783     ;movlw   0x7e
                      00784     ;movwf   TMR1L 
                      00785 
0003CC                00786 BLOCK_IC_OVER
0003CC 82A3           00787         bsf             PIE3,IC1IE              ;Cap1 interrupt
0003CE 809D           00788         bsf             PIE1,TMR1IE
0003D0 0011           00789         retfie  FAST
                      00790 
                      00791 ;******************************************************************
0003D2                00792 ISR_LOW
                      00793 
0003D2 0010           00794         RETFIE                  
                      00795 
                      00796 ;******************************************************************
                      00797 ;Check overcurrent fault in this routine for 'n' number of PWM cycles in one Timer1 cycle,
                      00798 ;and if the fault persists, the input type is changed to catestrophic mode.
                      00799 ;
0003D4                00800 PWM_INTERRUPT
0003D4 98A4           00801         bcf             PIR3,PTIF
0003D6 0011           00802         retfie  FAST
0003D8 4A3E           00803         infsnz  LOCK_ROTOR_COUNT,F
0003DA 6A6B           00804         clrf    OVDCOND
                      00805 
0003DC                00806 CHECK_OTHER_FAULTS
0003DC 3E35           00807         incfsz  PWM_CYCLE_COUNT,F
0003DE D002           00808         bra             CHECK_FOR_FAULTS
0003E0 6A33           00809         clrf    FAULTA_COUNT
0003E2 D009           00810         bra             CHECK_PARAMETER_DISPLAY 
                      00811         
0003E4                00812 CHECK_FOR_FAULTS
0003E4 B282           00813         btfsc   PORTC,CURRENT_FAULT_INPUT
MPASM  5.15                    SNSLES2431.ASM   2-22-2008  14:34:38         PAGE 20


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0003E6 D007           00814         bra             CHECK_PARAMETER_DISPLAY 
0003E8 2A33           00815         incf    FAULTA_COUNT,F
0003EA 0E20           00816         movlw   MAX_FLTA_COUNT
0003EC 6433           00817         cpfsgt  FAULTA_COUNT
0003EE D003           00818         bra             CHECK_PARAMETER_DISPLAY 
0003F0 926C           00819         bcf             FLTCONFIG,FLTAMOD
0003F2 806C           00820         bsf             FLTCONFIG,FLTAEN
0003F4 8005           00821         bsf             FLT_FLAGS,OCUR
                      00822 ;----------------------------------Old code
0003F6                00823 CHECK_PARAMETER_DISPLAY
0003F6 0011           00824         retfie  FAST
0003F8 0E4E           00825         movlw   CYCLE_COUNT_MAXH
0003FA 6231           00826         cpfseq  CYCLE_COUNTH
0003FC D00A           00827         bra             NOT_YET_THERE
0003FE 0E20           00828         movlw   CYCLE_COUNT_MAXL
000400 6432           00829         cpfsgt  CYCLE_COUNTL
000402 D007           00830         bra             NOT_YET_THERE
000404 8403           00831         bsf             FLAGS,PARAM_DISPLAY
000406 6A31           00832         clrf    CYCLE_COUNTH
000408 6A32           00833         clrf    CYCLE_COUNTL
00040A B005           00834         btfsc   FLT_FLAGS,OCUR
00040C 7A82           00835         btg             LED1
00040E 98A4           00836         bcf             PIR3,PTIF
000410 0011           00837         retfie  FAST
000412                00838 NOT_YET_THERE
000412 3E32           00839         incfsz  CYCLE_COUNTL,F
000414 0011           00840         retfie  FAST
000416 2A31           00841         incf    CYCLE_COUNTH,F
000418 98A4           00842         bcf             PIR3,PTIF
00041A 0011           00843         retfie  FAST
                      00844 
                      00845 ;******************************************************************
                      00846 ;PWM duty cycle is updated according to the potentiometer level
00041C                00847 UPDATE_PWM
                      00848   
00041C 0E20           00849         movlw   0x20    ;Check lower limit for PWM
00041E 6401           00850         cpfsgt  SPEED_REFH      
000420 D011           00851         bra             SMALL   
000422 0EFA           00852         movlw   0xFA                            ;Check upper limit to the speed 
000424 6001           00853         cpfslt  SPEED_REFH      
000426 6E01           00854         movwf   SPEED_REFH
000428 EC3E F002      00855         call    CALCULATE_TIME_60DEG
                      00856     
                      00857 
                      00858 ;PWM = [(MotorVoltage/DCbus voltage)*(PTPER*4)]*[SpeedRef/255] *16
                      00859 ;16 is the multiplication factor
                      00860     
00042C 5001           00861         movf    SPEED_REFH,W    
00042E 0D4F           00862         mullw   (MAIN_PWM_CONSTANT)
000430 38F3           00863         swapf   PRODL,W
000432 0B

⌨️ 快捷键说明

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