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

📄 kaihuan.asm

📁 基于SVPWM的开环V/F控制程序。用tm320lf2407实现。
💻 ASM
📖 第 1 页 / 共 3 页
字号:
            CLRC    INTM
            LACC    T2CNT
            LDP     #PAGE_VAR
            BIT     FLAG0,13
            BCND    EVCINT1,NTC        ;IF SECOND CAPTURE, B EVCINT1
            SACL    WTIME0
            LDP     #DP_EV
            SPLK    #0000H,T3CNT          ;CLEAR T3CNT
            SPLK    #9870H,T3CON                  ;ENABLE T3
            LDP     #PAGE_VAR
            B       EVCINTZ
EVCINT1:
            SUB     WTIME0
            SACL    WTIME
            LDP     #DP_EV
            BIT     GPTCON,0
            SPLK    #9830H,T3CON                  ;UNENABLE T3
            BCND    EVCINT4,TC                   ;IF INCREASE COUNT, B EVCINT4
            LDP     #PAGE_VAR
            LACL    FLAG0
            AND     #0FFF7H                        ;CLEAR FLAG.4=0,DECREASE COUNT FLAG
            SACL    FLAG0                            
            B       EVCINT5
EVCINT4:
            LDP     #PAGE_VAR
            LACL    FLAG0
            OR      #0008H                         ;SET FLAG.4=1,DECREASE COUNT FLAG                       
            SACL    FLAG0
EVCINT5:            
            LDP     #DP_EV
            LACC    T3CNT
            LDP     #PAGE_VAR
            ABS	    
            SACL    WPULSE
            LT      WPULSE
            SPLK    #MK,MK1                     ;M/T METHOD'S COEFFICIENT
            MPYU    MK1                          		
            PAC     
            RPT     #15
            SUBC    WTIME
            BIT     FLAG0,12
            BCND    EVCINT6,TC
            NEG
EVCINT6:
            MAR     *,AR6
            SACL    *+
            LAR     AR0,#WR_R7                   ;SEND SPEED VALUE TO WR_R0 ~7
            CMPR    2
            BCND    EVCINTZ,NTC
            LAR     AR6,#WR_R0
EVCINTZ:
            SETC    INTM
            MAR     *,AR7
            LACL    *+
            LACL    *+
            LT      *+
            MPY     #1
            LPH     *
            SACL    *
            LT      *+
            LACL    *+
            LDP     #DP_0
            SACL    IMR	
            LAR     AR0,*+
            LACL    *+
			ADDH  *+
            LST     #ST0,*+
            LST     #ST1,*
            CLRC    INTM
            RET
EVBINT:
            MAR     *,AR7
            SST     #ST1,*-
            SST     #ST0,*-
            SACH    *-
            SACL    *-
            SAR     AR0,*-
            SAR     AR1,*-
            LDP     #DP_0
            LACC    IMR
            SACL    *-
            SPH     *-
            SPL     *-
            MPY     #1
            SPL     *-
            SPLK    #02H,IMR
            CLRC    INTM
            LDP     #DP_EV
            LAR     AR0,EVIVRB
            LACL    EVIVRC
            LDP     #DP_0
            SPLK    #08H,IFR
            LDP     #DP_EV
            LACL    EVIMRC
            OR      #0004H                               ;OPEN  CAPTURE
            SACL    EVIMRC
            MAR     *,AR1
            LAR     AR1,#002BH
            CMPR    0                                            
            BCND    T2PINT,TC             ;IF PERIOD INTERRUPT,B T2PINT
            LAR     AR1,#002CH
            CMPR    0
            BCND    T2CINT,TC              ;IF COMPARE INTERRUPT,B T2CINT
            B       EVBINTZ
T2PINT:
            LDP     #DP_EV
            LACL    EVIMRB
            OR      #0002H                          ;OPEN COMPARE
            SACL    EVIMRB
            LACL    T2CON
            OR      #0002H                            ;ENABLE COMPARE
            SACL    T2CON
            LDP     #PAGE_VAR
            LACC    FLAG0
            OR      #04H                         ;SET FLAG.2=1, FIRST CAPTURE
            SACL    FLAG0
            B       EVBINTZ
T2CINT:
            LDP     #DP_EV
            LDP     #PAGE_VAR
            LACL    FLAG0
            AND     #0FFFBH              ;CLEAR FLAG.2=0,SECOND CAPTIRE
            OR      #8000H
            SACL    FLAG0
EVBINTZ:
            SETC    INTM
            MAR     *,AR7
            LACL    *+
            LACL    *+
            LT      *+
            MPY     #1
            LPH     *
            SACL    *
            LT      *+
            LACL    *+
            LDP     #DP_0
            SACL    IMR	
            LAR     AR1,*+
            LAR     AR0,*+
            LACL    *+
			ADDH  *+
            LST     #ST0,*+
            LST     #ST1,*
            CLRC    INTM
            RET
EVAINT:
            MAR     *,AR7
            SST     #ST1,*-
            SST     #ST0,*-
            SACH    *-
            SACL    *-
            SAR     AR0,*-
            SAR     AR1,*-
            SPH     *-
            SPL     *-
            MPY     #1
            SPL     *-
            LDP     #DP_EV
            LACC    EVIVRA,1
            AND     #01FH
            ADD     #ADRESS_EVA
            BACC
ADRESS_EVA:
            B       PDPINT
            B       EVAINTZ
            B       EVAINTZ
            B       EVAINTZ
            B       EVAINTZ
            B       EVAINTZ
            B       EVAINTZ
            B       EVAINTZ
            B       EVAINTZ
            B       PWMINT
            B       EVAINTZ
EVAINTZ:
            MAR     *,AR7
            LACL    *+
            LACL    *+
            LT      *+
            MPY     #1
            LPH     *
            SACL    *
            LT      *+
            LAR     AR1,*+
            LAR     AR0,*+
            LACL    *+
			ADDH  	*+
            LST     #ST0,*+
            LST     #ST1,*
            CLRC    INTM
            RET
;-------------------- ERROR  PROTECT--------------------------            
PDPINT:     
            SPLK    #0FFFH, ACTR 	; CLOSE PWM1-6
            LDP     #DP_PF1
            SPLK    #0D0DH, PADATDIR       ;J1=J2=OFF 
            LDP     #PAGE_VAR
            SPLK    #8181H,  GPR0
            OUT     GPIR, LED1
            OUT     GPIR,LED1
            SPLK    #0FFFFH, GPIR
            OUT     GPIR, LED2
            OUT     GPIR,LED2
            LDP     #PAGE_VAR
            IN      SWITCH_ST,SWITCH
            LACC    SWITCH_ST
            AND     #0FF00H
            SACL    SWITCH_ST
            CALL    ERROUT          ;ERROR PROCESSING
            CALL    DISERR          ;DISPLAY THE NUMBER OF ERROR
ER:
            B       ER
;=============PWM  INT=============
PWMINT:     
            LDP     #PAGE_VAR
            IN      SWITCH_ST,SWITCH
            BIT     SWITCH_ST,9
            BCND    FRELP,TC
            LACC    THITA
            SUB     DELTA
            SACL    THITA
            LACC    THITA
            BCND    PWM1,GT
            ADD     #DEGREE360
            SACL    THITA
            B       PWM1
FRELP:
            LACC    THITA
            ADD     DELTA
            SACL    THITA
            MAR     *,AR1
            LAR     AR1,THITA
            LAR     AR0,#DEGREE360
            CMPR    1
            BCND    PWM1,TC
            SUB     #DEGREE360
            SACL    THITA
PWM1:

            LACC    UDQTHITA
            ADD     THITA
            SACL    USTHITA
            MAR     *,AR1
            LAR     AR1,USTHITA
            LAR     AR0,#DEGREE360
            CMPR    1
            BCND    PWM2,TC
            SUB     #DEGREE360
PWM2:
            SACH    SECTOR,7
            AND     #1FFH
            SACL    USTHITA
;*****************SEARCH SPACE VECTOR*****************
            LACC    SECTOR        
            ADD     #SVTAB         
            TBLR    SECTOR        
;*****************SEARCH SINL $ SINM*************************
            LACC    #DEGREE60
            SUB     USTHITA
            ADD     #SINTAB
            TBLR    SINL
            LACC    USTHITA
            ADD     #SINTAB
            TBLR    SINM
;***********SEARCH TL & TM********************
            LAR     AR0,#4095
            LACC    USG,12
            RPT     #15
            SUBC    ED
            SACL    MD
            MAR     *,AR1
            LAR     AR1,MD
            CMPR    2
            BCND    PWM3,NTC
            SPLK    #4095,MD
PWM3:
            LT      MD
            MPYU    SINL
            PAC
            SACH    TL
            MAR     *,AR0
            LAR     AR0,#CMPR1
            SACH    *
            MPYU    SINM
            PAC
            SACH    TM
            LACC    TM
            ADD     TL
            LAR     AR0,#CMPR2
            SACL    *
            LACC    SECTOR  
            LAR     AR0,#ACTR      
            SACL    *
;*******************************************???????????????
            LACC    TCON                
            ADD     #1
            SACL    TCON
            LACC    CNT
            ADD     #1
            SACL    CNT
;********************************************???????????????
            B       EVAINTZ
ADCOMINT:
            MAR     *,AR7
            SST     #ST1,*-
            SST     #ST0,*-
            SACH    *-
            SACL    *-
            SAR     AR0,*-
            SAR     AR1,*-
            
            SPH     *-
            SPL     *-
            MPY     #1
            SPL     *-
;*********************
            LDP     #DP_PF0
            LAR     AR1,SYSIVR
            LAR     AR0,#01H
            MAR     *,AR1
            CMPR    0
            BCND    INTRUPT1,TC
                    
            LAR     AR0,#04
            CMPR    0
            BCND    ADCINT,TC
            B	    ADCINTZ
            
;**********************************
INTRUPT1:
            
            LDP     #PAGE_VAR
            IN      PB_STATUS,PB
            LACL    PB_STATUS
            RPT     #3                             ;SHIFT RIGHT 4 BITS
            SFR
            AND     #00FFH
            SACL    FGD
            LAR	    AR0,FGD
            LAR	    AR1,#50H
            MAR	    *,AR1
            CMPR	1
            BCND	XIANFU,NTC
            SPLK	#50H,FGD
XIANFU:	
            B	    ADCINTZ

;****************************************
ADCINT:
            CLRC    SXM
            LDP     #DP_EV
            SPLK    #080H,EVIFRA
            LDP     #DP_PF0
            LACC    ADCFIFO1,12
            MAR     *,AR4
            SACH    *+
            LAR     AR0,#EDS7
            CMPR    2
            BCND    ADCINT5,NTC
            LAR     AR4,#EDS0
ADCINT5:
            SETC    SXM
            LDP     #PAGE_VAR
            LACC    #0
            LAR     AR1,#EDS0
            MAR     *,AR1
            RPT     #7
            ADD     *+
            SACL    EDS
;############
            LDP	    #DP_PF0
            LACC	ADCFIFO1,10
            LACC	ADCFIFO2
            LACC	ADCFIFO2
            SPLK    #0004H,ADCTRL2         ;CURRENT SAMPLE  SPRINGED BY T1PINT
            SPLK    #3A48H,ADCTRL1
;*********************
            LDP	    #PAGE_VAR
            LAR	    AR0,EDS
            LAR	    AR1,#6018H;#55F0H;(380)
            MAR	    *,AR1
            CMPR	1
            BCND	ADC,NTC
            LDP     #DP_PF1
            SPLK	#0D00H,PADATDIR
ADC:	
;*************************
            LDP	    #PAGE_VAR
            LAR	    AR0,EDS
            LAR	    AR1,#5014H
            MAR	    *,AR1
            CMPR	1
            BCND	ADC11,TC
            LDP	    #DP_PF1
            SPLK	#0D01H,PADATDIR
ADC11:
;*****************************

ADCINTZ:
            LDP     #PAGE_VAR
            SETC    SXM
            LACC    THITA
            SACL    OUT0
            OUT     OUT0,DAC0
            ;OUT    OUT1,DAC1
            ;OUT    OUT2,DAC2
            ;OUT    OUT3,DAC3
            OUT     OUT0,DACUPDT
            
            MAR     *,AR7
            LACL    *+
            LACL    *+
            LT      *+
            MPY     #1
            LPH     *
            SACL    *
            LT      *+
            LAR     AR1,*+
            LAR     AR0,*+
            LACL    *+
            ADDH    *+
            LST     #ST0,*+
            LST     #ST1,*
            CLRC    INTM
            RET
     .INCLUDE SVPWMTAB.ASM
.END

⌨️ 快捷键说明

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