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

📄 ini2407.asm

📁 编码器DSP TMES320LF2407程序
💻 ASM
字号:
**2006 01 08 tianke  运动控制卡 
****************************************************************
;Module: 		2407 Initialization
; 
; 		Initialize the PLL, Watchdog and Wait state generator
;		 			Clear EV registers
***************************************************************
**初始化运动控制卡,定时器T1,设定周期,中断等
; Include header file:
            .include "X24x.h"
; Step 1: Global declaration:
            .global    INIT_2407
                        
  			.bss    GPR0,1   
  			; Digital I/O registers
OCRA		.set 7090h		; Output Control Reg A
OCRB		.set 7092h		; Output Control Reg B
OCRC 		.set 7094h	    ; Output Control reg c
OPCRA		.set 7090h		; Output Control Reg A
OPCRB		.set 7092h		; Output Control Reg B
OPCRC 		.set 7094h	    ; Output Control reg c
PADATDIR	.set 7098h		; I/O port A Data & Direction reg.
PBDATDIR	.set 709Ah		; I/O port B Data & Direction reg.
PCDATDIR	.set 709Ch		; I/O port C Data & Direction reg.
PDDATDIR	.set 709Eh		; I/O port D Data & Direction reg.
PEDATDIR	.set 7095h		; I/O port E Data & Direction reg.
PFDATDIR	.set 7096h		; I/O port F Data & Direc         
INIT_2407:

; Disable interrupts, Clear SXM, OVM and CNF bits       
            POINT_PG0
            SETC    INTM            ; Disable interrupts
            SPLK    #0h, IMR        ; Mask all Ints
            SPLK    #0FFh, IFR      ; Clear all Int Flags
            CLRC    SXM             ; Clear Sign Extension Mode
            CLRC    OVM             ; Reset Overflow Mode
            CLRC    CNF             ; Config Block B0 to Data mem.
				;B0区被配置为数据空间
	;		CALL	ini_2407_pll	

            POINT_B0                ; Variables data page
       

            POINT_PF1               ; Peripherals first data page
            SPLK    #4000h, SCSR

; Disable the watchdog timer
            POINT_PF1   
                         ; Peripherals first data page
            SPLK    #006Fh, WD_CNTL
            SPLK    #05555h, WD_KEY
            SPLK    #0AAAAh, WD_KEY
            SPLK    #006Fh, WD_CNTL
			
			lacc     #0c1h       
			sacl	 CKCR0 ;CKCR0 PLLCLK=CLKIN输入直接为
			lacc     #0B2h
			sacl	 CKCR1 ;ckcr1 输入10M,倍频3倍,到30M
		

; Enable EVA peripheral clocks
            SPLK    #4, 7018h	  	

; Clear All EV Registers
            ZAC
            POINT_EV                  ; EV data page
            SACL    GPTCON
            SACL    T1CNT
            SACL    T1CMP
            SACL    T1PER
            SACL    T1CON
            SACL    T2CNT
            SACL    T2CMP
            SACL    T2PER
            SACL    T2CON 
            SACL    COMCON
            SACL    ACTR  
            SACL    DBTCON 
            SACL    CMPR1
            SACL    CMPR2
            SACL    CMPR3   
            SACL    CAPCON
            SACL    CAPFIFO
            SACL    FIFO1
            SACL    FIFO2
            SACL    FIFO3 
            
         
                        
        	LDP		#DP_EV			;指向7400h~7480h区
		SPLK	#080H,EVIMRA		;使能T1PINT 中断
		SPLK	#0FFFFh,EVIFRA		;清EVA中断标志
		SPLK	#0,GPTCON
		SPLK	#927CH,T1PR			;使定时器每10ms产生一次中断
		SPLK	#0,T1CNT
		SPLK	#924Eh,T1CON		;TMODE=10 连续增计数模式,
	
			;TPS=001 预分频为4
		;TENABLE=1 定时器计数使能, TCLKS=00;内部时钟

		LDP		#0
		SPLK	#0ffH,IMR			;使能中断优先级INT2
		SPLK	#0FFFFh,IFR	
									;TECMPR=1 定时器1比较使能, SELT1PR=0 
		CALL	ini_io_port
		
		CLRC	INTM  				;开总中断            

	  	RET            		
	

					
ini_io_port:                   

;PORT A 
;编码器portA: A0---ADCCS  A1--ADCA0  A2 ADCR/C  A3--ADCCE
;A0到A3均配置为输出口
   
			ldp		#0e1h	  ; 方向配置DIR输入0 输出为1	
			lacc	#0h
			sacl	OCRA       ;配置为GPIO,没有复用功能
			lacc	#0FF0Fh     ;A0--A3为输出,均为输出
			sacl	PADATDIR  
	
;PORT B  
;全配置为输出      B0--ADCD8 B1--ADCD9 B2--ADCD10 B3--ADCD11 
			lacc	#0h
			sacl	OCRB       ;配置为GPIO,没有复用功能
			lacc	#3000h     ;IOPB5,IOPB4配置为输出,IOPB0-IOPB3为输入
			sacl	PBDATDIR   
	
;PORT C	
;PORT C   全部为输入口
;C0--ADCD0 C1--ADCD1  C2--ADCD2 C3--ADCD3 C4--ADCD4
;C5--ADCD5 C6--ADCD6  C7--ADCD7
			lacc	#0h
			sacl	OCRC       ;配置为GPIO,没有复用功能
			lacc	#0h     
			sacl	PCDATDIR   
			
	;PORT E   全部为输出口
			lacc	#0ff00h     
			sacl	PEDATDIR   	
	;PORT F   全部为输出口
			lacc	#0ff00h     
			sacl	PFDATDIR 	
			RET							
			

⌨️ 快捷键说明

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