📄 snsles2431.lst
字号:
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 + -